Error with Angular 8 ssr render

Angular v8
Project build works fine, however when app trying to start with command
node dist/server it produces such error:
TypeError: Cannot use 'in' operator to search for 'URLSearchParams' in undefined
at Module.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:10:49505)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:10:26542)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at /app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13444
at /app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:81
at Object.<anonymous> (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:189)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Module.require (internal/modules/cjs/loader.js:1025:19)
at require (internal/modules/cjs/helpers.js:72:18)
at eval (webpack:///external_%22@gobistories/gobi-web-integration%22?:1:18)
at Object.@gobistories/gobi-web-integration (/app/dist/server.js:832:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at Object.@gobistories/gobi-web-integration (webpack:///./dist/server/main.js?:48489:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/gobi/components/gobi-view/gobi-view.component.ts (webpack:///./dist/server/main.js?:26269:30)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/gobi/components/gobi-view/gobi-view.component.ngfactory.js (webpack:///./dist/server/main.js?:26222:10)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/job/components/job.component.ngfactory.js (webpack:///./dist/server/main.js?:30985:10)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/job/job.module.ngfactory.js (webpack:///./dist/server/main.js?:31401:11)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/main.server.ts (webpack:///./dist/server/main.js?:47841:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object.0 (webpack:///./dist/server/main.js?:47872:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at eval (webpack:///./dist/server/main.js?:84:18)
at eval (webpack:///./dist/server/main.js?:87:10)
at Object../dist/server/main.js (/app/dist/server.js:96:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at eval (webpack:///./server.ts?:46:10)
at Object../server.ts (/app/dist/server.js:216:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at /app/dist/server.js:84:18
at Object.<anonymous> (/app/dist/server.js:87:10)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
npm ERR! code ELIFECYCLE npm ERR! errno 1

package.json:
"@angular-devkit/build-angular": "^0.803.25",
"@angular/cli": "^8.3.25",
"@angular/compiler-cli": "^8.2.14",
"webpack-cli": "^3.1.2",
 "webpack-node-externals": "^1.7.2"

 "engines": {
      "node": "12.18.3"
    }

webpack.config.js:
module.exports = {
    entry: {
        server: './server.ts'
    },
    resolve: {
        extensions: ['.js', '.ts'],
        alias: {
           '@gobistories/gobi-web-integration$': <EMAIL_ADDRESS>        }
    },
    target: 'node',
    externals: [
        /(node_modules|main\..*\.js)/,
        nodeExternals({
            whitelist: [
                /^@gobistories\/gobi-web-integration/,
            ]
        })
    ],
    output: {...}
...

angular.json:
 "projects": {
    "...": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/browser",
            "index": "src/index.html",
            "main": "src/main.ts",
            "tsConfig": "src/tsconfig.app.json",
            "polyfills": "src/polyfills.ts",
            "assets": [
              "src/assets"
            ],
            "styles": [
              ...
            ],
            "scripts": [
<EMAIL_ADDRESS>            ]
            ...

Hi @DireWereWolf ,
Thanks for reporting the issue! Just to help me figure out whats going wrong here, could you answer a few questions?

What version of @gobistories/gobi-web-intergration are you currently on?
Have you been able to run your code on any earlier versions of @gobistories/gobi-web-intergration
You are trying to just run your development server for your angular project, correct?

Thanks!

Hi @DireWereWolf ,
Thanks for reporting the issue! Just to help me figure out whats going wrong here, could you answer a few questions?

What version of @gobistories/gobi-web-intergration are you currently on?
Have you been able to run your code on any earlier versions of @gobistories/gobi-web-intergration
You are trying to just run your development server for your angular project, correct?

Thanks!

Sure,

"@gobistories/gobi-web-integration": "^6.9.4",
We haven't tried previous versions, only this one
Yes, we tried to run built version for development server, btw
the rest of third-parties which added to config in a same way (I've added config example in issue description) works fine, for example cropperjs. Maybe it will help you figure out the issue

Thank you!
It seems like there is an issue with the fetch polyfill we have been using, causing error on node applications in some instances (https://github.com/github/fetch/issues/821).
I have pushed a new version of @gobistories/gobi-web-intergration, 6.9.8, could you try again with that version?

@taraldga
We've tried to build project with latest package version (6.9.8) and had such error
(now it occurs on a build stage, even earlier than we had before)
-----> Installing binaries
       engines.node (package.json):  12.18.3
       engines.npm (package.json):   unspecified (use default)

       Resolving node version 12.18.3...
       Downloading and installing node 12.18.3...
       Using default npm version: 6.14.6

-----> Restoring cache
       Cached directories were not restored due to a change in version of node, npm, yarn or stack
       Module installation may take longer for this build

-----> Installing dependencies
       Installing node modules
       npm ERR! @babel/polyfill not accessible from @gobistories/gobi-web-integration

       npm ERR! A complete log of this run can be found in:
       npm ERR!     /tmp/npmcache.iQ1wY/_logs/2020-12-18T15_23_28_015Z-debug.log

@taraldga
We've fixed build (problem was on our side, however it doesn't help.
Error after fix (mentioned it for the future, if you gonna update some guides or examples
ReferenceError: navigator is not defined
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:8:3041)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:10:5140)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:27533)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:93:1940)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:10:62097)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:10:29931)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at /app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13444
at /app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:81
at Object.<anonymous> (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:189)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Module.require (internal/modules/cjs/loader.js:1025:19)
at require (internal/modules/cjs/helpers.js:72:18)
at eval (webpack:///external_%22@gobistories/gobi-web-integration%22?:1:18)
at Object.@gobistories/gobi-web-integration (/app/dist/server.js:832:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at Object.@gobistories/gobi-web-integration (webpack:///./dist/server/main.js?:48487:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/gobi/components/gobi-view/gobi-view.component.ts (webpack:///./dist/server/main.js?:26269:30)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/gobi/components/gobi-view/gobi-view.component.ngfactory.js (webpack:///./dist/server/main.js?:26222:10)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/job/components/job.component.ngfactory.js (webpack:///./dist/server/main.js?:30983:10)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/job/job.module.ngfactory.js (webpack:///./dist/server/main.js?:31399:11)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/main.server.ts (webpack:///./dist/server/main.js?:47839:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object.0 (webpack:///./dist/server/main.js?:47870:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at eval (webpack:///./dist/server/main.js?:84:18)
at eval (webpack:///./dist/server/main.js?:87:10)
at Object../dist/server/main.js (/app/dist/server.js:96:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at eval (webpack:///./server.ts?:46:10)
at Object../server.ts (/app/dist/server.js:216:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at /app/dist/server.js:84:18
at Object.<anonymous> (/app/dist/server.js:87:10)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)

We've fixed it on our side in server.ts with line
global['navigator'] = win.navigator;
After that another error had raised:
ReferenceError: btoa is not defined
at /app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:21804
at /app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:22183
at u (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:22293)
at e.exports (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:23183)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:93:8267)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:93:6808)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:10:62106)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at Object.i.m.r (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:10:29931)
at i (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13541)
at /app/node_modules/@gobistories/gobi-web-integration/dist/index.js:94:13444
at /app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:81
at Object.<anonymous> (/app/node_modules/@gobistories/gobi-web-integration/dist/index.js:2:189)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Module.require (internal/modules/cjs/loader.js:1025:19)
at require (internal/modules/cjs/helpers.js:72:18)
at eval (webpack:///external_%22@gobistories/gobi-web-integration%22?:1:18)
at Object.@gobistories/gobi-web-integration (/app/dist/server.js:832:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at Object.@gobistories/gobi-web-integration (webpack:///./dist/server/main.js?:48487:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/gobi/components/gobi-view/gobi-view.component.ts (webpack:///./dist/server/main.js?:26269:30)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/gobi/components/gobi-view/gobi-view.component.ngfactory.js (webpack:///./dist/server/main.js?:26222:10)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/job/components/job.component.ngfactory.js (webpack:///./dist/server/main.js?:30983:10)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/app/job/job.module.ngfactory.js (webpack:///./dist/server/main.js?:31399:11)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object../src/main.server.ts (webpack:///./dist/server/main.js?:47839:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at Object.0 (webpack:///./dist/server/main.js?:47870:18)
at __webpack_require__ (webpack:///./dist/server/main.js?:20:30)
at eval (webpack:///./dist/server/main.js?:84:18)
at eval (webpack:///./dist/server/main.js?:87:10)
at Object../dist/server/main.js (/app/dist/server.js:96:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at eval (webpack:///./server.ts?:47:10)
at Object../server.ts (/app/dist/server.js:216:1)
at __webpack_require__ (/app/dist/server.js:20:30)
at /app/dist/server.js:84:18
at Object.<anonymous> (/app/dist/server.js:87:10)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)

Possible solution could be here, but it should be in a library, please have a look
https://stackoverflow.com/questions/23097928/node-js-throws-btoa-is-not-defined-error

Hi again @DireWereWolf,
Good to hear that it worked to "manually" assign the variable. It seems like you are indeed right about this, and I suppose that the btoa library is something that we should include in the package for SSR solutions.
I was wondering, could you try to install the package in your codebase, and eventual others that might cause issues later and report them to me? That way I can add them to our package itself, so that we better can support SSR in the feature, and possibly save some communication time in the process?
Link to a BTOA for nodeJS: https://www.npmjs.com/package/btoa

@taraldga
We installed btoa, after that defined it in server.ts (before we import AppServerModule)
const btoa = require('btoa');
Had the same error,
however when we added btoa to global with global['btoa'] = btoa
It has been fixed
so the fix was with:

btoa install
update of server.ts with lines

const btoa = require('btoa');
global['btoa'] = btoa;

Thanks for support

@DireWereWolf Wonderfull, thanks for updating us! I will try to figure out a way to do this smoother, and update our readme.md.


Remove peer IP check in NOTRACK rules

For a IPv6 cluster, the ipset of Node IPs needs to be inet6, this may introduce a few more code to maintain the NOTRACK rules. This patch removes the peer IP check to make the rule simpler and applicable to both IPv4 and IPv6.

@lzhecheng reported that the ipv6 branch would crash after rebasing on master:
ip6tables-restore v1.8.4 (legacy): The protocol family of set ANTREA-NODE-IP is IPv4, which is not applicable.

One fix is to add IPv6 family ipset if Node IP's IPv6, but I guess it would make it further from @jianjuns's expectation, so this patch removes the peer IP check to simplify it, assuming the tunnel UDP port in use won't be used for other purposes.

/test-all

/test-all
@jianjuns @antoninbas could you re-approve? just rebased on master

Codecov Report

Merging #1476 into master will decrease coverage by 25.34%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           master    #1476       +/-   ##
===========================================
- Coverage   67.69%   42.34%   -25.35%
===========================================
  Files         165       91       -74
  Lines       13084    10704     -2380
===========================================
- Hits         8857     4533     -4324
- Misses       3290     5772     +2482
+ Partials      937      399      -538

Flag
Coverage Δ

integration-tests
?

kind-e2e-tests
?

unit-tests
42.34% <100.00%> (+0.05%)
:arrow_up:

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


Video *.webm does not plays in windows

Godot version: Godot Engine v3.2.1.stable.official
OS/device including version: Microsoft Windows [Version 10.0.18363.720]
Issue description:
The video doesn't plays on Windows in Godot 3.2.1 stable and closes automactically.
Steps to reproduce:

Create a project
Add Video Player Node to the Control Node
Add a video with the file extension *.webm
Set Autoplay to True
4.Play the project.

Minimal reproduction project:
VideoPlayer.zip

I manged to reproduce the issue using the sample project on linux.
It work on my end when switching the renderer to GLES2.

I tried to change to GLES2. It doesn't even start.

Came here to open a bug report on this. Same problem as described by sairam4123 on Windows 10. Doesn't work on GLES2 or GLES3. Theora plays fine.

Any updates?

@sairam4123, I think someone'll post here as soon as a pull request appears, but for the time being you should convert your videos to Theora and use that.

Did any one found the answer?

@sairam4123 Not that I know of, sorry.

Since my duplicate issue was closed I am writing the info here:
It happens with a VP9 encoded file on Windows but not a VP8 encoded file from webmfiles.org
Works on Linux with both VP8 and VP9
Works on Android with VP9 (VP8 not tested)

In case anyone ends up in this thread and want to "solve" this issue, I was able to get decent VP8 conversion using these options:
ffmpeg -i <video-path>.webm -c:v libvpx -crf 10 -b:v 2M -c:a copy <video-path>-vp8.webm
It is a lossy conversion though, so you probably want to keep the original and use it as soon as this is fixed.

For me unfortunately the workaround is very bad as I need to download arbitrary videos, and making sure that if it's VP9 it gets an extra conversion is bad for the user.

So we can't do any kind of test to see if it will crash apart from using something like ffprobe. Combined with the fact that we can't use pipes to give feedback on the conversion without resorting to a separate app with a rest-type interface, it's a pretty debilitating bug.

@iMartyn Unfortunately, WebM has proven difficult to work with. This is why we plan to remove built-in support in a future release and move it to a FFmpeg-based add-on that provides similar functionality (but hopefully in a more reliable way).

I'm aware of that project, that also crashes with VP9 video too https://github.com/kidrigger/godot-videodecoder/issues/29 over there ;-)

I recommend using Theirs until this bug is fixed.

Theora is very expensive CPU-wise to transcode - my app/game has to download arbritrary videos so I'm having to convert from VP9 to VP8 which is bad UX as it is.  Transcoding to Theora takes even longer.

Isn't Theora faster to encode compared to VP8, being a simpler/older format? Generally, more recent codecs are more expensive to decode and encode.

Whilst theoretically you should be correct, this is not borne out in my results - I suspect because of acceleration features that can be used.  The ffmpeg binary release for windows transcodes from VP9 to VP8 significantly faster than VP9 to Theora.  Also, right now, because the ffmpeg-based addon a. only supports VP9 (which, given it's ffmpeg, why not support all the formats ffmpeg supports?) b. only works on linux and c. can't register for load() calls for .webm because of VideoStreamWebM it's somewhat unusable right now.
Also, seek() doesn't work in VideoStreamWebM which hamstrings my development as well.

Can confirm in Godot 3.3.2.stable.


Layout using VueJs

New Feature Proposal
For more information, see the CONTRIBUTING guide.
Description
Is there a way to use VueJs as the layout for piral
Background
Currently are team is planning to use vuejs, and we are looking to use piral. And due to that we also want to use Vuejs for the Layout instead of react.
Discussion

Right now the app shell is made using React. In this mode your options are:

Use distributed layouts (by putting the layout elements in a pilet and referencing those via extensions, see https://github.com/piral-samples/piral-distributed-layout)
Use the piral-page-layouts plugin to enable page layouts - making the initial layout rather empty and then specifying your layout(s) in Vue

In general we are thinking about making the app shell actually configurable such that you can use whatever framework you like (as long as there would be an adapter, which is something different from a converter).
For this to happen we would need to invest in development of the adapter architecture, converting the existing code into the React adapter and making a new adapter for Vue.
For us, this is at the moment a quite low prio as (besides you) no one we know of would use it. If that work would be supported (either by a sponsorship or by source code contributions) then it would be doable. Otherwise, the two options listed above need to be sufficient.

It will be interesting about making the piral instance layouting framework independent.


[SPARK-9681] [ML] Support R feature interactions in RFormula

This integrates the Interaction feature transformer with SparkR R formula support (i.e. support :).
To generate reasonable ML attribute names for feature interactions, it was necessary to add the ability to read attribute the original attribute names back from StructField, and also to specify custom group prefixes in VectorAssembler. This also has the side-benefit of cleaning up the double-underscores in the attributes generated for non-interaction terms.
@mengxr

Merged build triggered.

Merged build started.

Test build #42695 has started for   PR 8830 at commit b16795a.

Test build #42695 has finished for   PR 8830 at commit b16795a.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42695/
Test FAILed.

Merged build triggered.

Merged build started.

Test build #42706 has started for   PR 8830 at commit 15b4da7.

Test build #42706 has finished for   PR 8830 at commit 15b4da7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42706/
Test PASSed.

Merged build finished. Test PASSed.

I only checked RFormulaParser.scala. Need more time to go through the rest.

Merged build triggered.

Merged build started.

Test build #42805 has started for   PR 8830 at commit 41dc78b.

Test build #42805 has finished for   PR 8830 at commit 41dc78b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/42805/
Test PASSed.

@ericl I think the only issue left is the groupPrefixes param in VectorAssembler. It would be nice to keep the feature name handling under the hood.

comment should be addressed

Merged build triggered.

Merged build started.

Merged build triggered.

Merged build started.

Test build #42995 has started for   PR 8830 at commit 145569a.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42994/
Test FAILed.

Test build #42995 has finished for   PR 8830 at commit 145569a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/42995/
Test PASSed.

LGTM. Merged into master. Thanks!


[QUESTION] SatateListenerProvider with family

Describe why existing examples/articles do not cover this case
I could not find anything about using StateNotifierProvider with family in the docs.
static final provider =
    StateNotifierProvider
        .autoDispose
        .family<ListingState, ListingModel, String?>((ref, profession) => ListingState(profession));

In my ConsumerWidget, I want to access the state and edit the state. To get the state:
final listingState = ref.watch(ListingState.provider(profession));

My question is to edit the state, I need to call the .notifier. I could only do that while passing an argument again.
final listingStateNotifier = ref.watch(ListingState.provider(profession).notifier);

Is this the right way of doing this? If so, it doesn't feel right. Even though passing the same argument, would changing the state using listingStateNotifier effects the state on listingState?
Additional context
dependencies:
  flutter:
    sdk: flutter

  flutter_riverpod: ^1.0.0-dev.6

This is the right thing to do, you need to tell the container exactly which provider you want, as you can have many providers of the same type with different parameters (you don't have a single provider, you can have a 'family' of them).
Yes, you will get the right provider instance and you will change the correct state. As long as Riverpod can find the right one, I think you need to override operator== and hashCode for it, as described here https://riverpod.dev/docs/concepts/modifiers/family#parameter-restrictions.

Thanks for the answer, it cleared a lot. I've got a new question now. If I want to use listingState in some other widgets and I don't have access to the profession argument, how can this be done?
Passing down the profession argument would work. I'm just wondering that what would be the best practice here.

You can have profession be in a provider and override it for the subtree using ProviderScope with whatever the parameter should be for that subtree.


Members not in Alphabetical Order

The members are sorted in the order in which they were added to SP, however alphabetical order does make more sense.


leye does not start in 15 seconds

There is something wrong, when I try to start leye:
ubuntu@ubuntu-xenial:/vagrant$ leye load
server has not started in 15 seconds, something is very wrong

My environment is:
ubuntu@ubuntu-xenial:/vagrant$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
ubuntu@ubuntu-xenial:/vagrant$ leye version
Eye v0.9.2 (c) 2012-2016 @kostya
ubuntu@ubuntu-xenial:/vagrant$ uname -a
Linux ubuntu-xenial 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@ubuntu-xenial:/vagrant$

try:
gem install sigar -- --with-cppflags="-fgnu89-inline"
gem install eye

leye has started now, thank you very much!


remote setup problem

Followed all the steps lain out here: https://github.com/mukulhase/WebWhatsapp-Wrapper#docker-and-remote-selenium-installation
And got this:
Traceback (most recent call last):
  File "sample/remote.py", line 35, in <module>
    for contact in driver.get_unread():
  File "/usr/local/lib/python3.8/site-packages/webwhatsapi/__init__.py", line 416, in get_unread
    raw_message_groups = self.wapi_functions.getUnreadMessages(
  File "/usr/local/lib/python3.8/site-packages/webwhatsapi/wapi_js_wrapper.py", line 44, in __getattr__
    wapi_functions = dir(self)
TypeError: 'NoneType' object is not iterable

my bad

Hi @Ombental ,
I am having this issue. Can you please explain on how did you fix it?

Hey @RabiRoshan
I actually don't quite remember, Sorry


Remove references to MS Open Tech

Updating remaining references of Microsoft Open Technologies to Microsoft.
Note that I didn't use Microsoft Corporation as (C) Copyright Microsoft. All Rights Reserved. is the recommended header in source files (i.e. with no Corporation). However I didn't think it was worth the churn to also go update the majority of the headers which currently have (C) Copyright Microsoft Corporation.

Hi @martinwoodward, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Martin Woodward). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


Use correct API version, event.get and event.set

This addresses https://github.com/elastic/logstash/issues/6122 and was tested with existing RSpec tests.
fixes #15

Changes LGTM, waiting on travis test run.

Needed a travis fix.  Added:
jdk: oraclejdk8

This version has been published to RubyGems now


Make lexer generation stick to the class instead of the token-kind

Is your feature request related to a problem? Please describe.
Right now the lexer generator generates a fixed class we can't modify. We can't provide our own constructor, override the method, ...
Describe the solution you'd like
We should be able to customize the generated lexer class fully, like the parser.
Describe alternatives you've considered
We could externalize the [Lexer] attribute, and make it stick to the class we generate instead of the token-kind. It would be very similar to what we did to the visitor library recently:
[Lexer(TokenKind = typeof(TokenType))]
partial class MyLexer {}

A nice side-effect is getting rid of the last ugly string-encoded type name.

@skneko you have mentioned that  on premise token definitions would also be nice, what are your thoughts on that? How would you imagine the annotations for it?

Ah, I think that was a misunderstanding. I meant the ability to add constructors, fields, overrides... which is already covered in the issue.
The benefits would require the class to be partial (nothing new, justice the other cases) and then the source generators need to create a parallel partial class definition.


将 Pod 指派给节点

pods/pod-with-node-affinity.yaml与下方文字描述不一致

Page: https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/
/language zh

/triage accepted
The YAML file was not sync'ed with English version.

/assign


WA Member Count

Added WA Member count to homepage

Looks great! +1

Oh, one extra thing @adamtbeames - You'll notice on line 256 there's a mobile counter. If you have a look at the mobile version of the site the WA member counter goes away. Currently they're two different elements (not sure if that can be fixed).


[Release 1.3.5] Version increment

Description
Incremented version to 1.3.5.
Issues Resolved
Part of: https://github.com/opensearch-project/opensearch-build/issues/2348
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

For next 1.3.x version increment we dont need to add manual zips to repo as the PR https://github.com/opensearch-project/dashboards-reports/pull/422 merged.
Thank you


SBT download piccolo link return 500

curl -L --head https://piccolo.link/sbt-1.3.10.tgz
HTTP/1.1 500 Internal Server Error
content-type: text/html; charset=UTF-8
x-powered-by: PHP/7.1.22
cache-control: no-cache, private
date: Wed, 16 Sep 2020 14:55:22 GMT

OT, but I did come into possession of the xsbt.org domain a while ago.
(when SBT was still xsbt)
If you guys want to use that I'll happily hand it over.
http://xsbt.org/

@willohuabunwathd Thanks for the report. Are you still experiencing this issue?
I can't reproduce it locally.
@melezov Thanks for the offer, but I think we're ok. If being able to change the domain name is an option we should use a subdomain of scala-sbt.org.

Seeing issues with piccolo.link in the last few hours both locally and in our CI.
Tried a few random links on the SBT download page and saw the same.
curl -L --head https://piccolo.link/sbt-1.2.8.tgz
HTTP/1.1 500 Internal Server Error
content-type: text/html; charset=UTF-8
x-powered-by: PHP/7.1.22
cache-control: no-cache, private
date: Wed, 23 Sep 2020 17:52:11 GMT

When I hit it in my browser locally I sometimes get a generic 502 or 503, sometimes an error message "Whoops, looks like something went wrong."

I pinged @dwijnand and @SethTisue about this.

Fwiw, we are seeing this issue:
--2020-09-23 18:08:37--  https://piccolo.link/sbt-1.2.8.tgz
Resolving piccolo.link (piccolo.link)... <IP_ADDRESS>
Connecting to piccolo.link (piccolo.link)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2020-09-23 18:09:09 ERROR 500: Internal Server Error.

in GCP in the us-central1 region.

Sorry for the delay @eed3si9n but it seems the issue is intermittent..but it is definitely still happening. Below is the logs from Actions

This has become systematic in the past ~18 hours or so. It blocks every AppVeyor build using sbt I think (at least the one in lampepfl/dotty).

Hi, same issue our side. Has anyone a solution to workaround temporary ?

The workaround we're using is to use the GitHub link instead.
Instead of https://piccolo.link/sbt-<SBT_VERSION>.tgz
Use https://github.com/sbt/sbt/releases/download/v<SBT_VERSION>/sbt-<SBT_VERSION>.tgz

It works, thanks !

On Debian there's also https://dl.bintray.com/sbt/debian/sbt-SBT_VERSION>.deb as a workaround

We'll try to switch over SDKMAN to use the GitHub Releases URL too.

SDKMAN is now switched over - https://github.com/sdkman/sdkman-db-migrations/pull/348
Locally at least piccolo link seems to be coming back up too:
$ curl -L --head https://piccolo.link/sbt-1.3.13.tgz
HTTP/1.1 301 Moved Permanently
content-type: text/html; charset=UTF-8
x-powered-by: PHP/7.1.22
cache-control: no-cache
date: Thu, 24 Sep 2020 19:11:28 GMT
location: https://sbt-downloads.cdnedge.bluemix.net/releases/v1.3.13/sbt-1.3.13.tgz
set-cookie: XSRF-TOKEN=eyJpdiI6Ik51QkxtZ0xcL0h4Y2pDdFdsNUttT2N3PT0iLCJ2YWx1ZSI6IncxT0diNjJQVG8yVFBJdUVIbktxVmMxTWtxcDI5enJQcFk1MG80Tnl4aTF1WmlGVGhLZFRyR2cyOHJud3JoSk5LeFBsRWFraFkxK2NDMXV1NlBcL05Wdz09IiwibWFjIjoiZDZlZTAxZjI2MDE4MGJlYzhiZDRiYjQ5YTU5OWNiOGRhMGUyNWEyM2ZhMGEwOTU3NGY4MDdmMzEyZDA5ZDFmMyJ9; expires=Thu, 24-Sep-2020 21:11:28 GMT; Max-Age=7200; path=/
set-cookie: laravel_session=eyJpdiI6Im10bGRHbk91b1I4N3pocTEzTUdyM1E9PSIsInZhbHVlIjoibzN4eFFRcGJoQVJRUWpnaUdiMXVIenNTZmVQNXF1OUVWYlR0aUxPbDBPbE9Yb3Z1SWU0N3Z5aHFNSEEzVzd4UU9RZUJSRXlxcG0rTVlKRU14MXlwRWc9PSIsIm1hYyI6IjUzZjg4M2MzNDJkNWJlODgwYmUwZDkwMjEzNDJiYWJlOTM3Yjc3YmNiNWNiMmIwNjI2NGJmZTYyODAxOWI2YjIifQ%3D%3D; expires=Thu, 24-Sep-2020 21:11:28 GMT; Max-Age=7200; path=/; HttpOnly
set-cookie: f7929d53dc4eac581de8f1dac5c92c3306a2bb93=eyJpdiI6Ik80TkZTTHVpNk9oWE52cWZvZGNkemc9PSIsInZhbHVlIjoiZFI2dHFxQUphZHg4dlJUS1pMTEpqXC9JcnFRWE1MVEZTSmV4eGtoZjE1N2djWnZKZnc0RnBMUkMwbmw2cEhrdnJSZElBTGRrdG1yYkYrdU1lK2ViMjljcE5GT0ZSRnZENkZIallGY1ZWZ2dRbzZ2Z2Y1OEkxcEJqbFdrMFVqeEdiSjVjOFZudzdmaWpWdEVPYkJNY3l6WlZaS0tSSVhaWjJueENJREl3Z25NSzRxYVdBRDBuMEtuWU15NUtSd1hzc01YUlFKWmdcL0FmOGkzK2RwZE5QSzk2S2hmOEIyMmk0WXlFZlhlZjBSd3RvRTR6TVMzckFzdzJPWm9LamJsQXQyRjdpa1A2OGZ4VVcydjY0SG9YcERFQk5PeDNYeFNmdEVmOFdUWGlBcFROdFBORnQ5RlJWckhCRXprN0tYd0prbERjWmt3TXQ2cjllTUtUXC9reXc3VlwvbGh4dmlCNktPbGNNWkZOc3ZTQkQ2RT0iLCJtYWMiOiIxZjgzZGVjOGRiYzU2Nzk0NzdhODM2OGMzMzI1NTQxZTExMjQ1NTVkN2MwN2Y0ZWE0ZmZjZGI2MDViYjhlYWNmIn0%3D; expires=Thu, 24-Sep-2020 21:11:28 GMT; Max-Age=7200; path=/; HttpOnly

HTTP/2 200
x-clv-request-id: 019f0ac1-b875-4d4b-8397-e46fd6714db4
server: Cleversafe/<IP_ADDRESS>
x-clv-s3-version: 2.5
accept-ranges: bytes
x-amz-request-id: 019f0ac1-b875-4d4b-8397-e46fd6714db4
etag: "41de26ec7fe046c601a85c1dbf326c66"
content-type: application/x-gzip
last-modified: Sat, 27 Jun 2020 22:20:17 GMT
content-length: 1227567
date: Thu, 24 Sep 2020 19:11:29 GMT

This is resolved so closing this issue. Thanks for helping @eed3si9n

Maybe I spoke too soon about piccolo.link
$ curl -L --head https://piccolo.link/sbt-1.3.13.tgz
HTTP/1.1 500 Internal Server Error
content-type: text/html; charset=UTF-8
x-powered-by: PHP/7.1.22
cache-control: no-cache, private
date: Sun, 11 Oct 2020 19:21:58 GMT


An item with the same key has already been added.

When batch updates and additions occur, the following error occurs:
An item with the same key has already been added. Key: p2068，
StackTrace:
at System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException(Object key)
at System.Collections.Generic.Dictionary2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary2.Add(TKey key, TValue value)
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.CreateStoreCommand()
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.Execute(IRelationalConnection connection)
at Microsoft.EntityFrameworkCore.Update.Internal.MySqlBatchExecutor.Execute(IEnumerable1 commandBatches, IRelationalConnection connection) at Microsoft.EntityFrameworkCore.Storage.RelationalDatabase.SaveChanges(IReadOnlyList1 entries)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(IReadOnlyList`1 entriesToSave)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(Boolean acceptAllChangesOnSuccess)
at Microsoft.EntityFrameworkCore.DbContext.SaveChanges(Boolean acceptAllChangesOnSuccess)
at Microsoft.EntityFrameworkCore.DbContext.SaveChanges()

EF Team Triage: This issue is lacking enough information for us to be able to effectively triage it. In particular, it is missing the following information requested in the new issue template. Can you please provide this information?

Steps to reproduce

Ideally include a complete code listing that we can run to reproduce the issue.
Alternatively, you can provide a project/solution that we can run.
BTW we're not just doing this to be mean :smile:... we get a lot traffic on this project and it takes time to attempt to reproduce an issue based on fragments of information. In addition, our attempt is often unsuccessful as the exact conditions required to hit the issue are often not explicitly included in the code provided. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we ask that folks give us a self-contained way to reproduce an issue.
For a guide on submitting good bug reports, read Painless Bug Tracking.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.

My test environment is as follows：
system:win10 ,
database:mysql 5.7 ,
Entity Framework Core provider for MySql: Pomelo.EntityFrameworkCore.MySql  2.0.0-rtm-10058
EF version 2.0
IDE: Visual Studio 2017
code:
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Compute();
Console.Read();
}
private static void Compute()
{
List<share_details> _lishare = new List<share_details>();
List<consumption_details> _liconsumpe = new List<consumption_details>();
List<sales_details> _lisale = new List<sales_details>();
for (int i = 0; i < 5000; i++)
{
share_details sh1 = new share_details();
sh1.coins = 100;
sh1.create_time = DateTime.Now;
sh1.ip = "<IP_ADDRESS>";
sh1.new_balance = 1000;
sh1.new_coins = 1000;
sh1.old_balance = 999;
sh1.old_coins = 999;
sh1.type = 1;
sh1.user_id = i;
_lishare.Add(sh1);
sh1 = new share_details();
sh1.coins = 100;
sh1.create_time = DateTime.Now;
sh1.ip = "<IP_ADDRESS>";
sh1.new_balance = 1000;
sh1.new_coins = 1000;
sh1.old_balance = 999;
sh1.old_coins = 999;
sh1.type = 1;
sh1.user_id = i;
_lishare.Add(sh1);
consumption_details con = new consumption_details();
con.create_time = DateTime.Now;
con.from_original_points = 1000;
con.from_uid = 100;
con.points = 1000;
con.to_original_points = 1000;
con.to_uid = i;
con.type = 1;
con.uid = i;
_liconsumpe.Add(con);
            var salepoint = new sales_details();
            salepoint.create_time = DateTime.Now;
            salepoint.points = 100.1;
            salepoint.to_original_points = 1000;
            salepoint.to_uid = i;
            salepoint.type = 1;
            _lisale.Add(salepoint);

        }

        try
        {
            using (var context = new ShareBaContext())
            {
                foreach (var item1 in _lishare)
                {
                    context.share_details.Add(item1);
                    break;
                }
                foreach (var item2 in _liconsumpe)
                {
                    context.consumption_details.Add(item2);
                }
                foreach (var item in _lisale)
                {
                    context.sales_details.Add(item);
                }
                context.SaveChanges();
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

    }
}
public class sales_details
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long id { get; set; }

    public DateTime create_time { get; set; }

    public double to_original_points { get; set; }

    public double points { get; set; }

    public long to_uid { get; set; }

    public byte type { get; set; }

    public long rewareID { get; set; }

    public string reponsetext { get; set; }

}
public class consumption_details
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long id { get; set; }

    public DateTime create_time { get; set; }

    public double from_original_points { get; set; }

    public double to_original_points { get; set; }

    public double points { get; set; }

    public long from_uid { get; set; }

    public long to_uid { get; set; }

    public byte type { get; set; }

    /// <summary>
    /// 奖励积分ID
    /// </summary>
    public long rewareID { get; set; }
    /// <summary>
    /// 回复内容
    /// </summary>
    public string reponsetext { get; set; }
    public long uid { get; set; }

}
public class share_details
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long id { get; set; }

    public DateTime create_time { get; set; }

    public long user_id { get; set; }

    public double new_coins { get; set; }

    public double old_coins { get; set; }

    public double new_balance { get; set; }

    public double old_balance { get; set; }

    public string ip { get; set; }

    public double coins { get; set; }

    public byte type { get; set; }

}
public class ShareBaContext : DbContext
{
    public DbSet<consumption_details> consumption_details { get; set; }

    public DbSet<sales_details> sales_details { get; set; }

    public DbSet<share_details> share_details { get; set; }
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
       optionsBuilder.UseMySql("Server=localhost;database=testmysql;uid=root;pwd=123456;");
    }
}

}
sql:
/*
SQLyog Professional v12.09 (64 bit)
MySQL - 5.7.17-log : Database - testmysql

*/
/*!40101 SET NAMES utf8 */;
/!40101 SET SQL_MODE=''/;
/!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 /;
/!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 /;
/!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' /;
/!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 /;
CREATE DATABASE /!32312 IF NOT EXISTS/testmysql /*!40100 DEFAULT CHARACTER SET utf8 */;
USE testmysql;
/*Table structure for table consumption_details */
DROP TABLE IF EXISTS consumption_details;
CREATE TABLE consumption_details (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
uid bigint(20) unsigned NOT NULL DEFAULT '0',
from_uid bigint(20) unsigned NOT NULL,
to_uid bigint(20) unsigned NOT NULL,
create_time datetime NOT NULL,
from_original_points double(20,2) unsigned NOT NULL,
to_original_points double(20,2) unsigned NOT NULL,
points double(20,2) unsigned NOT NULL,
type tinyint(3) unsigned NOT NULL,
rewareID bigint(20) DEFAULT '0',
reponsetext varchar(200) DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=3282799 DEFAULT CHARSET=utf8 COMMENT='';
/*Table structure for table sales_details */
DROP TABLE IF EXISTS sales_details;
CREATE TABLE sales_details (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
create_time datetime NOT NULL,
to_original_points double(20,2) unsigned NOT NULL,
points double(20,2) unsigned NOT NULL,
to_uid bigint(20) unsigned NOT NULL,
type tinyint(4) unsigned NOT NULL DEFAULT '0',
rewareID bigint(20) DEFAULT '0',
reponsetext varchar(200) DEFAULT '',
PRIMARY KEY (id),
KEY create_time (create_time,to_uid)
) ENGINE=InnoDB AUTO_INCREMENT=3005479 DEFAULT CHARSET=utf8 COMMENT='';
/*Table structure for table share_details */
DROP TABLE IF EXISTS share_details;
CREATE TABLE share_details (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
create_time datetime NOT NULL,
user_id int(10) unsigned NOT NULL,
new_coins double(20,4) unsigned NOT NULL DEFAULT '0.0000',
old_coins double(20,4) unsigned NOT NULL DEFAULT '0.0000',
new_balance double(20,4) unsigned NOT NULL DEFAULT '0.0000',
old_balance double(20,4) unsigned NOT NULL DEFAULT '0.0000',
ip varchar(15) NOT NULL DEFAULT '',
coins double(20,4) unsigned NOT NULL DEFAULT '0.0000',
type tinyint(3) unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (id),
KEY create_time (create_time,user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='';
/*!40101 SET SQL_MODE=@OLD_SQL_MODE /;
/!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS /;
/!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS /;
/!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

@falps This seems to work find with the SQL Server provider, so it looks like it could be an issue with the MySQL provider. I would suggest filing an issue here: https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

I'm also having this isue

I have the same issue...


GlobalCluster (with sourceDBClusterIdentifier specification) is not created properly if created at same time as DBCluster

Describe the bug
GlobalCluster (withsourceDBClusterIdentifier specification) is not created properly if created at same time as DBCluster.
Steps to reproduce

Create combined yaml file with GlobalCluster and DBCluster

cluster.yaml
---
apiVersion: v1
kind: Secret
metadata:
  name: branche-test-rds-master-password
data:
  password: "ZGVhZGJlYWZkZWFkYmVhZmRlYWRiZWFm"

---
apiVersion: rds.services.k8s.aws/v1alpha1
kind: GlobalCluster
metadata:
  name: branche-test
spec:
  globalClusterIdentifier: branche-test-preview-na1
  sourceDBClusterIdentifier: arn:aws:rds:us-east-1:<account>:cluster:us-east-1-branche-test

---
apiVersion: rds.services.k8s.aws/v1alpha1
kind: DBCluster
metadata:
  name: branche-test
spec:
  engine: aurora-mysql
  databaseName: database_name
  dbClusterIdentifier: us-east-1-branche-test
  masterUsername: root
  masterUserPassword:
    namespace: preview
    name: branche-test-rds-master-password
    key: password

Apply changes to k8s

kubectl apply -f cluster.yaml

Expected outcome
GlobalCluster is created properly.
Actual outcome
GlobalCluster fails to create because the DBCluster takes a while to create in AWS and DBClusterNotFoundFault is a terminal condition.

We just need to remove DBClusterNotFoundFault as a terminal condition, just like how DBInstance works.
Environment

Kubernetes version: 1.21
Using EKS (yes/no), if so version? Yes
AWS service targeted (S3, RDS, etc.) RDS

This issue has been mitigated with aws-controllers-k8s/rds-controller#40

/close


Capability Discovery Plugin Backend

[ ] Implement Capability-Discovery-Backend plugin
[ ] Review new Entity concept in Backstage
[ ] Implement logic that will map capabilities to entities, expose them via the software catalog and enable deep-linking from each individual capability entity to the "Capability Discovery Plugin"
[ ] Test backend plugin

Aha! Link: https://dfds.aha.io/features/CLOUD-81

https://backstage.io/docs/features/software-catalog/references

Spoke with Patrick today and as such we agreed that the best initial approach for this is to build a client-side "backend" plugin so we can reach the users ID token.

PR: https://github.com/dfds/backstage/pull/325


support "endAdornment" ?

the original material-ui support "endAdornment" props for text fields.
Does anyone know how to make it available?  Thank you

eg: add
InputProps={{
endAdornment: Kg,
}}
let me close this


Call by value and call by reference in C++

Description
Call by value and call by reference in C++
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


It has one only

No matter what, it only has one fact.

i'm might be working on more, in the future


💡[FEATURE]: In Facebook Prophet: I want to add ARIMA and LSTM for predictions and better EDA for visualizing the data.

Is your feature request related to a problem? Please describe.
The data visualization is not up to the mark. Also other models are available for predictions.
Describe the solution you'd like
I will add LSTM and ARIMA for prediction and check how much better the model is performing.

@Akshat111111 Please check the pull request and assign it labels too.


Config option to enable TLS on all routers by default

Feature Request
The problem I'm facing
I have a Traefik config that redirects all insecure traffic to a secure entrypoint and also has a default certificate set. While using the Docker provider, I have to specify a label to enable TLS on the router (traefik.http.routers.my-app.tls=true). Without this enabled, requests to an app will be redirected to HTTPS, but I'll get a 404 because the router isn't configured to use TLS. Unless I look at the Traefik dashboard and see a router, but no TLS, it isn't clear why I'm getting a 404. I spent quite a bit of time thinking I didn't have the provider configured correctly or that I messed up the router rule.
The Feature Request
It would be nice to provide configuration to indicate that all routers should have TLS enabled by default. That way, I don't even need to specify the TLS label.
Current Workaround
Simply specify the label on every container.

Hello,
this option already exists: https://doc.traefik.io/traefik/v2.3/routing/entrypoints/#tls
    command:
     # ...
      - --entrypoints.websecure.address=:443
      - --entrypoints.websecure.http.tls=true
     # ...

Hello,
this option already exists: https://doc.traefik.io/traefik/v2.3/routing/entrypoints/#tls
    command:
     # ...
      - --entrypoints.websecure.address=:443
      - --entrypoints.websecure.http.tls=true
     # ...


Implement LengthPrefixCoder.to_type_hint

(Duplicate of another PR but without rebase issues)
LengthPrefixCoder doesn't define to_type_hint even though it seems pretty well defined. I've implemented it by just inferring it from its value coder.
Motivating use case - we have some debug tools that infer the types of pcollections based on to_type_hint. The LPCoder is used in a lot of places.
Bonus/unrelated change - I've pulled out the GitHub issue referenced in the NotImplementedError raised by to_type_hint. Every time I run into this error, I check the github issue and get more confused. It doesn't seem useful to refer to it in the error message, but does still seem relevant, so I pulled it out into a comment.
Testing Done
I haven't actually run the new unit test I wrote since I'm struggling to get my python sdk dev environment up (I've posted on the dev@ mailing list). Hoping the GH Action can just do it for me :)

R: @damccorm

Merging since the broken tests are due to #30806


Components should have some pre-filled dummy data when dragged on canvas

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
This would assist in getting started with the components. Component names:

Data grid
Select
Image

Also, for Select and Textfield components Label="Label" should be there by default.

What kind of data do we want to show in each of these components?

For datagrid we can show the JSON that we have here: https://mui.com/x/react-data-grid/#mit-version
In select we can show 6 months (Jan to June)
Image: Any image from MUI assets

I was wondering what objective loading dummy data in the DataGrid serves for a user, and felt if something like this might be better suited instead:

Since this points the user to the possible next steps in the flow. I
I'm not exactly certain at this point how big and complex this would be, but we can have that discussion if this idea feels worthwhile.

It will lead to following extra handling, some thoughts:

If there are many queries which 3 will we show?
For the scenarios where there will be no queries, this will only show CREATE NEW QUERY.
After dragging a datagrid, with the new query interface we can possibly show prompts that can take the user to 'Create Query'.

We can revisit it in the future, but for now having some dummy data can help user visualize the component output better.

It will lead to following extra handling, some thoughts:

If there are many queries which 3 will we show?
For the scenarios where there will be no queries, this will only show CREATE NEW QUERY.
After dragging a datagrid, with the new query interface we can possibly show prompts that can take the user to 'Create Query'.

We can revisit it in the future, but for now having some dummy data can help user visualize the component output better.

Understood.
For me, a good idea is to create a new template (Internal Admin tool?) which has a few components on the canvas with data present in them. We could possibly make it the default template when creating apps.
I see two benefits in this case:

a first time user can see data in the components by default
a returning user will not have to go through the friction of removing dummy data from components each time they are adding one

Agree that we should replace Covid API with our version of user data. Covid api providers in their terms mention overburden as a restriction. We can create something like the movies json.
I'll create an issue for this. Let's do this after releasing the demo.


Added ACPMedia tvOS sdk and tvOS sample app.

Description
Contains the following changes
1). Added media tvOS SDK in ACPMedia wrapper.
2). Added tvOS sample app.
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

FYI, that CI step is failing because we need the changes in https://github.com/adobe/react-native-acpcore/pull/85. Don't need to get those change sin this PR, just FYI.


Have the chat icon movable, closeable or reducible

Feature request
A user has trouble hitting some buttons on the dashboard since the chat icon is in front.
While de-zooming is a quick fix for now, it's not user-friendly.
I guess there ar many ways to solve this, perhaps being able to move the chat icon, close it or reduce it, might all work.
Reference and pictures

from this discussion

I observed a fix in the chat platform's widget settings and it seems to have resolved the issue.

It doesn't overlap content across dashboard, forum & the website. Appears on the left side of the pages.

Could however be a concern towards the new dashboard: https://next.dashboard.grid.tf/#/deploy/nodes as it overlaps the menu. It can be altered when we switch for good.

.
Note: there are also on-going discussions/research for alternative opensource chat platforms as there are plans to migrate at some point in the future.

@ehab-hassan - In the chat platform's widget settings, I reversed the location of the icon back to the right. While there isn't a concern with overlapping the buttons in the case of the old dashboard, it currently overlaps the dashboard logs icons.

I'm contuining to check the widget settings to see if the icon can be moved a little bit more away.

The placement seems a bit more appropriate now. Please let me know if this works.

@TullysInc I tested it and works fine with me @Mik-TF can you check if ok we can close this issue

verified on devnet
version : 0139c63
the chat icon now does not block the dashboard log or any component and not even the manual like it was occuring

https://app.testlodge.com/a/26076/projects/40893/suites/234374?expand_section=426660#case_4295007


Hornet 0.4.1-rc1 crashed with "panic: assertion failed"

Describe the bug
After a few hours of running Hornet crashed with
panic: assertion failed: write: zero-length inode key
Restart failed with
PANIC        Tangle        failed to retrieve snapshot milestone index: database error: key not found: Database revalidation failed! Please delete the database folder and start with a new local snapshot.
To Reproduce
Steps to reproduce the behavior:
No idea. This error occurs irregularly and is not reproducible for me.
Environment information:

OS:  Ubuntu 20.04
RAM: 8 GB
Cores: 4 Cores
Type: VPS
HORNET version 0.4.1-rc1. Has also occurred with version 0.4.0.

Crash-Hornet.rtf.zip
Restart_Hornet.rtf.zip

I have completely reinstalled the VPS.  Not a problem since then.

Thx for feedback


Make wrapSerializers optional

I think this should have been added as an optional property.

If a change is needed, then the existing tests are not covering it. Therefore we need a new test.

These changes were implemented by #173. Should we close this PR?


DeMUX Calculator

Enter calculator name -
DeMUX Calculator
Describe calculator functionality -
The DeMUX Calculator takes the value n as input for the number of Selection lines, and an input f, which gives an output binary String i of length not exceeding the value of n. The String i is to determine which output line leaving the DeMUX will be chosen from the input f.
Under which category you wish to place it -

[ ] Computer Science
[ ] Mathematics
[ ] Physics
[ ] Chemistry
[ ] Biology
[ ] Art
[ ] Finance
[ ] Scientific
[ ] Health
[ ] Sports
[x] Let project owner decide
[x] Digital System Design
[x] Microcontrollers & Microprocessors
[ ] Suggest a new category - (Answer here)

Hello can you please assign me this

Hey @Rishika631,
Assigned.
You may contribute your code under the folder path -
calc_for_everything\calculators\src\computer_science\deMUXCalc
Issue completion deadline - 23rd Oct 10:00:00 pm IST
NOTE - In case the issue completion deadline is not met, the issue will be assigned to a new participant

okay. I'll try to complete it.

I have raised a PR please do check.


Add number-input component to angular-components

A number input / numeric spinner component (as we need it for AE Digital):

:tada: This PR is included in version 1.0.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Develop

Hi,
Please review.

Thanks for the input. I guess it's my C typedef bias kicking in. After
grepping the Go source it is idiomatic to just use interface{}.
@djiadala do you want to do a pr to change back it back to interface{}?
On Thu, Sep 29, 2016 at 6:23 PM, Douglas Hall<EMAIL_ADDRESS>wrote:

@bemasher commented on this pull request.
In rtlsdr.go https://github.com/jpoirier/gortlsdr/pull/21:

@@ -61,18 +61,6 @@ type Context struct {
userCtx   interface{}
}

-// UserCtx defines the second parameter of the ReadAsync method
-// and is meant to be type asserted in the user's callback
-// function when used. It allows the user to pass in virtually
-// any object and is similar to C's void*.
-//
-// Examples would be a channel, a device context, a buffer, etc..
-//
-// A channel type assertion:  c, ok := (*userctx).(chan bool)
-//
-// A user context assertion:  device := (*userctx).(*rtl.Context)
-type UserCtx interface{} // TODO remove this type, better use interface{} ?
What's the benefit of naming the empty interface here? From a
documentation standpoint it's easy to identify that anything can be passed
in as UserCtx in the method signature if the type is just interface{} and
the parameter is instead named userCtx, it requires looking up the UserCtx
interface to determine otherwise. That and naked values can be passed
without the type cast to UserCtx, which seems cleaner to me.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jpoirier/gortlsdr/pull/21, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAd7bqAOlXcGnzZBUZPClbb2wc6NQNLPks5qvEiLgaJpZM4KJpC2
.


[update simplify-qt-find] minimun version set to 5.11.0

https://github.com/paceholder/nodeeditor/pull/355#discussion_r1053805441

Minimum version set to 5.11.0;
delete core gui;
ignore build*/ , The Qt Creater will generate the build-... Folder

5.11 seems to be reasonable.
For examle, the earliest yet supported Ubuntu distribution is 22.10. It uses Qt 5.15 (if I do not mix up anything)

I cleaned up the branch and merged it into master. Thank you!


  When I abort the apply when resource is being created via ctrl+c one time(want it to be gracefully shutdown), terragrunt send twice to terraform so there is no gracefully shutdown and result in state lock not being released and the hash value in the table would be mismatch even I run force-unlock.  May I know is it the design or only my laptop encounter this issue.
^C
Interrupt received.
Please wait for Terraform to exit or data loss may occur.
Gracefully shutting down...

Two interrupts received. Exiting immediately. Note that data loss may have
occurred.

╷
│ Error: operation canceled

terragrunt version v0.37.1
Terraform v1.2.1
on darwin_amd64

provider registry.terraform.io/hashicorp/aws v4.15.1
provider registry.terraform.io/hashicorp/cloudinit v2.2.0
provider registry.terraform.io/hashicorp/kubernetes v2.11.0
provider registry.terraform.io/hashicorp/local v2.2.3
provider registry.terraform.io/hashicorp/tls v3.4.0

I've experienced the same issue several times.
terragrunt version v0.36.7 on linux

I also experience this. terragrunt version 0.36.10, terraform version 1.1.9
I see this in both VS Code terminal and Windows terminal. I'm using zsh in both places, and the underlying system is Ubuntu 2004 on amd64.

Terragrunt v0.39.0
Terraform v1.3.1
darwin_arm64

Still happening for me.
Terragrunt: v0.42.2
Terraform: v1.3.6
OSX:  12.6.1

To workaround this issue, we leverage the terraform_binary configuration option to use a script that puts the Terraform invocation into a new process group. This prevents the Ctrl+C SIGINT from the terminal being sent to the Terraform command. Perhaps a similar behaviour is needed within the command exec invocation inside Terragrunt?

Issue resolved in v0.45.11  release.

Hi, issue here seems to be somehow resolved for terraform only. I'm currently running into the exact same problem with tofu.

terragrunt v0.67.9
OpenTofu v1.8.2
darwin_arm64
provider registry.opentofu.org/hashicorp/archive v2.6.0
provider registry.opentofu.org/hashicorp/aws v5.67.0


Credentials are being logged on connection error

Hi,
I've just come into a problem with logged credentials in the connection URL:

time=2024-10-01T09:30:06.453Z level=INFO source=:0 msg="gorabbit WARN: failed to connect to amqp server amqp://some-user:some-password@<IP_ADDRESS>:5671/: dial tcp <IP_ADDRESS>:5671: connect: connection refused"

The credentials should never be written as a plain text log.
To test this you can simply set the wrong URL and try to connect.

@latuszek I opened a PR to fix your issue.

Fixed in #195


Quiz answers being set to invalid leading to incorrect evaluation

Describe the bug
In the L04E01 quiz in EIST 2020, one answer has been declared invalid. Artemis says that I have marked all answers correctly, but it still displays 0/1 points for that question
To Reproduce
I don't know how exactly the change was made, but I guess it occurs everytime a answer is marked as invalid after the deadline
Expected behavior
The score should be 1 of 1
Screenshots

Environment

 - OS: Windows 10 (x64)
 - Browser Firefox
 - Version 76.0.1

Additional context

Output in Web Console

  [REPLACE THIS WITH YOUR INFORMATION]

Reproduce steps:

(Instructor) Create a live quiz, all or nothing grading, with at least 2 possible correct answers.

(Instructor) Release the quiz

(Student) Complete the quiz, mark only one of the answers valid (so your result would be 0/1 because it's all or nothing)

(Instructor) Re-evaluate the quiz. Mark one of the correct answers as invalid (choose an answer that was not selected by the student) and save

(Student) Check the quiz results. Expected: the results should give full points based on the new options. Actual: the student still has 0/1 points.

I just tested it and except some user interface display issues in the reevaluate dialog, this works as intended. Please note that we did not fully reevaluate the quiz in EIST until now.
@NiOHar please have another look (refresh the page) and feel free to reopen the issue in case the problem still exists

Yep, it's fixed now. Thanks!


We shouldn't force desired platforms equals required platforms

Closes #1121

PR is added to the queue for testing as 2. task. (115ab5f)

Hi @andrew-aladev, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

PR is added to the queue for testing as 3. task. (4f6286f)

PR is added to the queue for testing as 3. task. (855e6ef)

Test (Success) 86333246 build is completed (115ab5f)
See https://github.com/ThaliTester/TestResults/tree/86333246115ab5f_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the logs

Test<PHONE_NUMBER>5ab5f(115ab5f) has failed
See https://github.com/ThaliTester/TestResults/tree/86333246115ab5f_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the fail logs

Test (Success) 86333246 build is completed (4f6286f)
See https://github.com/ThaliTester/TestResults/tree/863332464f6286f_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the logs

Test 863332464f6286f(4f6286f) has failed
See https://github.com/ThaliTester/TestResults/tree/863332464f6286f_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the fail logs

Test (Success) 86333246 build is completed (855e6ef)
See https://github.com/ThaliTester/TestResults/tree/86333246855e6ef_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the logs

Test<PHONE_NUMBER>5e6ef(855e6ef) has failed
See https://github.com/ThaliTester/TestResults/tree/86333246855e6ef_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the fail logs

Once it passes CI then

Reviewed 2 of 2 files at r3.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

test/TestServer/config/UnitTest.js, line 10 at r3 (raw file):

    // All required platform should have minDevices entry.
    // So all required platforms should be listed in desired platform list.
    ios: 3,

NB: Shouldn't these all be -1?

Comments from Reviewable

PR is added to the queue for testing as 6. task. (4e64f14)

PR is added to the queue for testing as 7. task. (03eeb8f)

Test (Success) 86333246 build is completed (4e64f14)
See https://github.com/ThaliTester/TestResults/tree/863332464e64f14_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the logs

Test 863332464e64f14(4e64f14) has failed
See https://github.com/ThaliTester/TestResults/tree/863332464e64f14_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the fail logs

Test (Success) 86333246 build is completed (03eeb8f)
See https://github.com/ThaliTester/TestResults/tree/8633324603eeb8f_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the logs

Test<PHONE_NUMBER>eeb8f(03eeb8f) has failed
See https://github.com/ThaliTester/TestResults/tree/8633324603eeb8f_We_shouldn_t_force_desired_platforms_equals_required_platforms_andrew-aladev/ for the fail logs


Submitting ART version 1.20.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree

Please clarify. All URLs point to same domain.
The base url for all 3 is the package url

PackageURL:  https://bitbucket.org/agriggio/art/
PublisherURL/Home:  https://bitbucket.org/agriggio/art/wiki/Home
Downloads:  https://bitbucket.org/agriggio/art/downloads/

@wingetbot waivers Add Validation-Domain Policy-Test-2.3

Please clarify. All URLs point to same domain.
The base url for all 3 is the package url

PackageURL:  https://bitbucket.org/agriggio/art/
PublisherURL/Home:  https://bitbucket.org/agriggio/art/wiki/Home
Downloads:  https://bitbucket.org/agriggio/art/downloads/

Hi @pxwiz,
Bitbucket is a commonly-used download and rehost site, so our robot needed a human to confirm. Sorry for any concern.
As for the Policy 2.3 label, I believe that's due to the other product's name - that product's PRs get a similar label.


error -600 in scripting-additon

Hi,
I'll try again to get yabai fitting my needs, this time with Catalina.
I've got the HEAD branch installed, yabai works, so it moved windows and changes the transparency, but I cannot load the scripting addtions:
 sudo yabai --install-sa
gives this log entry:
yabai: scripting-addition either failed to load or could not inject payload into Dock.app! Error: -600
Any idea where to find the problem?

I found no solution for the -600 error, but
brew uninstall yabai && brew install yabai --HEAD && sudo yabai --install-sa
fixed the problem.


CAMEL-14221: Stomp Component has no option to set version

The STOMP version is hardcoded in the org.fusesource.stomp.client.Stomp class. Though the org.fusesource.stomp.client.Stomp class has setter method for version, the Camel-Stomp Component has not exposed that option to be set by the users.

@oscerd shall we have this fix borted to 3.0.x branch?

This seems to be an enhancement more than a bug. So I would say no. But since we are at the beginning it would be good to backport


[spike] unit tests for logging, GameStarter, etc

exploratory spike branch for discussion purposes

superceded by #562


await producer.connect() hangs indefinitely without retrying on receiving an ECONNRESET from kafka

Describe the bug
I have found that my producer is not retrying a broker connection when it received an ECONNRESET error from kafka. The scenario here is that i am trying to connect a producer but the kafka server does a ECONRESET on the TCP connection.
      const kafka = new Kafka({
      clientId: `wait-until-ready-${uuid()}`,
      brokers: [`${KAFKA_HOST}:${KAFKA_PORT}`],
      connectionTimeout: READY_WAIT_TIMEOUT,
      logLevel: logLevel.DEBUG
      });
      const producer = kafka.producer();
      await producer.connect();

This causes the await producer.connect() to hang indefinitely. I tracked the hang to the following place in kafakjs.
kafkajs/src/network/requestQueue/index.js
https://github.com/tulios/kafkajs/blob/02bc8a3c19504d182df131914ee9af4661bf060c/src/network/requestQueue/index.js#L222-L237
The promise resolve() is wrapped inside a function within the emitter so it is not being executed. I think if there was an event listener listening it would execute.
I changed the code to resolve like the following and the producer kept trying to reconnect as expected.
  waitForPendingRequests() {
    return new Promise(resolve => {
      if (this.pending.length === 0 && this.inflight.size === 0) {
        return resolve()
      }

      this.logger.debug('Waiting for pending requests', {
        clientId: this.clientId,
        broker: this.broker,
        currentInflightRequests: this.inflight.size,
        currentPendingQueueSize: this.pending.length,
      })

      this.once(REQUEST_QUEUE_EMPTY, () => resolve())
      this.logger.debug('waitForPendingRequests end')
      resolve()
    })
  }

In 1.12.0 the producer kept trying to connect as I expected.
To Reproduce
This happened in my CI environment where kafka responded with the ECONNRESET error.  However I was able to reproduce a similar situation by starting up a node server with the following code to mimic a kafka broker resetting the connection.  I then tried to connect the producer.  The code below causes the server to reset the TCP connection.
    var net = require("net");

    var server = net.createServer(function(socket) {
      logger.info("Server got message");
      // socket.pipe(socket);
      setTimeout(() => socket.destroy(), 0);
    });
    await server.listen(9092, "<IP_ADDRESS>");

Expected behavior
The producer should continue to try and reconnect instead of hanging on the await producer.connect() call like it does in 1.12.0
Observed behavior
The producer stopped trying to reconnect as soon as it received the ECONNRESET error from kafka. Prior to that it was trying to reconnect.
    {"level":"DEBUG","timestamp":"2020-10-02T15:10:53.788Z","logger":"kafkajs","message":"[Connection] Connecting","broker":"<IP_ADDRESS>:9092","clientId":"wait-until-ready-fba76804-36fd-41aa-b504-cdf0dafd858d","ssl":false,"sasl":false}
  console.log node_modules/kafkajs/src/loggers/console.js:19
    {"level":"DEBUG","timestamp":"2020-10-02T15:10:53.789Z","logger":"kafkajs","message":"[Connection] Request ApiVersions(key: 18, version: 2)","broker":"<IP_ADDRESS>:9092","clientId":"wait-until-ready-fba76804-36fd-41aa-b504-cdf0dafd858d","correlationId":9,"expectResponse":true,"size":67}
  console.error node_modules/kafkajs/src/loggers/console.js:15
    {"level":"ERROR","timestamp":"2020-10-02T15:10:53.792Z","logger":"kafkajs","message":"[Connection] Connection error: read ECONNRESET","broker":"<IP_ADDRESS>:9092","clientId":"wait-until-ready-fba76804-36fd-41aa-b504-cdf0dafd858d","stack":"Error: read ECONNRESET\n    at TCP.onStreamRead (internal/stream_base_commons.js:183:27)"}
  console.log node_modules/kafkajs/src/loggers/console.js:19
    {"level":"DEBUG","timestamp":"2020-10-02T15:10:53.792Z","logger":"kafkajs","message":"[Connection] disconnecting...","broker":"<IP_ADDRESS>:9092","clientId":"wait-until-ready-fba76804-36fd-41aa-b504-cdf0dafd858d"}
  console.log node_modules/kafkajs/src/loggers/console.js:19

Environment:

OS: Mac and linux alpine on CI env
KafkaJS version [1.14.0]
Kafka version [2.3.1]
NodeJS version [v12.16.1]

Additional context
Add any other context about the problem here.

I changed the code to resolve like the following and the producer kept trying to reconnect as expected.

But now you might call resolve() twice: Once immediately, with still requests pending -- and then later again when the request queue is actually empty (which is what the .once(...) is supposed to do).
Given that you debugged this though, it would be nice to see the full stack trace here, and I would really be interested in seeing which requests are inflight/pending. From reading through the connection logic again an error in connecting (or a timeout later) should lead to a call of connection.disconnect() which does the waiting, but we're only calling rejectRequests after waiting.
diff --git a/src/network/connection.js b/src/network/connection.js
index eed871e..c1394ee 100644
--- a/src/network/connection.js
+++ b/src/network/connection.js
@@ -155,8 +155,8 @@ module.exports = class Connection {
         })

         this.logError(error.message, { stack: e.stack })
-        await this.disconnect()
         this.rejectRequests(error)
+        await this.disconnect()

         reject(error)
       }
@@ -167,8 +167,8 @@ module.exports = class Connection {
         })

         this.logError(error.message)
-        await this.disconnect()
         this.rejectRequests(error)
+        await this.disconnect()
         reject(error)
       }

(Untested!)

I was not suggesting my hack was a fix :) I was just testing things out to understand how it works.  In regards to inflight requests, I had only called the wait producer.connect().  I had not tried to produce any messages.  My next line of code after the await was never executed.
In regards to a fulls tack trace, i had the logs on debug but only got what I showed you. I can reproduce it again and put some extra logging in your package if you want?

I will look at this now; the solution is not to immediately resolve since this would release the client before all connections are depleted.

@hughlivingstone I think the client is working as expected; it is retrying up to the number configured in the cluster, by default 5 times, and then giving up. I used the server script you provided.

Here I set the logger to debug mode to see what's happening:

You can see that the client retried the connection 5 times, gradually increasing the retry time between the attempts.

Hmm I am not see the same result for my code:
    const kafka = new Kafka({
      clientId: `wait-until-ready-${uuid()}`,
      brokers: [`${KAFKA_HOST}:${KAFKA_PORT}`],
      connectionTimeout: READY_WAIT_TIMEOUT,
      logLevel: logLevel.DEBUG,
      retry: {
        retries: 5
      }
    });
    const producer = kafka.producer();

    logger.info("Kafka connecting");
    try {
      await producer.connect();
      logger.info("Kafka is now ready for use");
    } catch (e) {
      logger.error(`Kafka not ready - unable to connect within ${READY_WAIT_TIMEOUT} ms`);
      throw e;
    }
  }

This results in:

@hughlivingstone I can see that this is an integration test, any change the environment is mocking something or changing the behavior of something we use underneath? I've seen some libraries modify the net code or even mock event emitters, etc.

I believe it is related to https://github.com/tulios/kafkajs/issues/918

Given that #944 ended up looking quite like my comment in https://github.com/tulios/kafkajs/issues/909#issuecomment-704906339 ... maybe that issue is now also closed?

I believe this was fixed by #944 and #956. You can try it out with 1.15.0-beta.25 and feel free to re-open this issue if it is not solved.


OptIn account shows 0 balance

WTR:

Import OptIn account with mnemonic
At the Address to interact with page you can see the OptIn address with 0 balance

Choose this address and you can see in Profile import it has 0 balance

When you submit you can see OptIn account with 0 balance and having two the same assets. One is 0 enother with some XYM.

Please Note with mobile wallet it works well.

What version of wallet?
Did you tried prune cache?

Depends on system it's in different places:
Windows:
C:\Users<user>\AppData\Roaming<yourAppName>\Cache
I believer there is couple of other places in windows holding data as mentioned here https://github.com/nemgrouplimited/symbol-desktop-wallet/issues/1330#issuecomment-800887606
Linux:
/home//.config//Cache
OS X:
~/.symbol-desktop-wallet
~/Library/Saved\ Application\ State/
~/Library/Application\ Support/
~/Library/Cache/

@NikolaiB could you check on Monday according to my comment above? I'm not able to reproduce.

This was probably related to not cleared cache from previous wallets. @NikolaiB if you could reproduce just reopen.


[Bug]: Object.prototype builtins should not be used directly

Version
27.0.6
Steps to reproduce
Expected behavior
 test: val => val && Object.prototype.hasOwnProperty.call(val, 'foo'),
  if (argv.runInBand && Object.prototype.hasOwnProperty.call(argv, 'maxWorkers')) {
Actual behavior
 test: val => val && val.hasOwnProperty('foo'),
 test: val => val && val.hasOwnProperty('foo'),
Additional context
It is preferable to call certain Object.prototype methods through Object on object instances instead of using the builtins directly.
Objects can have properties that shadow the builtins on Object.prototype, potentially causing unintended behavior or denial-of-service security vulnerabilities.
Environment
N/A

PR very much welcome 🙂
Can add no-prototype-builtins lint rule to find all occurences

yeah @SimenB i have find out a lot of such occurences actually

@SimenB how do i add the lint rule, never has done any work with lint, could you guide a little bit?

See https://eslint.org/docs/user-guide

hey @SimenB after adding the no prototype-builtins

and i think only this is what we need to fix


[Actions/CI]: switch to self hosted runner

Description
self-explanatory

ok need to check what's available on the machine, to avoid re-installing everything, turning into draft meanwhile this time


Gerrit integration

This seems to have conflicts, should this pull request remain open?

Anyone has used gerrit-scm-collector recently. I need to use this collector and I see it is very old and template/structure is not aligned with the latest code.
I want to use gerrit collector with the latest Hygieia. Can some one help me with the steps to follow
@tabladrum @SreedharaBalaji

 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.

 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.


Can not use remote control on TV BOX

Can you be more specific? What box (model) are you using? What controls are you trying? Are you able to pause playback when Just Player is playing in foreground?
Generally remote controls should work (as the player uses mediasession), for example buttons on Bluetooth headset etc.

Can you be more specific? What box (model) are you using? What controls are you trying? Are you able to pause playback when Just Player is playing in foreground?
Generally remote controls should work (as the player uses mediasession), for example buttons on Bluetooth headset etc.

I use ZIDOO X9S.
When the toolbar dispear,I can not use the remote control do anything.Just can exit.
Can not forward or control the sound.

I use ZIDOO X9S.
When the toolbar dispear,I can not use the remote control do anything.Just can exit.
Can not forward or control the sound.

It should work with pure media buttons (play/pause, volume) but it doesn't work with navigation/arrow keys. I tried the player on Android TV (mi box) and it's probably the same case. Currently only touchscreen is supported, but this is something I would like to improve.

It should work with pure media buttons (play/pause, volume) but it doesn't work with navigation/arrow keys. I tried the player on Android TV (mi box) and it's probably the same case. Currently only touchscreen is supported, but this is something I would like to improve.

Thank you.

Thank you.

I don't think this player is really meant for remote control aka Android TV use. There's other players that already do that like Nova, VLC and KM and it took a LOT of work for those players to get to that point. I think of this player as a tiny but capable player for touchscreens only. I see JustPlayer as an alternative to mpv-android and that's fine with me because they have different backends.

I don't think this player is really meant for remote control aka Android TV use. There's other players that already do that like Nova, VLC and KM and it took a LOT of work for those players to get to that point. I think of this player as a tiny but capable player for touchscreens only. I see JustPlayer as an alternative to mpv-android and that's fine with me because they have different backends.

My wrong.
Have uninstalled.

My wrong.
Have uninstalled.

Supporting TV boxes based on pure Android should be doable and I will try that eventually. UI should be controllable already if focus is working (might needs tweaking here and there) and then there are only missing playback controls using navigation keypad.
Android TV is a bit complicated as there's no system file chooser built in but a single library can fix that.

Supporting TV boxes based on pure Android should be doable and I will try that eventually. UI should be controllable already if focus is working (might needs tweaking here and there) and then there are only missing playback controls using navigation keypad.
Android TV is a bit complicated as there's no system file chooser built in but a single library can fix that.

Android TV is a bit complicated as there's no system file chooser built in but a single library can fix that.

If you do support Android TV, you will definitely get people who ask for FireTV support since there's way more users of those devices but it shouldn't be hard to make sure both are supported.
Thanks for opening this player up to more devices.

Android TV is a bit complicated as there's no system file chooser built in but a single library can fix that.

If you do support Android TV, you will definitely get people who ask for FireTV support since there's way more users of those devices but it shouldn't be hard to make sure both are supported.
Thanks for opening this player up to more devices.

Latest version (v0.20 - currently pre-release here) includes improvement that should make it usable on Android TV. Though:
Android TV is missing native file chooser so opening files from within Just Player isn't currently supported. If you install Material Files, you will be able to open files, but from internal storage only. If you need to open file from external storage, select and open it from a file manager. Pretty good and simple is this File manager.
Let me know what could be improved (except for adding file chooser, obviously). I may eventually add built in file chooser but the only device I have (Mi Box S) is actually pretty buggy and resizing picture doesn't work correctly so that's something I want to resolve first.

Latest version (v0.20 - currently pre-release here) includes improvement that should make it usable on Android TV. Though:
Android TV is missing native file chooser so opening files from within Just Player isn't currently supported. If you install Material Files, you will be able to open files, but from internal storage only. If you need to open file from external storage, select and open it from a file manager. Pretty good and simple is this File manager.
Let me know what could be improved (except for adding file chooser, obviously). I may eventually add built in file chooser but the only device I have (Mi Box S) is actually pretty buggy and resizing picture doesn't work correctly so that's something I want to resolve first.

Thanks for that!

I'm adding android-file-chooser to the -online builds (starting v0.36) so you can properly open files on Android TV. Comparing to using Material Files, the new file chooser is able to access USB storage and navigation starts in the last opened folder so it should be more pleasant to use.
There's also support for auto frame rate switching: https://github.com/moneytoo/Player/issues/98
If you want to test it early, download a build from https://brouken.com/player/

no disk selection
in version 0.36 you can choose either internal storage or disk in Fat32.  the disk in exfat is not listed at all

correction.
it's about the master boor record.  Only! if the disk partitions are in it, then everything is fine.  if in GUID Partition Map then your explorer does not see either exFAT or Fat32.  But all other programs and Android see everything correctly.

@Santos2004 Is that Android TV device or some other Android box? Did you use file chooser in the previous versions? If yes, then download newer version from: https://github.com/moneytoo/Player/releases/tag/v0.36

As I wrote in https://github.com/moneytoo/Player/releases/tag/v0.36

Right now the changes related to better support for TV boxes are only in the -online version. After more testing/feedback, it will be probably unified. (I will attempt to include Android TV in distribution on Google Play.)

Finally, I think that Just Player should be usable on Android TV / TV boxes. I'm personally starting to use it as my primary player even on Android TV. I made lots of improvements and feel good about that (at least within the limits of this simple player and my abilities 😜). So let me know about your experience.

Thank you so much ended. Last version working correctly with usb disk exfat on GUID Partition Map.
But. Files on mp4 with Dolby Vision playing with drop frames. Files mkv playing on same disk correctly. It's very old problem. 0.34 too. May be early. It's just player problem only. Other players working correctly
Please fix it too! Thank you

Can not switch subtitles on TV.

Can not switch subtitles on TV.

What Android OS version has your device? There's an issue with older OS versions (at least on 7.0): https://github.com/google/ExoPlayer/issues/9061 Could that be this case?

Android 6

Android 6

Thats probably the mentioned ExoPlayer issue. I reported this to them only two days ago so lets wait for their response.

Beautiful file manager here.
Hire is good file manager as part of Torrserve
https://github.com/YouROK/TorrServe/tree/master/app/src/main/java/ru/yourok/torrserve/ui/dialogs

I support, in 0.37 the manager opens the file in com.android.documentsui. On boxes with Android TV, this does not work from the remote control.

Android 6

Thats probably the mentioned ExoPlayer issue. I reported this to them only two days ago so lets wait for their response.

I support, in 0.37 the manager opens the file in com.android.documentsui. On boxes with Android TV, this does not work from the remote control.

Yes it's true

Perhaps the best solution would be to make a system file open dialog. That is, make a choice which file manager to open

I support, in 0.37 the manager opens the file in com.android.documentsui. On boxes with Android TV, this does not work from the remote control.

I try detecting whatever there's documentsui even on Android TV as I believe I read somewhere that some devices like Nvidia Shield actually support that. This worked for me on my Xiaomi Mi Box S and Android TV emulators (as they don't have such stubs). However I also had a problem on other Android TV box (from Geniatech) and the only option was to blacklist that.
I guess I will switch to using the custom file chooser on all the Android TV devices and boxes (if at least the detection will work correctly). Offering choice from multiple file choosers would be the last resort (as it brings one more step, probably requires new translatable strings etc.).

I try detecting whatever there's documentsui even on Android TV as I believe I read somewhere that some devices like Nvidia Shield actually support that.
Shield 2019 Pro - opens in documentsui and it doesn't work.
Tivo 4K Stream and Chromecast with Google TV - "You don't have an app that can do this".
Fire TV Stick 4K - opens in the Fire OS manager, but there I have a root and froze the documentsui.))

@vladlenas Please try Just.Player.v0.38.apk. The system file chooser (documentsui) shouldn't be used on these devices at all. (If device is either television or notouch.)

@vladlenas Please try Just.Player.v0.38.apk. The system file chooser (documentsui) shouldn't be used on these devices at all. (If device is either television or notouch.)

Now on all my devices opens the file chooser.

But I still don't use Just to open files, since I have all the content on Nas. I don’t have any problems to open in another manager and select Just. But for those who have a hard drive connected, this is a very useful feature.

And yet, the bad thing is that when you open the player, the last video starts immediately. If opened from another manager or using TorrServe, we always get a "resource error" after closing opening of the player.
It would be nice to be able to disable this feature.)

and the choice of file also does not work quite correctly.  I have an sd card and a usb disk in the console.  I see only sd.  when I remove sd I start to see the disk.  but not both at once !!!  but must see both !!! '  here's a much better file chooser:
https://github.com/YouROK/TorrServe/tree/master/app/src/main/java/ru/yourok/torrserve/ui/dialogs

@Santos2004 I will look into that.

@Santos2004 I'm adding a workaround to list the content of /storage where are the mount points of all removable volumes.

@Santos2004 I'm adding a workaround to list the content of /storage where are the mount points of all removable volumes.

Cool. Where new release?😀

@Santos2004 You can try it here: Just.Player.v0.38b.apk

@Santos2004 You can try it here: Just.Player.v0.38b.apk

This release working perfect.
Great work!
Thank you so much!!!

Can you add more details in sound tracks choice? Name of translater for example...

@Santos2004 Thanks for confirming. I can eventually improve it to list all individual volumes but that should be enough at least for now.

more details in sound tracks choice

If you can, create separate issue and share same details about the media (and provide at least Media info output). Cause I'm not really sure if there is some info like that in general - as I already print the track label.

sorry for the slight inaccuracy.  we are only talking about multitrack mp4!  everything is fine in mkv files.  but maybe you can extract more complete information like windows or plex already does?

Can not switch subtitles on TV.

ExoPlayer devs already already fixed the underlying issue so I included it in v0.38. That should allow full usage on Android TV/boxes.

Just Player is now available on Google Play even for Android TV devices. I believe that the original issue is resolved now so I'm going to close this one. But feel free to create any new issue. Thank you all for all the feedback and patience!


Help with generics in TS

Need help.
I'm was trying to make all elements generic, where the type P is the type of the page class that they are attached to.  This way, all actions off of them can return the instance of the type (to allow fluent/builder style syntax).
The TSC is giving me a really hard time with this.  I've tried a bunch of ways, but I can't seem to find a way that:

Doesn't use Any's all over the place
Actually compiles.
Doesn't look awful in terms of the external API.

If any of you guys get some time could you take a peek at the fluent_syntax branch (Commit: 14ed19ed84ebf8a2731784bd27822f53a15baa33 is where I broke stuff) and see if you can help me out?

I got frustrated with this problem, and I've had plenty of time since I've been cooped up & sick, so I reimplemented what we had in plain old JS using a more functional approach around the builder stuff.
Check it out:  https://github.com/page-object-js/page-object-spike
The builder itself is a little complex, but all of the elements/actions are dead simple as is the reducer.  Just return a promise from each action and we're good to go.  I haven't tackled the scenario where we have multiple promises that we want to all together, but I think it should be as simple as making them nested arrays and adding the smarts in the reducer to check if each element is an array or a promise.
I also cheated and used all old stuff I'm familiar with - mocha / chai / sinon / etc. 😬


Support Git Sparse Checkout

Can the libgit2 be updated to v1.1.0?
That way Git Sparse Checkout is supported.
At the moment, we get the following error:

2021-04-30 17:08:46.741749	GitStatusCache.exe (0x0000943c)	0x00009460	Error	Git.GetGitStatus.FailedToOpenRepository	Failed to open repository. { "repositoryPath": "xxxxxxx/.git/", "result": "Generic Error", "lastError": "unsupported repository version 1. Only versions up to 0 are supported." }

I made a progress on it. I build GitStatusCache.exe with libgit2 v1.4.2, see https://github.com/hcoona/git-status-cache/pull/1.
Unfortunately, libgit2 currently (September 2, 2022) still not fully support sparse checkout feature. It lack support to Git extensions.worktreeconfig. There is an ongoing MR for that, see https://github.com/libgit2/libgit2/issues/6044.