IBrowsingContext now derives from IDisposable

BrowsingContext itself is disposable, thus this should be reflected in the abstraction as well.
Types of Changes
Prerequisites
Please make sure you can check the following two boxes:

[x] I have read the CONTRIBUTING document
[x] My code follows the code style of this project

Contribution Type
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue, please reference the issue id)
[ ] New feature (non-breaking change which adds functionality, make sure to open an associated issue first)
[x] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[x] All new and existing tests passed

Description
As discussed with @FlorianRappl in Skype, IBrowsingContext now derives from IDisposable. The implementing class BrowsingContext itself is disposable, and thus disposing of an instance should also be possible via the interface.

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

Hm something is odd. Did you clone from devel?
The IBrowsingContext implements IDisposable there.
https://github.com/AngleSharp/AngleSharp/blob/devel/src/AngleSharp/IBrowsingContext.cs
Unit test for contract fixing is appreciated!

No, I didn't clone from devel... Sorry I missed that. I think this PR is obsolete then.

No, I didn't clone from devel... Sorry I missed that. I think this PR is obsolete then.

No problem! Can you just update the branch? I would still love to get that test in for the future. Thanks! :beers:

I will do it this evening.


Add batch output dir name setting

See also https://github.com/googleapis/googleapis/pull/96

Current coverage is 80.06% (diff: 100%)

Merging #85 into master will not change coverage

@@             master        #85   diff @@
==========================================
  Files            36         36
  Lines          1179       1179
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            944        944
  Misses          235        235
  Partials          0          0

Powered by Codecov. Last update 0dac256...3b29182


How to get all article title?

Is there a way to get the entire title during a research? For example: I search "Biden's win" with Google News. The title of a result is "Alaska Sen. Dan Sullivan acknowledges President-elect Joe..." , and not "Alaska Sen. Dan Sullivan acknowledges President-elect Joe Biden’s win".

At current stage, Google is not showing full text on the search result, so it's not possible to get the full text unless you read all the link to complete it. But that is not a good idea.

At current stage, Google is not showing full text on the search result, so it's not possible to get the full text unless you read all the link to complete it. But that is not a good idea.

At current stage, Google is not showing full text on the search result, so it's not possible to get the full text unless you read all the link to complete it. But that is not a good idea.

At current stage, Google is not showing full text on the search result, so it's not possible to get the full text unless you read all the link to complete it. But that is not a good idea.

Thank you and happy new year
Il ven 1 gen 2021, 11:09 Hurin Hu<EMAIL_ADDRESS>ha scritto:

Closed #44 https://github.com/Iceloof/GoogleNews/issues/44.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Iceloof/GoogleNews/issues/44#event-4160839438, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASEYIOE2EWFH2ZKQ6FXZF3LSXWNOJANCNFSM4U6KDZBQ
.

Thank you and happy new year
Il ven 1 gen 2021, 11:09 Hurin Hu<EMAIL_ADDRESS>ha scritto:

Closed #44 https://github.com/Iceloof/GoogleNews/issues/44.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Iceloof/GoogleNews/issues/44#event-4160839438, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ASEYIOE2EWFH2ZKQ6FXZF3LSXWNOJANCNFSM4U6KDZBQ
.


[backport] New style ConvolutionND/DeconvolutionND

Backport of #4110

Is this backport necessary?
This PR includes small interface changing.  Is it possible to wait for the next major version upgrade?

@rezoo What do you think?

OK, I close this PR.


Antialiasing-induced seams when tiling

When drawing rectangles back to back filled with either a solid color or an image paint and enabled antialiasing, background sips through seams:
https://vimeo.com/273192938
I can avoid this behavior by either disabling antialiasing completely or by discarding fractional part of numbers passed to nvgTranslate. Is there any other way to avoid this issue?

This is common problem with the type of anti-aliasing NanoVG uses. Other programs suffer from it too i.e. http://www.inkscapeforum.com/viewtopic.php?t=13741. One solution is to expand the rectangles a bit, or use MSAA.

Understood, thank you! I guess, I would go for MSAA.


UI is completely broken in Firefox 66.0.2 for 2.1.5

The UI is totally garbled in the latest release for Firefox. Please see the attached screenshot.
This is on macOS 10.14.4.

The browser more or less hangs when I open the console, but I could spot an endless number of lines with this:
ERROR TypeError: "n.gqlSchema is null

Okay. I'm guessing your previous version was 2.1.4?

I guess so. The add-ons are automatically updated by Firefox, so I'm usually not really aware of which version of each extension I'm using (as long as they are working), but I was using the previous version before this happened.

Any chance you got the file along with the line number and column no? The only new change between the two versions involving gqlSchema is https://github.com/imolorhe/altair/compare/v2.1.4...v2.1.5#diff-a228932054c67ca1f10b86334c27fb0aR265 but I haven't been able to reproduce the issue. The line no:column no would help me narrow it down better.
Note: You can easily fix it now by clearing your local storage (which would clear all your open windows) but as this is the only instance of this issue right now, I would rather you didn't 😅

I have already downloaded the standalone version of Altair, so let's first fix this issue and then I can delete the local storage... 😀
This is the complete error:
ERROR TypeError: "n.gqlSchema is null" main.81280f8f66c4fddd066b.js:1:1100610

This is another potential reason for the error: https://github.com/imolorhe/altair/blob/82e9db794c071722181e6387dbb51db826d054a6/src/app/components/doc-viewer/doc-viewer/doc-viewer.component.html#L44

Unfortunately even the line number didn't help to find the exact error. I would add extra checks in the code as a measure to potentially fix this.

So I guess I can clean my local storage now and we'll wait for it to happen again when you have the extra checks put into place?

So I guess I can clean my local storage now and we'll wait for it to happen again when you have the extra checks put into place?

Just FYI just started my Ubuntu at work computer which now runs the latest version of Altair without any problems (also on the latest Firefox). The only difference (apart from my home machine being a Mac) is that I have not messed with the look and feel at this instance.

Yes you can. The issue is related to potentially corrupted data in the storage, so it wouldn't affect most instances neither would it affect new instances.

OK. Thanks for the help so far.

I'm seeing something similar in Chrome using the Chrome extension, FWIW. I'm using Altair 2.1.5 in Chrome 73.0.3683.86 on Mac, and I get the weird gibbrish I see below. I was able to use this a few days ago, so I wonder if somehow 2.1.5 created a bad state in certain circumstances? I'll hold off clearing local storage for right now in case this is useful to help debug.

With debug mode on, it tells me I was using 2.1.3 previously.

Is it possible that you have a specific schema from your graphQL server that makes Altair to break?

Certainly possible - but the same schema worked in the browser extension a few days ago, and also works in the stand alone desktop app, which makes me think that's unlikely. :-/

v2.1.6 has been published.


Incorrect port and scheme when server.insecure is true.

If server.insecure: "true" is set ( without setting server.port), the default port should be 8080, scheme and port for livenessProbe should also be updated.

Also the port and targetPort in numaflow-server Service object need to be updated.


[HOLD for payment 2024-03-13] [$500]  Workspace switcher - LHN does not show IOU report and details page under "workspace" filter

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4-37.3
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Create a new workspace
Invite a member to the workspace
With the newly created workspace as the selected workspace in workspace switcher (important), go to #announce room
Create a split bill
Click on the new 1:1 DM in LHN
Click on the preview in the main chat
Click on the preview in IOU report

Expected Result:
In Step 7 and 8, LHN will display the IOU report and IOU details page when these pages are open
Actual Result:
In Step 7 and 8, LHN does not display the IOU report and IOU details page when these pages are open
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/2c6c0c27-f0f6-4027-801a-b010ed60fb55
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c9531d328a61c517
Upwork Job ID:<PHONE_NUMBER>357303296
Last Price Increase: 2024-02-20
Automatic offers:

mollfpr | Reviewer | 0
tienifr | Contributor | 0

We think that this bug might be related to #vip-split-p2p-chat-groups

Proposal
Please re-state the problem that we are trying to solve in this issue.
Workspace switcher - LHN does not show IOU report and details page under "workspace" filter
What is the root cause of that problem?
We use getPolicyMembersByIdWithoutCurrentUser function to get policyMemberAccountIDs without the current user.
https://github.com/Expensify/App/blob/7f4cdce48d7246380da7bf860fa928bae89bfa89/src/pages/home/sidebar/SidebarLinksData.js#L137
When filtering the reports to display, we check if report.policyID is present, then return true if a single policy member is present in policyMemberAccountIDs.
https://github.com/Expensify/App/blob/7f4cdce48d7246380da7bf860fa928bae89bfa89/src/libs/SidebarUtils.ts#L176-L177
However, the policy members are an empty array because no other member is invited.
https://github.com/Expensify/App/blob/7f4cdce48d7246380da7bf860fa928bae89bfa89/src/libs/ReportUtils.ts#L898-L902
What changes do you think we should make in order to solve the problem?

In the doesReportBelongToWorkspace function, we can exempt particular reports, such as expense reports, from checking the hasParticipantInArray if report.policyID === policyID and the current user is in report.participantAccountIDs.
What alternative solutions did you explore? (Optional)
We also could check if the current user is in the array provided by the getParticipantsIDs function.

However, the policy members are an empty array because no other member is invited.

@Tony-MK I don't understand this. Could you elaborate a bit more?

Add the logic to always include the report that's being opened to the workspace filtering logic here as well.

This looks good, but I think we will have unexpected results. For example, while on the workspace switcher, we change the reportID with a chat that came from the other user not in the workspace. This will show that report from a user that is not in the workspace.

@tienifr I believe that will tag as a regression.

I think that's expected because that's the report being opened so it should be visible in LHN. When the user navigates away it will disappear from the filter.

https://github.com/Expensify/App/blob/58bdee3aaa57be3ec33716b0bd791e9f81bfb720/src/libs/ReportUtils.ts#L3791-L3796
The comment it's reasonable though. So I think it's make sense with your proposal @tienifr, but I need second though on this to make sure that's it's need sees as a regression.

Did you want to bring this to open-source in Slack to discuss more?

Reposting the discussion to the #expensify-open-source. I didn't get any eye on the c+ channel 🥲

@JmillsExpensify Could you chime into the thread? Thank you!

I think we can move forward with the solution here. IMO, it would make sense to highlight the currently viewed report in the workspace LHN.
So the proposal from @tienifr looks good to me!
🎀 👀 🎀 C+ reviewed!

Friendly bump @madmax330

[@mollfpr] The PR that introduced the bug has been identified. Link to the PR:

https://github.com/Expensify/App/pull/33280
https://github.com/Expensify/App/pull/33302
The issue is from the ideal nav wave where we implementing the policy switcher.

[@mollfpr] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

https://github.com/Expensify/App/pull/33302/files#r1524888218

[@mollfpr] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

The issue is from the ideal nav wave, so I don't think it's worth adding a checklist for now.

[@mollfpr] Determine if we should create a regression test for this bug.
[@mollfpr] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

I think we can update this test case https://expensify.testrail.io/index.php?/suites/view/7722&group_by=cases:section_id&group_order=asc&display_deleted_cases=0&group_id=296775 expected result.

Viewed IOU report and details page or currently viewed report

@JmillsExpensify Could you create the payment summary? Thank you!

Payment summary:

Contributor: @tienifr $500
Contributor+: @mollfpr $500

Released payment for Contributor in the meantime given that's a separate process.

Payment summary here looks good!


Fix NPE when startup fails and 'process' is null

This failure case results in emitting a TASK_ERROR status update at L155, so it looks like we should skip the TASK_RUNNING message entirely in this case? Alternate option could be to send the message, but with a different or unset value for the PID.

This repository is deprecated. Please use the latest supported framework here: https://github.com/mesosphere/dcos-cassandra-service, and provide feedback for us here: https://dcosjira.atlassian.net/browse/CASSANDRA.


serializers: marshmallow loader

Addresses https://github.com/inveniosoftware/cookiecutter-invenio-datamodel/issues/19
Depends on https://github.com/inveniosoftware/cookiecutter-invenio-datamodel/pull/27
Signed-off-by: Dinos Kousidis<EMAIL_ADDRESS>

That should not be closed :/ I did a bad force push


single select documentation and description

Proposed Changes

Potential Breaking Changes

Acceptance Criteria

[ ] The proposed changes are covered by unit tests
[ ] The potential breaking changes are clearly identified
[ ] README.md is adjusted to reflect the proposed changes (if relevant)

Codecov Report

Merging #1303 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1303      +/-   ##
==========================================
+ Coverage   99.42%   99.42%   +<.01%
==========================================
  Files         359      359
  Lines        9044     9066      +22
  Branches     2135     2149      +14
==========================================
+ Hits         8992     9014      +22
  Misses         52       52

Impacted Files
Coverage Δ

.../components/table-hoc/reducers/TableRowReducers.ts
100% <0%> (ø)
:arrow_up:

.../components/numericInput/NumericInputConnected.tsx
100% <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 6af03a3...555461f. Read the comment docs.

I'm having a problem with the name of this component. In all the design systems I've checked, it is called a dropdown.
Shouldn't single select be a prop of dropdown ?

I'm having a problem with the name of this component. In all the design systems I've checked, it is called a dropdown.
Shouldn't single select be a prop of dropdown ?

Yep, we will work on grouping them pretty soon.


cannot access to train_edge_root & train_edge_list

Hi. I am trying joint_main.py for training using spyder, but can't find train_edge_root & train_edge_list file. Thank you for your help.

Make sure that you have the train_edge_list file and the path is correct.
The train_edge_root param is the root folder where your edge images are stored.


HuggingFace embeddings fails

Describe the bug
The upload of documents to an index where HuggingFace embedders is enabled fails. When uploading the documents the server logs:
[2023-12-19T18:27:28Z INFO  hf_hub] Token file not found "/root/.cache/huggingface/token"

and the task fails with the following error message:
      "error": {
        "message": "internal: Error while generating embeddings: error: fetching file from HG_HUB failed: request error: https://huggingface.co/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2/resolve/617ca489d9e86b49b8167676d8220688b99db36e/config.json: status code 404.",
        "code": "internal",
        "type": "internal",
        "link": "https://docs.meilisearch.com/errors#internal"
      },

To Reproduce

docker run -it --rm -p 7700:7700 -v pwd:/meili_data getmeili/meilisearch:v1.6.0-rc.1
Enable vectorStore

curl \
-X PATCH 'http://localhost:7700/experimental-features/' \
-H 'Content-Type: application/json'  \
--data-binary '{"vectorStore": true}'

Create index with the embedder:

curl \
-X PATCH 'http://localhost:7700/indexes/products/settings' \
-H 'Content-Type: application/json' --data-binary \
'{ "embedders": { "default": { "source": { "huggingFace": { "model": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2" } }, "documentTemplate": { "template": "A product titled '{{doc.title}}'"} } } }'

Meilisearch version:
v1.6.0-rc.1

Hello 👋
Thank you for the report :heart:
I can confirm this is indeed a bug affecting v1.6.0-rc.1 😞
Currently you can workaround it by passing an explicit additional revision field to the huggingFace object:
 curl \
-X PATCH 'http://localhost:7700/indexes/products/settings' \
-H 'Content-Type: application/json' --data-binary \
'{
  "embedders": {
    "default": {
      "source": {
        "huggingFace": {
          "model": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2",
          "revision": "a9c555277f9bcf24f28fa5e092e665fc6f7c49cd"
        }
      },
      "documentTemplate": { "template": "A product titled '{{doc.title}}'"}
    }
  }
}'

I'm on it to fix it so this is not necessary anymore 👍

Fixed by #4272 and integrated into v1.6.0-rc.2 I will create in a few hours.

I'm still having this issue on v.1.6.2: Token file not found "/root/.cache/huggingface/token"
Are there some token declaration requirements?

Hello @anaibol :wave:
Thank you for your report, can you be more specific as to what you are prevented from doing?
The message you're reporting is a warning, and is expected if you didn't manually set a Hugging Face token in the described location.
A Hugging Face token is only required to download specific models from Hugging Face. In particular, the model Meilisearch uses by default doesn't require a token, so embedding should work even in presence of this warning.
So I have a few questions for clarification:

Can you share your embedder settings?
Are you seeing an issue with embedding, such as a failed indexing task in the task queue. If so, can you show the relevant part of the task queue?
Are you requesting a model that requires a token?
If so, did you try putting the token at the described location?


(kernel) declaration type mismatch

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Checked that your issue isn't already filed.
Reduced the issue to a self-contained, reproducible test case.

Steps to Reproduce
inductive Vector (α : Type u): Nat → Type u where
| nil : Vector α 0
| cons (head : α) (tail : Vector α n) : Vector α (n+1)

namespace Vector
  def insert (a: α): Fin (n+1) → Vector α n → Vector α (n+1)
  | ⟨0  , _⟩,        xs => cons a   xs
  | ⟨i+1, h⟩, cons x xs => cons x $ xs.insert a ⟨i, Nat.lt_of_succ_lt_succ h⟩

  theorem insert_at_0_eq_cons (a: α) (v: Vector α n):
    v.insert a ⟨0, Nat.zero_lt_succ n⟩ = cons a v := by
    simp only [insert]

  -- it works
  theorem insert_at_0_eq_cons₂ (a: α) (v: Vector α n):
    v.insert a ⟨0, Nat.zero_lt_succ n⟩ = cons a v := by
    unfold insert
    split
    . rfl
    . have := Fin.val_eq_of_eq ‹_›
      contradiction
end Vector

Expected behavior: insert_at_0_eq_cons provable by simp only[insert] or rfl
Actual behavior: get error at insert_at_0_eq_cons:
(kernel) declaration type mismatch, 'Vector.insert_at_0_eq_cons' has type
  ∀ {α : Type u_1} {n : Nat} (a : α) (v : Vector α n), cons a v = cons a v
but it is expected to have type
  ∀ {α : Type u_1} {n : Nat} (a : α) (v : Vector α n), insert a { val := 0, isLt := (_ : 0 < Nat.succ n) } v = cons a v

Reproduces how often: 100%
Versions
nightly-2022-03-29

This is a bug in the "smart unfolding" feature. We are trying to fix it.
In the meantime, the rw tactic is a good workaround since it does not rely on the buggy feature

inductive Vector (α : Type u): Nat → Type u where
| nil : Vector α 0
| cons (head : α) (tail : Vector α n) : Vector α (n+1)

namespace Vector
  def insert (a: α): Fin (n+1) → Vector α n → Vector α (n+1)
  | ⟨0  , _⟩,        xs => cons a   xs
  | ⟨i+1, h⟩, cons x xs => cons x $ xs.insert a ⟨i, Nat.lt_of_succ_lt_succ h⟩

  theorem insert_at_0_eq_cons1 (a: α) (v: Vector α n):  v.insert a ⟨0, Nat.zero_lt_succ n⟩ = cons a v :=
    rw [insert]


Single-clicking on a gradle task open the build.gradle file unintentionally

Extension Name: vscode-gradle
Extension Version: 3.4.5
OS Version: Windows 10
VSCode version: 1.49.2
I not sure if it was meant to work in that way. Whenever i single-click on a gradle task in the "Gradle Tasks" pane , the build.gradle file will keep opening, and as a result, I have to keep switching back to my source code or have to close the build.gradle.
I thought double-clicking on the gradle task to open the build.gradle would be sufficient. Single-click should not open the file, cos it is too easy for the developer to accidentally single click on any of the gradle task, and hence open the build.gradle unintentionally.

Thanks for report. It's intentional, but I agree it's not a good user experience. I have found myself in the same scenario. I will change it to use double-click and add maybe add this option to the context menu too.

I've released this change with 3.4.6. Can you try it out?

I've released this change with 3.4.6. Can you try it out? The changes are:

Only open build file on double click
Add context menu item to open build file
Thanks for the quick change. Tested both scenario, work successfully!


Parse Topics from json format to Java Object

-json format is
{
"name":"topic1",
"permission":"transition0",
"fire_callback":["transition1","transition2","transitionx"],
"set_guard_callback":["guard1","guard2","guard3"]
}

Jackson's databind's ObjectMapper is great for this


Mastodon database maintenance.

Do some vacuuming.

Restored a database dump on a local server and tried the vacuum full process with no results...
This is weird. I need to do more research.

There is always the case this is normal and just how Mastodon works.
I'll keep an eye on the db size and get back to this if need be.
Closing for now.


Horizontal positioning / Possible browser detection bugs

I'm using the button demo code and a bare bones Cordova project running on Android Emulator version 6.2.1 (also happens on my Galaxy S7).
When clicking the checkout button, a modal seems to be launched rather than a popup (as opposed to #393). Unfortunately the positioning of the iframe inside the div with class 'xcomponent-outlet' is off centre and even worse cannot be scrolled horizontally to view properly.
It can be fixed by setting display: flex; justify-content:center; on the div, but obviously this is not a viable solution. Being able to force popup mode (assuming it uses window.open) would be ideal as Cordova should be able to handle that perfectly well (Not sure why #393 is having problems).
I attach some screenshots to show the issue, the last two show some possibly useful info like window.innerWidth and the UA string, as well as a way to test whether the app is in a Cordova context (see post here http://damien.antipa.at/blog/2014/02/08/3-ways-to-detect-that-your-application-is-running-in-cordova-slash-phonegap/ ) The last image show the temporary CSS fix applied.

Here's the index.html used in the Cordova app:
<!DOCTYPE html>

        <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com 'unsafe-inline'; style-src * 'unsafe-inline'; media-src *; img-src * data: content:;">
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">

        <link rel="stylesheet" type="text/css" href="css/index.css">
        <title>Hello World</title>

Any help would be greatly appreciated, I had to move to using Checkout.js from a Classic implementation because that wouldn't work in Cordova (it was fine in normal browsers) for reasons I could not establish.

I should note that while testing using a browser on desktop (Chrome Version 59.0.3071.115 (Official Build) (64-bit)) occasionally I am shown the modal implementation rather than a popup. I'd say this happens about 1 in 10 times and at various widths.

EDIT2: A colleague has now reported that on IOS 10.3 iPhone 7 in Safari (not Cordova) they got a popup the first time they tried but it hung on the loading animation after they agreed to payment, then in subsequent tries they always get the modal implementation which doesn't hang but the modal is stretched full width when it appears it needs some kind of horizontal padding. See screenshot below:

Seems like there is something funky going on with browser/environment detection.

I just tried on my girlfriends iPhone 7, same setup as colleague. The same thing happened, first time popup opened and hung after agreeing payment. I manually closed the popup and went back to my site and the 'Payment Success' alert was showing, so it looks like it went through ok, but obviously it's terrible UX for the user and leaves them uncertain whether it's gone through or not. As before, subsequent tries now open in a modal, but this time the content overflows outside the screen, see screenshot below:

On further investigation, this seems to be related to the PayPal logged in status. Once the modals are showing, If I click the 'Not you?' button to log out, then refresh my site and start the payment process again, it starts from the beginning with a popup again.

For now we've actually disabled the iframe/lightbox flow for logged in users. Can you try once more with a logged in user after clearing your cache, and let me know if you see the problem?

Still seeing the same issues on demo page. Tried on Chrome and Opera on my S7 as well as Safari and Chrome on macOS.
There was also a hang at the end of popup flow on both mobile browsers even though the alert triggered ok. It was fine on desktop.
The popup content in Opera was shrunk to half size as well:
https://photos.app.goo.gl/FfWddEKgWj4fCtH92

Still I see the same issue on demo page. Any updates on the fix pls.

I must say I'm having an absolute nightmare with PayPal, every approach I've tried including classic, server side rest and this plugin have all had show-stopping problems on either web. mobile web or in Cordova :(

Hi @alexstanbury. Sorry you've had so many problems. We've been pretty flooded over here with some other pretty high priorities, so sorry for the delay in getting a chance to properly look into this. Let me take a chance to properly respond to all the info you've shared (incidentally thanks so much for providing so many details).

Being able to force popup mode (assuming it uses window.open) would be ideal as Cordova should be able to handle that perfectly well

Has it actually been disabled? I've tried the demo every day many times and it's still exhibiting the same behaviour.

I just checked the user-agent you shared, and it's being detected on our side as an android webview. Hence why it's being forced into iframe mode.
Are you sure Cordova can handle window.open on both Android and iOS? Things we need to consider:

Does it actually open a new window or redirect the current tab
Does window.postMessage work for these popup windows?
e
We don't officially support Cordova for checkout.js, so I haven't had any opportunity to properly test any of this, so right now I'm relying on reports from users. If it's simply a matter of forcing popup mode and it works across all devices, I'd be open to that though.

When clicking the checkout button, a modal seems to be launched rather than a popup (as opposed to #393). Unfortunately the positioning of the iframe inside the div with class 'xcomponent-outlet' is off centre and even worse cannot be scrolled horizontally to view properly.

I attach some screenshots to show the issue, the last two show some possibly useful info like window.innerWidth

The innerWidth shown is 360px, but the PayPal modal expects a minimum width of 450px. That explains why the modal is displaying off-center. Let me check on this -- there's likely to be a lot of UI in the modal which doesn't work at that smaller width.
Is it possible for you to try this experience on a larger device with Cordova and check if there are any issues there too?

On further investigation, this seems to be related to the PayPal logged in status. Once the popup flow has been completed and I've logged in - then subsequent modals are showing on further attempts - If I click the 'Not you?' button to log out, then refresh my site and start the payment process again, it starts from the beginning with a popup again.

You're correct with your analysis here. Per my last comment though -- forcing the iframe/modal for logged-in users is now disabled until we can resolve the issues there. It is still forced for webviews, though.

I am facing the same issue here, the modal is showing off center. Is there a way to use paypal um Server Side approach in Cordova ?

@bluepnume Thanks for the lengthy reply, I understand you are really busy over there so it's appreciated.

I just checked the user-agent you shared, and it's being detected on our side as an android webview. Hence why it's being forced into iframe mode.
Are you sure Cordova can handle window.open on both Android and iOS? Things we need to consider:
Does it actually open a new window or redirect the current tab
Does window.postMessage work for these popup windows?
We don't officially support Cordova for checkout.js, so I haven't had any opportunity to properly test any of this, so right now I'm relying on reports from users. If it's simply a matter of forcing popup mode and it works across all devices, I'd be open to that though.

I hadn't tested on iOS Cordova yet and have now realised the button doesn't even render in the base Cordova web view using iOS simulator, so looks like it's a non-starter for iOS from the get go.
I'm not sure on how the button stuff works but in Cordova you can install a couple of plugins - InAppBrowser and SafariViewController - these provide a way to open a browser from within your app that sits over the top of it, they also assign window.open to trigger their open methods instead. You can't use PostMessage to communicate between them, instead you have to take a kind of hacky approach by injecting/executing scripts in the opened browser ( see here ) and using custom url schemes to call back to your app ( see here ).
Actually, I don't think the window.open being called by checkout.js would be the same window.open that the main Cordova web view uses, as the button is in effect being loaded in it's own document, so again that's a non-starter all around if the nicer UX of using those two plugins is wanted.
Native window.open works on both Android and iOS, but will only work in a click handler on iOS.

The innerWidth shown is 360px, but the PayPal modal expects a minimum width of 450px. That explains why the modal is displaying off-center. Let me check on this -- there's likely to be a lot of UI in the modal which doesn't work at that smaller width.
I'll check if it's possible to lower this minimum width on our side.

As you can see from my screenshots above, the flexbox css I applied centred the modal content and it fits on the 360px screen fine, so hopefully it can be rectified by some simple css changes.

Is it possible for you to try this experience on a larger device with Cordova and check if there are any issues there too?

Sure, here's what it looks like on a Nexus 10 emulator:

You're correct with your analysis here. Per my last comment though -- forcing the iframe/modal for logged-in users is now disabled until we can resolve the issues there. It is still forced for webviews, though.

Maybe I misunderstood, but on desktop and mobile web browsers I'm still seeing the modal version appear on subsequent button clicks after the initial popup flow and login. If I do the popup flow, then refresh, I do get the popup flow again.

OK. Thanks again for all of the analysis. I'm going to keep this open as a feature request for now, as I think some further analysis is needed to see if the things checkout.js needs to do are even possible in Cordova in both platforms.

Still the center alignment issue is not resolved, tested on the mobile browser withthe following demo link: https://developer.paypal.com/demo/checkout/#/pattern/client .
Do we know the expected fix date, as the few merchants are not facing the issue and not able to go live.

@murugesans -- it looks like you're hitting the flow in Chrome and you're getting the lightbox/iframe right? Can you tell me how you're hitting the iframe experience? Does that happen the first time you click the button, or are you cancelling and then hitting the button again?

Closing this; if anything, this is better suited as a feature request for the native mobile sdk.


[BEAM-6252] SamzaRunner: Add a registrar to allow customized DoFnInvoker

Add an registrar to allow us to extend the open source DoFnInvoker for our use cases. Also fixed a bug in the dot renderer.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.


cat function how to get the filename using hash

Assume I had pushed 'fileName.txt' using ipfs.add() and got hash 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'. Now I want to use cat() function to get the file name from the hash  'xxxxxxxxxxxxxxxxxxxxxxxxxxx'. how I could do it?
my code
 ipfs.cat(''xxxxxxxxxxxxxxxxxxxxxxxxxxx'. ', function(err, res) {
            if (err || !res) {
                return console.error('ipfs cat error', err, res)
            }
            console.log(res) //  return array of numberes
            console.log(res.name)//should return filenam but return undifined
            $('#getValue').html(res.toString()) // return file content
        })

@yehia67 ipfs.cat(..) is to get the content of the file itself but not file with filename.
if you want to read the file by its name use MFS.

Okay Thank you @its-VSP


how to make like tv not vram render

Pls help

As the faq says: The emulator is very early on development there is no real tv output "screen". What you see rendered is the Playstation whole VRAM.
At the moment the VRAM viewer is handy to debug emulation.
Handling that would mean to put effort on the UI (something that at the moment is practically non existant) and its gonna be scraped sooner or later to get rid of winforms.
Also, there are a lot of more important things to handle right now (like broken CDROM timmings) than a screen.

why so laggy

I dont know what you are trying.
What are you loading? What are your specs? What Speed or fps are shown on the titlebar?

crash bandicoot  gt 1030 8gb ram  core i3 4130 speed 30%

Keep in mind that as a WIP project this is not very optimized. Thought i plan on doing some work there soon.
Anyway, try to compile the latest version on release.
I have a slower CPU than yours and can get some more:

If you want to try more things you can get some more underclocking the emulated cpu by rising the bus.tick value from 200 to 300 or 400 (it can break games) on the ProjectPSX.cs class


Use regex to strip the first image from JSON-LD Schema

Instead of risking runtime errors with how JSON-LD is structured (non-standard, and not very straightfoward), we could opt to do a regex search on the first image we find on the data.
@phranck What do you think?

@jg-l That might be an option. If you like you can implement it in a feature branch, open a pull request and set me as a reviewer. So I can check and test it. What do you think?

Sounds good to me

I also found this which may help, https://pub.dev/packages/json_schema

Hm... Isn't that a bit of overkill? I'm not a big fan of getting more dependencies into my own code. As less as possible, that's my motto. 😊
So let's see it in a pragmatic way. You are right saying JSON-LD is a very weak standardized form (from its structural point of view). But your current approach is not that wrong, imho. It just has to make ab bit more robust with more options to find an image (e.g. looking for img, image, images, logo etc.). Each key can have one value or a list of values.
Like:
{
   "image": "http://placehold.it/120x120&text=Test%20image%201"
}

And:
{
   "image": [
      "http://placehold.it/120x120&text=Test%20image%201",
      "http://placehold.it/240x240&text=Test%20image%201",
      "http://placehold.it/360x360&text=Test%20image%201"
   ]
}

I agree with not taking on dependencies.
And yes, you're right! I'll make a feature branch soon


Added code coverage and linter to the test workflow

Added flake8 and coverage reports to test workflow. Also uploading the coverage report to codecov.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9a63953). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #3   +/-   ##
=========================================
  Coverage          ?   90.14%
=========================================
  Files             ?        5
  Lines             ?       71
  Branches          ?        0
=========================================
  Hits              ?       64
  Misses            ?        7
  Partials          ?        0

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 9a63953...4c2866b. Read the comment docs.


[SPARK-24916][SQL] Fix type coercion for IN expression with subquery

What changes were proposed in this pull request?
The below SQL will throw AnalysisException. but it can success on Spark 2.1.x. This pr fix this issue.
CREATE TEMPORARY VIEW t4 AS SELECT * FROM VALUES
  (CAST(1 AS DOUBLE), CAST(2 AS STRING), CAST(3 AS STRING))
AS t1(t4a, t4b, t4c);

CREATE TEMPORARY VIEW t5 AS SELECT * FROM VALUES
  (CAST(1 AS DECIMAL(18, 0)), CAST(2 AS STRING), CAST(3 AS BIGINT))
AS t1(t5a, t5b, t5c);

SELECT * FROM t4
WHERE
(t4a, t4b, t4c) IN (SELECT t5a, t5b, t5c FROM t5);

How was this patch tested?
unit tests

Test build #93538 has started for PR 21871 at commit 8ef142f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/1305/
Test PASSed.

I think this is basically the same of what I proposed in https://github.com/apache/spark/pull/19635. Unfortunately, that PR got a bit stuck...

Oh. It turns out that @dilipbiswal is talking about that PR.  I didn't find it in your recent PR. Let’s wait if the test can pass.

workaround:
SELECT * FROM t4
WHERE
(t4a, t4b, t4c) IN (SELECT t5a, t5b, t5c FROM t5);

->

SELECT * FROM t4
WHERE
(t4a, t4b, t4c) IN (SELECT CAST(t5a as DOUBLE), CAST(t5b AS STRING), CAST(t5c AS STRING) FROM t5);


Updated the README and the sample notebook to reflect the latest state of qgrid

Still in progress...sample notebook looks good but I'm not done with the README yet.

@blink1073 @ssanderson just a heads up that I just merged a major update to the docs to reflect the latest state of the project (i.e. becoming a widget, editing capabilities).  I have some more work to do on them but I think it's much better than the out of date information, which people could potentially have been wasting their time by reading. I also updated API docs on  readthedocs so it now includes the show_toolbar option.


Ardlen

Summary

Ticket Link

Checklist

[ ] Added or updated unit tests (required for all new features)
[ ] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on:
Screenshots

Release Note

Hello @ardlen,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.
Per the Mattermost Contribution Guide, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
Once you have signed the CLA, please comment with /check-cla and confirm that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.


Move to GitHub Actions?

Do we want to move our testing to GH actions like we've done for other projects? @jamesaoverton

Yes. We've used 85% of our free Travis credits for the "ontodev" organization. So we should move any repo that we're actively working on and that uses Travis to GitHub Actions.


tf.image.decode_image doesn't return tensor's shape

I try to use "image.decode_image" to read image file as tensor, but this function returns a tensor without "shape".
As said in the doc:

Their input and output are all of variable size. If you need fixed size images, pass the output of the decode Ops to one of the cropping and resizing Ops.
But actually it cannot be passed to resizing op without shape.

Is there a way to use import image as a normal tensor?
Codes: I ran it in ipy notebook
fn = '8.png'
image_contents = tf.read_file(fn)
image = tf.image.decode_image(image_contents, channels=1)
image

image.shape

image.eval().shape

img_resize = tf.image.resize_images(image, [28,28])

Output:
<tf.Tensor 'decode_image/cond_jpeg/Merge:0' shape= dtype=uint8>
TensorShape(None)
(250, 250, 1)

ValueError                                Traceback (most recent call last)
 in ()
----> 1 img_resize = tf.image.resize_images(image, [28,28])
/home/tianwei/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/image_ops_impl.pyc in resize_images(images, size, method, align_corners)
641   images = ops.convert_to_tensor(images, name='images')
642   if images.get_shape().ndims is None:
--> 643     raise ValueError(''images' contains no shape.')
644   # TODO(shlens): Migrate this functionality to the underlying Op's.
645   is_batch = True
ValueError: 'images' contains no shape.

Yes, this is bothering. My workaround is using tf.image.resize_image_with_crop_or_pad as it said, and maybe manually set shape.

@inflation Thanks, it works. But I also noticed that, this function returns a tensor without channel dimension...like this:
image_contents = tf.read_file(fn)
image = tf.image.decode_image(image_contents, channels=3)
image = tf.image.resize_image_with_crop_or_pad(image, 250, 250)
image.shape

TensorShape([Dimension(250), Dimension(250), Dimension(None)])

Yes, that's what I mean manually set it.

You can use tf.Tensor.set_shape if you need a fixed static shape info.

Keep in mind everything you're doing is symbolic. Therefore, you cannot know the shape of your supposed image before actually loading it — and this is why the Tensor is "shapeless". Even the last dimension isn't inferrable, because it could be a grayscale image (then third dimension = 1), a colored image (third dimension = 3), a gif (third dimension = 4), or even something else.
As @ppwwyyxx said, you can (1) use set_shape if you know the shape of the tensor/image and want to simplify its usage, this can be used to force the third dimension, if you're sure your images will always be on the same format; (2) manipulate your images with operations that accept symbolic shapes throughout your pipeline, like tf.reshape; or (3) split your graph and load the images with a sess.run before actually sending them through the rest of the graph, this will allow you to know their exact shape "beforehand" (subject to interpretations).
The symbolic operation to get an image's shape is tf.shape(x).

Thanks, the set_shape works well here.
But one thing I'm curious about is that, if I split the graph, (add a sess.run, and get the result of image array, then construct tensor, send it to rest of the graph), does this increase overhead?
While actually when running it, it seems that the "set_shape" method will take more time to run than 'split graph" method...
I'm not clear how much overhead does it take if I split the graph and run session.

@TianweiXing, both approaches have different overheads and it is problem dependent. The best way to find out is to try it both ways and profile. Given that it is more of a usage question rather than a bug or feature request, I am closing this problem.

The annoying bit is that while tf.image.decode_image does not return a size, both tf.image.decode_jpeg and tf.image.decode_png do.

@mrharicot Really, which version of tensorflow? Currently using 1.1.0 tf.image.decode_jpeg behave just the same as  tf.image.decode_image, which does not return a shape.

@Cooper-Yang I was using 1.0 at the time.
I'll check with the new version, thanks!

@Cooper-Yang I was using 1.0 at the time.
tf.image.decode_jpeg gives me the image size, so I ended up using an ugly workaround

Once you upgrade to TF 1.2 decode_png will decode both jpg as well as png and vice versa. decode_image cannot be used along with resize since it also supports .gif .
You can read this thread: https://github.com/tensorflow/tensorflow/issues/9356


Why we need to use Model instead of db.Model?

I just wonder that why when we declare a model, the class should be inherited Model but not db.Model. I checked id(Model), and id(db.Model), both return the same value.
# conduit/user/model.py
from conduit.database import Column, Model, SurrogatePK, db
class User(SurrogatePK, Model):
    __tablename__ = 'users'

Does anyone know the reason?

Yes beceause Model is the same object as db.Model it's just an alias, I forgot why I did this.
https://github.com/gothinkster/flask-realworld-example-app/blob/master/conduit/database.py#L11

But if the Model class inherit from db.Model, it cannot use the functions in CRUDMixin. I think that is the reason you did it.

@jerry-le yes exactly CRUDMixin is used as a base class for models that's why
http://flask-sqlalchemy.pocoo.org/2.3/customizing/


Require subscription on write operations?

In project reactor if you don't subscribe to a stream, nothing happens. This is fine if we are reading data, but is very un-intuitive if we are writing data to a database, where we typically don't care about any sort of feedback (unless an exception has been thrown).
Consider the following code example:
R2dbc r2dbc = // ...
r2dbc.inTransaction(handle -> handle.execute("INSERT INTO test VALUES ($1)", 100));

With the above code, it looks like we are inserting some data into a table, but nothing goes into the DB until we subscribe to the writer operation in some way, such as:
R2dbc r2dbc = // ...
r2dbc.inTransaction(handle -> handle.execute("INSERT INTO test VALUES ($1)", 100))
     .subscribe();

In JDBC we have two different operations for reads and writes (Statement.executeQuery() and Statement.executeUpdate() respectively), so perhaps we could do something similar in R2DBC?  The difference being that read operations still need to be subscribed to, but write operations do not require a subscription.

We need a little more context.
Where does this operation occur? If it was a Spring WebFlux POST, this flow would certainly be tied back to the web request, hence the framework would actually subscribe.
If this operation was invoked from the service layer, it would be the service’s job to subscribe or connect to the proper stimulant that does that.
The most common scenario which doesn’t have such direct responsibility is when you are pre-loading data for a sample app or for some form of test.
When pre-loading data it’s highly recommend to NOT BLOCK. @mp911de can better describe the details under the hood involving startup.
When building a test case, if you happen to be using Reactor’s StepVerifier, then THAT tool will subscribe.
It’s a little strange when you get started with reactive streams, but it’s best if r2dbc does NOT subscribe. Instead, delay subscription until you find the responsible party that actually wants the data and make them subscribe.

Remembering to subscribe is actually a common gotcha for all RS programming. In my latest book, written 100% in Reactor, I repeatedly emphasized the need to subscribe.
It’s a paradigm that deviates from Java 8 Streams in that often you apply the collect API because often you are the consumer.
But in RS, it’s actually encouraged to delay subscribing as late as possible for multiple reasons. One being that what you are writing is actually a “recipe” and that multiple subscriptions actually result in multiple executions. Whereas Java 8 streams are the exact opposite.
So in a sense every RS “recipe” you craft is meant to be composable amidst other flows thus something to not subscribe to until the application has enough context. This usually manifests in someone making a web call or whatever.

What you have described makes sense and I agree with it, but my argument is whether or not DB write operations should be considered in the same category as other RS operations in the first place and therefore require a subscriber.
With read operations it makes sense -- you publish some SQL statements to the DB, then you subscribe to the results. If you don't subscribe to the results, then why make the DB go through the work of fetching data that will never be read? This makes sense to me.
With write operations however, we publish some SQL statements to the DB, and expect the data to be written. The only result we might care about is the row update count. In JDBC an update returns the row update count or 0, but I rarely use this value for anything. I would guess that most applications spin off write operations and disregard any non-exceptional results. If we think this is the case, then it seems R2DBC should be conscious of this and provide an API that accommodates this usage pattern. If we don't think this is the case, then the API is probably fine how it is.

Just to be clear, nothing happens until you subscribe. No retrievals. No writes. Basically, no resource consumption of any kind.
And we certainly appreciate your inputs on this endeavor.

Typically don't care about any sort of feedback (unless an exception has been thrown).

This isn't true. Writes populate in a lot of cases an Id field or are used for conditional writes as in optimistic locking.

I'm still trying to wrap my head around reactive stream stuff (its a pretty radical mind shift)
Deferred execution, responsibility changes in flow control (i.e. no more loops in user code), error handling cause a steep learning curve. We're happy to improve things on our side.

What you have described makes sense and I agree with it, but my argument is whether or not DB write operations should be considered in the same category as other RS operations in the first place and therefore require a subscriber.

Deferred execution is a primitive of Reactive Streams which makes it an essential part of the programming model. So basically what @gregturn said means: There's no difference in type of operation as all types require subscription. IDE's such as IntelliJ provide good support in hinting for Publisher's that do get subscribed to.
On a general level, you should not subscribe() in your application code but rather pass on Publisher's to your runtime container. A plain subscribe() ignores completion, failures and potential synchronization.

Just to be clear, nothing happens until you subscribe. No retrievals. No writes. Basically, no resource consumption of any kind.

Yep, while this can be really powerful in some cases, it's also unfortunately a point of confusion for newcomers to R2DBC like myself.

This isn't true. Writes populate in a lot of cases an Id field or are used for conditional writes as in optimistic locking.

Good point! Given that, I'm in agreement now that Handle.execute() is best suited for returning a Flux.

IDE's such as IntelliJ provide good support in hinting for Publisher's that do get subscribed to.

Cool, I didn't know about this (I use Eclipse).
Thanks for the discussion Greg and Mark. I'll keep thinking of possible ways to make this more intuitive, but in the meantime I'll close out this issue.


Publish centos7 and centos8 base containers

I've also intentionally left the update.py broken (looking for centos to exclude some things) because as far as I can tell, centos actually works fine for things like libaom? presumably it just didn't work properly during a previous attempt so it was dropped from the containers in which it wouldn't build to get it out in some container.
I guess I'll see how the azure pipelines go, my very manually skimming through of this indicated that it was working ok.

Woops, looks like the stuff that needs a more modern version of nasm just fails silently and then carries on...
I've updated the centos7 template to skip installing the nasm rpm from the centos repos (although from memory the fedora 27 rpm is compatible....) and to just build nasm from source to get v2.14.2, which should be sufficiently modern to build any of the dependencies which need nasm installed...

I'm not sure why but the 3.2 build seems flakey... it's failing for centos8 which is identical to the previous version of the container called centos... otherwise it looks like the lower versions of ffmpeg seem to be turning up with problems that I would have expected to show up for all the versions, like conflicts for basic dependencies? I'll have a closer look when I'm not just idly poking at this on my phone, but it seems like there might be some underlying flakeyness with the centos builds... which would make sense given how out much weirdness el distros tend to have to make them "long term" supportable...

Well that's something... @jrottenberg turns out you can't build ffmpeg 3.2 on centos:8 without either compiling a different crypto library or really getting in there and patching some source code, openssl changed a lot of interfaces in the 1.1.0 version and centos:8 has 1.1.1 vs centos:7 which is on 1.0.2
From what I can see all the builds of ffmpeg 3.2 on centos:8 have actually failed silently, but it would seem that the pipelines still pass because running the container "jrottenberg/ffmpeg:3.2-centos" after a docker build has failed with just pull the old version of that container from docker hub, which will mask the failure.
Pulling jrottenberg/ffmpeg:3.2-centos now pulls a centos:7 container.
It looks as though supporting  3.2 releases on any centos base will need a centos:7 base, but with a lot of the recently merged pull requests they won't necessarily work immediately on centos:8 (well... they do with the commits in this branch, but that's kind of abusing the build container a bit).
It seems like there a few options here:

Revert the centos container to a centos:7 base, and just work around any forward compatibility issues as they come up
Force forward with the centos:8 base and drop ffmpeg:3.2 out of the respository
Get really involved in the ffmpeg build and either throw in a different crypto library to use generically across all distros
Patch ffmpeg 3.2 in the centos container to use openssl 1.1.x properly with it's updated APIs

I'd be tempted to say that option 3 is probably the safest option but it's probably also the most painful to implement, option 2 is probably the easiest, or option 1 is probably ok if you were to take the centos7 Dockerfile template from this PR, and option 4 probably strays a fair bit from the goal of this repository given that once you start patching the ffmpeg source you aren't really "compiling FFmpeg from sources following instructions from the Compilation Guide.", because you're rewriting the sources.
Although, the arguably bigger problem here is that the pipelines pass if a version has ever passed successfully, not if the current version passes successfully.

Will it practically work? I think so.
🙂

sorry a bit late, catching up....
it's nice but I'm worried adding new variants (distribution version) will not scale, we will have corner case like 3.2 on centos7 to be skipped, etc
Let me think about it, if we do it, I can smell having to support ubutu:20.04 ,  18.04 and 16:04 The LTS

looks good, can you rebase ?

The LTS thing is definitely something I was thinking would become a problem, but it occurred to me that there are two things that seem like they might make it a good idea:

If offering different distros as bases then that should probably be extended out as far as is logical, especially for LTS releases I can imagine situations where people would want to LTS version to be available. Otherwise - why not just publish a scratch image?
Adding in the ability to exclude variants/versions which don't play nice by default means that in cases like the centos8 v3.2 incompatibility where it looks like it would just be a huge pain to make it work properly then they can jusy be excluded. But for things which just sort of fall out of the keyboard when you type and just work as expected, it seems reasonable to make them available. And if someone really wants a version that is in the excludes list then it's up to them to do the work to get it building successfully.

Just my 2¢ but probably something that needs consideration I guess.
Will get cracking in that rebase 🙂

Assuming that something else doesn't fail with the fontconfig change (to be honest I didn't actually test it, I just rebased, squashed some commits and pushed 😕) then this should be all good to re-review.

Aha, not 10 minutes ago I was thinking "wait, won't pushing centos7 and centos8 containers mean that anyone hoping to get an update by pulling the latest centos container will suddenly have a problem?"
I think that I have a solution that as well so backwards compatibility is maintained. Let me just make some changes and do a little bit of testing to see how it works 🙂

Ok, let's see how this goes.
I've added a parent attribute to all the variants. This change will hopefully cause the publication of a container with the parent tag as well.
So, for example, with the centos container for ffmpeg 3.2 the centos7 tag will still get published, but because centos7 is the only centos variant for 3.2 it will also get published with the centos tag, meanwhile all the other centos variants will be the centos8 version.

Changes look like they good, sadly the docker push doesn't run from branch builds so the re-tagging and pushing the relevant container for the unversioned OS isn't happening in the tests, but the logic is fairly straight forward.

very nice, thank you !


v0.28.7 -> 0.28.8 upgrade FAILS at spawn-sync

Running
atom --version
	1.0.3-9774b20
node -v
	v2.4.0
npm -v
	2.13.0

Upgrading atom-beautify from installed v0.28.7 to v0.28.8 FAILs:
Updating to<EMAIL_ADDRESS>failed.

><EMAIL_ADDRESS>postinstall /tmp/apm-install-dir-115617-5652-1i1ck6n/node_modules/atom-beautify/node_modules/cross-spawn/node_modules/spawn-sync
> node postinstall

module.js:340
    throw err;
          ^
Error: Cannot find module '/tmp/apm-install-dir-115617-5652-1i1ck6n/node_modules/atom-beautify/node_modules/cross-spawn/node_modules/spawn-sync/postinstall'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:929:3
npm ERR! Linux 4.1.1-2.gcac28b3-desktop
npm ERR! argv "/usr/local/share/atom/resources/app/apm/bin/node" "/usr/local/share/atom/resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/home/pgnd/.atom/.apm/.apmrc" "--userconfig" "/home/pgnd/.atom/.apmrc" "install" "/tmp/d-115617-5652-1qpfmy7/package.tgz" "--target=0.22.0" "--arch=x64"
npm ERR! node v0.10.35
npm ERR! npm  v2.5.1
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>postinstall: `node postinstall`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'node postinstall'.
npm ERR! This is most likely a problem with the spawn-sync package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node postinstall
npm ERR! You can get their info via:
npm ERR!     npm owner ls spawn-sync
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/apm-install-dir-115617-5652-1i1ck6n/npm-debug.log

ls -al /tmp/apm-install-dir-115617-5652-1i1ck6n/npm-debug.log
	ls: cannot access /tmp/apm-install-dir-115617-5652-1i1ck6n/npm-debug.log: No such file or directory

Please let @ForbesLindesay know by forwarding this issue over to https://github.com/ForbesLindesay/spawn-sync

Sure.  Is there an actual forward function?  Or just copy/resubmit manually over there?

Copy and re-create the Issue manually over there. Thanks.


Wrong command line option description in parquet-tools

The description for "debug" option is apparently wrong:
    Option ncol = OptionBuilder.withLongOpt("no-color")
                               .withDescription("Disable color output even if supported")
                               .create();

    Option debg = OptionBuilder.withLongOpt("debug")
                               .withDescription("Disable color output even if supported")
                               .create();

Reporter: Cheng Lian / @liancheng
Assignee: Cheng Lian / @liancheng
Note: This issue was originally created as PARQUET-168. Please see the migration documentation for further details.

Cheng Lian / @liancheng:
PR at https://github.com/apache/incubator-parquet-mr/pull/106

Ryan Blue / @rdblue:
Issue resolved by pull request 106
https://github.com/apache/incubator-parquet-mr/pull/106


Reproduce mini-kinetics

I implemented I3D and Non-local (NL) based on the code release by Wang et al. (2018); however, CGNL got slightly lower accuracy than NL for mini-Kinetics using 8-frame and 32-frame 5-block ResNet-50 models.
Because NL is reproduced, I wonder if there is any detail for CGNL to get the scores in the paper. Is there any different hyperparameter for CGNL?

Hi, warm-up could help.

@KaiyuYue thanks for the pointer. I am afraid I've already used one and my problem seems not originated from it. I noticed you do not scale for the logit of CGNL while doing scale for NL's. Is it critical?

Yes. No scale factor is better for CGNL module.

Hi, @jnhwkim Is it working well now on kinetics ?

@KaiyuYue thanks for the check-up. Sadly, I gave up for now. Could you share your code to examine the differences?

Sorry about this. I plan to reproduce the results of video classification to check it first and then release. This procedure may take some time.


Need Python Equivalent of the same, Please

Hello Team Microsoft,
We at Volvo are creating end to end implementation using Python, do you have the same scala code example also in Python code as well? please help.
Thanks,
Mahesh

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

ID: d7c93e65-86c1-fd8b-a888-c57d3b26e2bd
Version Independent ID: 3f31fd84-7dba-2444-2344-ec70113ba694
Content: Use Azure Databricks for sentiment analysis
Content Source: databricks/scenarios/databricks-sentiment-analysis-cognitive-services.md
Service: azure-databricks
GitHub Login: @lenadroid
Microsoft Alias: alehall

@maheshksingh We are checking this and we will get back to you.

Any updates on this please?

Hi @mssaperla Could you please assist on the above query? - Thank you.

Any updates?

Hello Team Microsoft, any updates, its quite some time the issue is open. Please help. Thanks

still waiting,,,,

Apologizes for the inconvenience @maheshksingh. I haven't found a relevant code in python yet.
Hi @lenadroid, @mssaperla Could you please have a look at the request from @maheshksingh ? Are there any GitHub Python samples that can share with the user? - Appreciate any pointers on this request.
Thank you.

Hi @KranthiPakala-MSFT, I am not aware of any existing equivalent samples in Python at Microsoft Docs. I did a quick search and found this article that might be covering some of it, however I haven't tried it and guarantee that the code is working.

Hello Team, Thanks so much for your research and helping out. I will run the code from the provided article and update all if that works.
Please help with my last question regarding the article. Why do we need Event Hub in the middle, as the tweets are readily available in the databricks workspace in the first notebook, can't we directly apply sentiment analysis as soon as we receive the tweets in databricks?
Please let know. Thanks.
Regards,
Mahesh

We have filed a ticket in the Databricks bug tracking system: DOC-2980
We will update this Git issue when the ticket has been resolved. #label:"in-progress".

please close this issue as the referenced article doesn't seem to exist anymore

Thanks for your dedication to our documentation. Unfortunately, we have been unable to address your issue and apologize for the delayed response. We are closing this issue, but if you feel that it's still a concern, please let us know directly at<EMAIL_ADDRESS>#please-close

#please-close


[v4] Audit group: Support a Android build module for C/C++

This commit is to support a Android build module to generate the .so files
from native C/C++ source code. In general, these .so files are used as a
low-level library for Android Application framework. Then, These files have
been enabled by Android application via JNI interface.
As a result, it is to be used as a native libraries on Android devices.

Goal:
Support an Android build module (with ndk-build) to restrain the inconsistency
of C/C++ code compilation can be broken because of the incorrect PRs.

Signed-off-by: Geunsik Lim<EMAIL_ADDRESS>

:memo: Version: 1.20181123. Thank you for submitting PR #457. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

** Changelog

Version 2:

Updated Webhook API statements for Android environment
Added a exception handling routine to control Android rootFS based ABI & API.

Version 1:

Imported base structure of the module by cloning from 'pr-audit-build-ubuntu.sh' file.
Added how to build a native C/C++ source with ndk-build of Android NDK.
Supported wait, ready, and run queue to manage a situation that can be duplicated
by repeated PR submissions.

Changelog

Version 3:

Update the existing comments
Added how to set-up Android NDK and gst-android prebuilt file (for CI administrator)
Fixed typos
Archived the generated C/C++ binary files (e.g., libnnstreamer.so and shared ELF test files)
Removed unnecessary binary files after completing a build test for a storage space
Added loeg messages when webhook APIs are submitted to github.com (for debugging)

Version 2:

Updated Webhook API statements for Android environment
Added a exception handling routine to control Android rootFS based ABI & API.

Version 1:

Imported base structure of the module by cloning from 'pr-audit-build-ubuntu.sh' file.
Added how to build a native C/C++ source with ndk-build of Android NDK.
Supported wait, ready, and run queue to manage a situation that can be duplicated
by repeated PR submissions.

[UPDATED]
Changelog

Version 4:

Updated prerequisite for CI administrator that has to set-up Android build environment.
Enabled the build mode (with 99, skip mode) in configuration file.
Specified default rootfs directory with /var/www/html/android/ to build C/C++ source code.

Version 3:

Update the existing comments
Added how to set-up Android NDK and gst-android prebuilt file (for CI administrator)
Fixed typos
Archived the generated C/C++ binary files (e.g., libnnstreamer.so and shared ELF test files)
Removed unnecessary binary files after completing a build test for a storage space
Added loeg messages when webhook APIs are submitted to github.com (for debugging)

Version 2:

Updated Webhook API statements for Android environment
Added a exception handling routine to control the Android rootfs based ABI & API.

Version 1:

Imported base structure of the module by cloning from 'pr-audit-build-ubuntu.sh' file.
Added how to build a native C/C++ source with ndk-build of Android NDK.
Supported wait, ready, and run queue to manage a situation that can be duplicated
by repeated PR submissions.

The local test is successfully done.

This PR is ready to be merged.


test: Move from CDP to BiDi

See cockpit-project/cockpit#20832.
Explicitly add a "glob" devDependency to follow suit with cockpit-project/cockpit@680decc155a. It was previously used implicitly through a transient dependency of something else, but our esbuild po-plugin uses it explicitly.

Drafting this, centos-10 is really flaky on this.


[WIP] Tim Munday's original work on nan_bool

Reissued PR to dev branch so I can sort out the argument order issue.
Not ready to merge, need to update.

I forgot that the holdup on this was removed when we dropped Py2 support.  This is ready to merge once tests finish.

This passed tests yesterday, before the latest master merge, but now fail.  Will investigate.


Warn the user if a TFS changeset shall be assigned to multiple commits

Warn the user if a TFS changeset shall be assigned to multiple commits.
This PR closes #1469

Merged. Thanks for your contribution!

Thank you, glad I could help.


fixed String as a parameter type to &str

it is better to use &str rather than String as a parameter type.

Thanks, missed that one.


vs code

Extension Name: git
Extension Version: 1.0.0
OS Version: Windows_NT x64 10.0.17763
VSCode version: 1.28.0

We have written the needed data into your clipboard. Please paste:

See #60318


Issue with yaml

My fork is throwing a pages build error
There was a YAML syntax error on line 3 column 11 in <unknown>: mapping values are not allowed in this context.
I think this is refering to .travis.yml, but I'm not sure what's wrong. Here's the file
language: ruby
rvm:
  - 2.6.0

before_script:
  - chmod +x ./script/cibuild.sh

script: ./script/cibuild.sh

# branch whitelist, only for Github pages
# https://jekyllrb.com/docs/continuous-integration/travis-ci/
branches:
  only:
  - master
  - gh-pages # test gh-pages branch
  - /pages-(.*)/

env:
  global:
  - NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speed up html-proofer install

sudo: false # route build to the container-based infrastructure for faster build

cache: bundler # caching bundler gem packages will speed up build

#before_install:
#  - gem update --system
#  - gem install bundler -v '< 2'

Any help would be much appreciated

For some context, I've been trying to implement the ecosystem theme by 100rabbits, which has probably had some impact on this :(

Eh, never mind, I'll just hardcode the values and ignore what may have been causing those weird errors


password change confirmation

Please submit your pull requests to the 'dev' branch.
When submitting a pull request, please make sure you have completed the following checklist:

[x] Your code is flake8 compliant (Dojo's code isn't currently flake8 compliant, but we're trying to correct that)

@aaronweaver, @mikethebro, this  PR that doesn't check the current password correctly.

Ah, nevermind saw @aaronweaver's slack message.


Windows terminal can get stuck completely and ignore any input

Windows Terminal version
1.15.3465.0
Windows build number
10.0.19045.0
Other Software
WSL
Steps to reproduce
I have reproduced this before but it doesn't seem that easy to do.
Sometimes when making a typo, then quickly retyping and hitting enter, windows terminal will no longer take any input unless you close the session and open a new one. It will accept ctrl-C once or twice which will make the cursor jump to start of the current line on top of your name as seen in the screenshot below. Then it ignores all input again.
Expected Behavior
I expected that it would not get stuck and continue to take input regardless of how quickly I'm using commands.
Actual Behavior

I just realised this screenshot only shows 1 typo, but I made 2. The second one causing the terminal to get stuck.
Haven't had this happen outside of WSL yet.
Not sure if this belongs here or at https://github.com/microsoft/WSL

Hmm... Unfortunately for us to debug this, we'd first need a consistent repro. 😕
Otherwise what you could check is if any process below WindowsTerminal.exe or related to WSL is suddenly dying when this issue happens (I'd suggest using Process Hacker (now System Informer) or Process Explorer), or a memory dump of WindowsTerminal.exe and OpenConsole.exe once it gets stuck. However I'm not confident that this would help as much as a consistent repro unfortunately...

Hey there! So, this is actually a weird interaction between WSL and the rest of Windows. One of the keys that you're hitting might be Tab or some other thing that triggers completion.
The problem is, tab completion inside WSL is by default very slow[^1]. It enumerates every .exe and .dll in the Windows system folder.
Unfortunately, this is out of our control. You can turn off the path sharing behavior in the interop settings section of your WSL config.
[^1]: This is because it automatically copies the Windows %PATH% into PATH on the Linux side.


Improve errors for (1) misnamed manifest file (2) missing manifest file

(1) If I name my manifest file manifest.yaml and run sample-tester test.yaml manifest.yaml I get this:
ERROR:root:fatal error: KeyError('test',)

ERROR: could not run tests because 'test'

usage: sample-tester [-h] [-c CONVENTION:ARG,ARG,...] [--xunit FILE]
                     [-v {quiet,summary,detailed}] [-f] [-l {none,info,debug}]
                     [--envs TESTENV_FILTER] [--suites SUITE_FILTER]
                     [--cases CASE_FILTER] [--version] [--fail-fast]
                     ...

It too me working with a user about half a day to figure out why. We need to fix this :)

Meanwhile, do we really need the file naming convention?
When we change the schemas to formalize them, maybe we can ignore the file name because the YAML file will basically have a header identifying its purpose. Note for later.

(2) If you run sample-tester test.yaml and forget to provide the manifest file, you'll get an error like this:
RUNNING: Test environment: "(nolang)"
  RUNNING: Test suite: "Vision V1 Sample Tests"
    FAILED: Test case: "vision_async_batch_annotate_images"
      |
      | ### Test case SETUP
      |
      | ### Test case TEST
      | CALL ERROR in stage TEST : could not resolve call: object "['(nolang)', 'vision_async_batch_annotate_images']" not defined
      |
      | ### Test case TEARDOWN
      |

Tests failed

The error: CALL ERROR in stage TEST : could not resolve call: object "['(nolang)', 'vision_async_batch_annotate_images']" not defined
This is hard to grok and we should improve this too.
See also #52 to allow for auto-detecting the manifest, which will solve problem (2). Problem (1) should be resolved with the upcoming manifest schema changes.
/cc @dizcology @googleapis/samplegen

I think these issue have been addressed by #52


Fix for IDE0025 (Use Method Expression for properties)

Mostly done by Visual Studio autofixers

It was a fix all solution, but I checked every single one and disabled the refactorings of object collection that was incorrect.
MSBuild.Dev.sln was open at the time.

Team triage: Thank you for the pull request. At the moment, we don't have a formally defined .editorconfig code style, so we'd like to defer all automated style fixes until we do (#4092).


[PWN-3768] Debug menu

Link jira to issue
https://p2pvalidator.atlassian.net/browse/PWN-3768
Description of the changes

I have a question: Will debug menu works in Firebase's build? Or only DEBUG build, which means on Simulator?

There are conflict with new develop branch, please update it

Building failed


Allow videos to be displayed

I want to be able to pass in videos and not just images. I could start working on it if I'm given a go ahead because I need it for my project

use the renderCustomImage prop

use the renderCustomImage prop

hi nathantew14! can you explain me how i can do that?

use the renderCustomImage prop

hi nathantew14! can you explain me how i can do that?

Just create a custom component to display a video, and pass it in to the renderCustomImage prop


Godot game crashes when using this module and calling gpgs.init(get_instance_ID())

I like this module, feels so clean and organised. It has so many features I would LOVE to use, because there are not many google play game services modules for Godot.
I followed instructions, compiled, edited projects config file and set up my game in the online console.
My apps name is "squane"
I have this code in the _ready():
if Globals.has_singleton("GodotGooglePlayGameServices"):
       gpgs = Globals.get_singleton("GodotGooglePlayGameServices")
       gpgs.init(get_instance_ID())

But the app opens, and then it crashes.
I used Android_sdk/tools Monitor to check why it crashed and I pasted the logs in here:
https://pastebin.com/CakwcV2w
The last logs before it crashes are at the bottom of the file.
I hope you can help, because I have no other hopes...

Thanks for your comments :)
Could you give me a minimal code for make some test? on an overview I see that there are a problem with the libraries of Android (Drive, Games, ...) so I would like to make some test on my computer.
I only need the initialization until this method is called.
I think something is missing.

Sure, I will use pastebin again :+1:
I have a scene "data.tscn" in which I have one base node to which I have a script attached.
This is scene is in a singleton, so it gets loaded before others(I guess)
I will give you the _main() function of this singleton scene(This is the function calling gpgs.init() )
https://pastebin.com/siwg954i
If you need more code, feel free to ask :)

I think here could be the same issue as #2 .
¿Did you follow the instructions on the godot page? http://docs.godotengine.org/en/stable/development/compiling/compiling_for_android.html#requirements
Under the Requirements:
Android SDK version 23.0.3 [Note: Please install all Tools and Extras of sdk manager]
Android build tools version 19.1
Android NDK r13 or later
I think Android build tools version 19.1 have the missing library.
Run again your Android SDK Manager and be sure to install it.
Look when you can and told me.
I will try to be more quick with the answer.

This is interesting.
Yes, I followed the instructions, everything you listed is installed.
I tried again, recompiled and used your demo project. I still crashes after init function is called.

Let's see the file /godot/platform/android/build.gradle.template
Here is one used in my games:
buildscript {
	repositories {
		jcenter()
	}
	dependencies {
		classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.google.gms:google-services:3.0.0'
	}
}

apply plugin: 'com.android.application'

allprojects {
    repositories {
	mavenCentral()
	$$GRADLE_REPOSITORY_URLS$$
    }
}

dependencies {
	compile 'com.android.support:support-v4:23.+'  // can be removed if minSdkVersion 16 and modify DownloadNotification.java & V14CustomNotification.java
	$$GRADLE_DEPENDENCIES$$
}

android {

	lintOptions {
		abortOnError false
		disable 'MissingTranslation'
	}

	compileSdkVersion 23
	buildToolsVersion "23.0.3"
	useLibrary 'org.apache.http.legacy'

	packagingOptions {
		exclude 'META-INF/LICENSE'
		exclude 'META-INF/NOTICE'
	}
	defaultConfig {
		minSdkVersion 14
		targetSdkVersion 23
		$$GRADLE_DEFAULT_CONFIG$$
	}
	// Both signing and zip-aligning will be done at export time
	buildTypes.all { buildType ->
		buildType.zipAlignEnabled false
		buildType.signingConfig null
	}
	sourceSets {
		main {
			manifest.srcFile 'AndroidManifest.xml'
			java.srcDirs = ['src'
				$$GRADLE_JAVA_DIRS$$
			]
			resources.srcDirs = [
				'res'
				$$GRADLE_RES_DIRS$$
			]
			res.srcDirs = ['res']
		//            libs.srcDirs = ['libs']
			aidl.srcDirs = [
				'aidl'
				$$GRADLE_AIDL_DIRS$$
			]
			assets.srcDirs = [
				'assets'
				$$GRADLE_ASSET_DIRS$$
			]
			jniLibs.srcDirs = [
				'libs'
				$$GRADLE_JNI_DIRS$$
			]
		}
		debug.jniLibs.srcDirs = [
			'libs/debug'
			$$GRADLE_JNI_DIRS$$
		]
		release.jniLibs.srcDirs = [
			'libs/release'
			$$GRADLE_JNI_DIRS$$
		]
	}
	applicationVariants.all { variant ->
		// ApplicationVariant is undocumented, but this method is widely used; may break with another version of the Android Gradle plugin
		variant.outputs.get(0).setOutputFile(new File("${projectDir}/../../../bin", "android_${variant.name}.apk"))
	}
}
apply plugin: 'com.google.gms.google-services'

Compare with yours and tell me if you see any difference.

Just checked. It differs in some places. There isn't apply plugin: 'com.google.gms.google-services' in mine at the bottom.
And there isn't classpath 'com.google.gms:google-services:3.0.0' in mine at the top under dependencies.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
$$GRADLE_CLASSPATH$$
}
}
apply plugin: 'com.android.application'
allprojects {
repositories {
jcenter()
mavenCentral()
$$GRADLE_REPOSITORY_URLS$$
}
}
dependencies {
compile 'com.android.support:support-v4:23.+'  // can be removed if minSdkVersion 16 and modify DownloadNotification.java & V14CustomNotification.java
$$GRADLE_DEPENDENCIES$$
}
android {
lintOptions {
	abortOnError false
	disable 'MissingTranslation'
}

compileSdkVersion 23
buildToolsVersion "23.0.3"
useLibrary 'org.apache.http.legacy'

packagingOptions {
	exclude 'META-INF/LICENSE'
	exclude 'META-INF/NOTICE'
}
defaultConfig {
	minSdkVersion 14
	targetSdkVersion 23
	$$GRADLE_DEFAULT_CONFIG$$
}
// Both signing and zip-aligning will be done at export time
buildTypes.all { buildType ->
	buildType.zipAlignEnabled false
	buildType.signingConfig null
}
sourceSets {
	main {
		manifest.srcFile 'AndroidManifest.xml'
		java.srcDirs = ['src'
			$$GRADLE_JAVA_DIRS$$
		]
		res.srcDirs = [
			'res'
			$$GRADLE_RES_DIRS$$
		]
	//            libs.srcDirs = ['libs']
		aidl.srcDirs = [
			'aidl'
			$$GRADLE_AIDL_DIRS$$
		]
		assets.srcDirs = [
			'assets'
			$$GRADLE_ASSET_DIRS$$
		]
		jniLibs.srcDirs = [
			$$GRADLE_JNI_DIRS$$
		]
	}
	debug.jniLibs.srcDirs = [
		'libs/debug'
		$$GRADLE_JNI_DIRS$$
	]
	release.jniLibs.srcDirs = [
		'libs/release'
		$$GRADLE_JNI_DIRS$$
	]
}
applicationVariants.all { variant ->
	// ApplicationVariant is undocumented, but this method is widely used; may break with another version of the Android Gradle plugin
	variant.outputs.get(0).setOutputFile(new File("${projectDir}/../../../bin", "android_${variant.name}.apk"))
}

}
$$GRADLE_PLUGINS$$
Do I change it to be like yours?


Dummy change to README

: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 or videos attached (for UI changes).
[ ] All your commits have a Signed-off-by line in the message (more info).

closing this, was meant for testing CI only.


Don't put array items on the same line when persisting

Rockspec fields with array values (e.g. dependencies) are typically written with each item on its own line. This change makes luarocks new-version follow this style, too. This also affects they way manifests are saved.

IIRC, this style was used because of manifest files. Since manifest files are zipped now, I suppose it makes no difference...

@hishamhm why? This doesn't change manifest size, both separators have length 2

deeply indented subtables produce lots of spaces

@hishamhm would you like an option to retain old behaviour when saving manifests or is this OK?


sign assembly with strong name

Dear Soroush,
it would be great if you would merge this request of adding a strong name to this assembly.
I also would be thankful for a new release on nuget.org with that change.
It would not harm any other user, but allows using this assembly in other assemblies and applications that already have a strong name and so need also every used assembly have a strong name.
I will also do a pull request for the CircularProgressBar.
Here you can find some information about strong naming in the dotnet project
https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/strong-name-signing.md

The latest release is signed and is available here:
https://www.nuget.org/packages/WinFormAnimation/<IP_ADDRESS>


Playlunky moves unrelated files to top level folder of a mod

This blocks e.g. having a git repository in your mod.

Closed by v0.5.9


Add stylist to docs.

Description
This PR adds stylist to css section of yew docs.
Checklist

[ ] I have run cargo make pr-flow
[x] I have reviewed my own code
[ ] I have added tests

YESSS


Update and normalize outdated import identifiers for the metering v1alpha package

Used find pkg/ test/ -type f -exec sed -i 's/cbTypes/metering/g' {} \; and grep -nrw . -e "cbTypes" to find all the occurences.
The remaining import identifiers are most likely the generated files in the pkg/ directory, and inconsistently named ones like meteringv1alpha.

/lgtm
/approve


charsets image/png undefined

is it ok that
mime.charsets.lookup(mime.lookup('.png')) === undefined

?

I believe charset is only meaningful for text/* mime types.  PNG mime type is image/png; hence, no charset.
https://tools.ietf.org/html/rfc6657

Ok, thanks for pointing)


Improve Coord and Cube attributes printout

During development of #4499, and discussion in https://github.com/SciTools/iris/discussions/4501, it was suggested that when printing cube components with names/units/attributes (i.e. derived from CFVariableMixin) we should be listing any attributes in a one-per-line fashion, as Cube.__str__ already does.
This wasn't initially done in #4499 as I was concerned it introduced more change to an already complex PR.
On subsequent investigation though, it isn't really that complex, so this PR introduces that.
Results go from looking (schematically) like
DimCoord :  name / (units)
 . . .
    long_name: 'thing'
    dtype: float64
    attributes: {'string': 'this', 'array': [1.0 2.0 3.0], 'really_long_string': 'long long long long thing', 'float':3.2}
    circular: True

to
DimCoord :  thing / (units)
 . . .
    long_name: 'thing'
    dtype: float64
    attributes:
        string     'this'
        array      [1.0 2.0 3.0]
        long_name  'long long long long thing'
        float      3.2
    circular: True

Comparing the output of attributes in Cube listings to those in Coords, I also came to the conclusion that it would be better to always quote strings when they appear as attribute values -- that is, in Cube listings also.
Luckily that is very easy to do -- though there were quite a few tests to fix, so it's a bit noisy.

Added code to clip over-long strings, as in previous comments.


Create alternative configuration store connector using encrypted files

Investigate creating a more secure configuration store connector for encrypting the storage of configurations -- in particular as configurations for various proxies may need to include credential information to access remote services that those connectors proxy.  (And per issues like #1387 and #257 these should not be stored as clear text.)
Looking at Google's Tink: https://github.com/google/tink/blob/master/docs/JAVA-HOWTO.md
It seems to tick various boxes:

simplifies the encryption process (compared to native methods)
appears to be integrated/-able into fairly complex scenarios including key rotation and remote KMSs (depending on configurability this might allow easy standalone mechanisms for starters, but enterprises being able to also configure more secure approaches that rely on external services without necessarily needing to implement a separate connector)
appears to be usable license-wise (Apache v2.0)
appears to be actively maintained (~50 contributors, updates within the last few days)

For simple (default) case, we may want to make use of a reasonably-secure local key storage technique like that enabled by https://github.com/IBM/crypto-masterkey-keystore
(This allows the key to be persisted within the OMAG Server Platform host itself, fairly securely, and therefore without relying on the presence of any external mechanisms -- like a KMS, k8s' secrets, etc.)

Initial implementation committed, not sure how we want to expose it, though...  We had briefly discussed something like a "developer mode" that we could enable to use the unencrypted connector, but I don't see anything along those lines exposed via the ConnectorConfigurationFactory today (which hard-codes the existing, non-encrypted file-based configuration store).
Do we want to wait on such a "developer mode" before making any changes to the default configuration store, or update the default to be always encrypted (and at some point in the future at a "developer mode" which allows a simple unencrypted configuration file)?

Adding pointer to #1607 -- this encrypted vs unencrypted config store could be a first "test" of whatever approach we decide to take there 😉