Added handling of connection reset by peer error

This PR fixes #148.
Other than checking the "EOF" error, it also adds the check on the "connection reset by peer" when broker close connection that Sarama is still not able to handle by reconnecting.

/cc @k-wall

@ppatierno out of interest, did you find a reasonable way to reproduce the issue?

@scholzj @k-wall I was using strings because I thought that Sarama was masking underlying errors but I was making a mistake by checking this, so I changed to use a better errors.Is by checking on io.EOF and syscall.ECONNRESET.
While I am able to check that it works for EOF, by shutting down or killing a broker, I am still not able to reproduce a connection reset from a broker :-(

I am still not able to reproduce a connection reset from a broker :-(

I haven't tried this but have you seen https://github.com/Shopify/toxiproxy#reset_peer

Yes I was playing with toxiproxy yesterday evening, I will keep you posted ;-)

One further thought:   I wonder if adding syscall.EPIPE would be wise too?  going back to the original log, the was the second error we saw was an EPIPE.  I don't understand networking sufficiently well to know whether there is a possibility we see  an EPIPE without a ECONNRESET.   Strikes me it is better safe .. I'd advocate for errors.Is(err, syscall.EPIPE) too.
E1123 09:22:48.492371       1 topic.go:129] Error describing cluster: read tcp <IP_ADDRESS>:49302-><IP_ADDRESS>:443: read: connection reset by peer
I1123 09:22:48.492395       1 canary_manager.go:129] ... reconcile done
I1123 09:22:53.490847       1 canary_manager.go:119] Canary manager reconcile ...
E1123 09:22:53.490924       1 topic.go:129] Error describing cluster: write tcp <IP_ADDRESS>:49302-><IP_ADDRESS>:443: write: broken pipe

+1 for EPIPE, AFAIK send() can result in EPIPE when the connection is closed (see https://www.gnu.org/software/libc/manual/html_mono/libc.html#Operation-Error-Signals).

@k-wall @tombentley I used toxiproxy together with a simple cluster with just one broker in order to have a simple test case with the canary connection going through the toxiproxy and the broker advertising the toxiproxy address.
When I add a toxic reset_peer I actually see the RST packet at TCP level via Wireshark but on the canary side it doesn't result in a ECONNRESET every time but quite often in a EOF.
Anyway I was able to reproduce the error a few times and it was recovered by canary successfully.

@scholzj do you have any more comments on this. I changed the PR so in the end your comments are outdate.

@ppatierno For EPIPE are you sure there's no way the canary can end up trying to send over the socket after the client has been closed? From my extremely scant knowledge that would result in an EPIPE and wouldn't be demonstrable via testing with a flaky proxy.

@tombentley I was able to test the original subject of the PR, the ECONNRESET not the EPIPE.
Around all these errors (broken pipe included), the canary will catch them and close the connection by itself before establishing a new one so it's not sending on a "broken" channel anymore.
This is the workaround we already had in place for EOF due to Sarama not able to handle reconnection by itself internally.

@tombentley just to add that the original problem with EOF and now with ECONNRESET is that the canary continues to use the current closed socket so you can see the "broken pipe" error as well in the Keith log (on the issue).
It's not happening anymore if EOF and this PR should save from ECONNRESET as well so that if they happen the channel is closed and a new one is opened. Of course, adding the EPIPE handling saves more catching the specific error if the previous ones don't happen.

@tombentley yeah makes sense, I factored out the function.


WebpackOptionsValidationError on ng serve

Please provide us with the following information:

OS
Windows 10

Versions

angular-cli: 1.0.0-beta.14
node: 6.6.0
os: win32 x64

Repro steps.

ng serve gives me a WebpackOptionsValidationError

The log given by the failure. Normally this include a stack trace and some
more information.

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.

configuration has an unknown property 'tslint'. These properties are valid:
object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, output?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
For typos: please correct them.
For loader options: webpack 2 no longer allows custom properties in configuration.
Loaders should be updated to allow passing options via loader options in module.rules.
Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:
plugins: {
new webpack.LoaderOptionsPlugin({
// test: /.xxx$/, // may apply this only for some modules
options: {
tslint: ...
}
})
}
configuration.module has an unknown property 'preLoaders'. These properties are valid:
object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, loaders?, noParse?, rules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp? }
Options affecting the normal modules (NormalModuleFactory).
configuration.node.global should be a boolean.
configuration.resolve has an unknown property 'root'. These properties are valid:
object { alias?, aliasFields?, cachePredicate?, descriptionFiles?, enforceExtension?, enforceModuleExtension?, extensions?, fileSystem?, mainFields?, mainFiles?, moduleExtensions?, modules?, plugins?, resolver?, symlinks?, unsafeCache? }
configuration.resolve.extensions[0] should not be empty.
WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
configuration has an unknown property 'tslint'. These properties are valid:
object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, output?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
For typos: please correct them.
For loader options: webpack 2 no longer allows custom properties in configuration.
Loaders should be updated to allow passing options via loader options in module.rules.
Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:
plugins: {
new webpack.LoaderOptionsPlugin({
// test: /.xxx$/, // may apply this only for some modules
options: {
tslint: ...
}
})
}
configuration.module has an unknown property 'preLoaders'. These properties are valid:
object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, loaders?, noParse?, rules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp? }
Options affecting the normal modules (NormalModuleFactory).
configuration.node.global should be a boolean.
configuration.resolve has an unknown property 'root'. These properties are valid:
object { alias?, aliasFields?, cachePredicate?, descriptionFiles?, enforceExtension?, enforceModuleExtension?, extensions?, fileSystem?, mainFields?, mainFiles?, moduleExtensions?, modules?, plugins?, resolver?, symlinks?, unsafeCache? }
configuration.resolve.extensions[0] should not be empty.
at webpack (C:\Trabalho\SourceCode\UbiXploit Web Team2\GESFaturasWeb\node_modules\webpack\lib\webpack.js:16:9)
at Class.run (C:\Trabalho\SourceCode\UbiXploit Web Team2\GESFaturasWeb\node_modules\angular-cli\tasks\serve-webpack.js:23:27)
at C:\Trabalho\SourceCode\UbiXploit Web Team2\GESFaturasWeb\node_modules\angular-cli\commands\serve.js:84:26
at process._tickCallback (internal/process/next_tick.js:103:7)

Same problem after doing a fresh install of xubuntu, a git clone and npm install.
When trying "ng serve" it gives me the same error.
angular-cli: 1.0.0-beta.14
node: 6.6.0
os: Xubuntu 16.04 (64bits)

Same issue after cloning into new folder and npm install
angular-cli: 1.0.0-beta.14
node: 4.5.0
os: darwin x64

@Nestyko @BugsyFTW http://stackoverflow.com/questions/39600939/invalid-configuration-object-webpack-has-been-initialised-using-a-configuration/39601224#39601224 this link helped me fix my issue

Fixed in beta.16.


login with username/password got cookie store expects conn.secret_key_base to be set

It happens with sign in with username/password
Can anyone help to solve this?
osboxes@osboxes:~/projects/ueberauth_example$ sudo mix phoenix.server
Compiling 13 files (.ex)
Generated ueberauth_example app
[info] Running UeberauthExample.Endpoint with Cowboy using http://localhost:4000
29 Oct 05:44:40 - info: compiled 5 files into 2 files, copied 3 in 4257ms
[info] GET /
[debug] Processing by UeberauthExample.PageController.index/2
  Parameters: %{}
  Pipelines: [:browser]
[info] Sent 200 in 79ms
[error] backend port not found: :inotifywait

[info] GET /auth/identity
[debug] Processing by UeberauthExample.AuthController.request/2
  Parameters: %{"provider" => "identity"}
  Pipelines: [:browser]
[info] Sent 500 in 160ms
[error] #PID<0.515.0> running UeberauthExample.Endpoint terminated
Server: localhost:4000 (http)
Request: GET /auth/identity
** (exit) an exception was raised:
    ** (ArgumentError) cookie store expects conn.secret_key_base to be set
        (plug) lib/plug/session/cookie.ex:157: Plug.Session.COOKIE.validate_secret_key_base/1
        (plug) lib/plug/session/cookie.ex:152: Plug.Session.COOKIE.derive/3
        (plug) lib/plug/session/cookie.ex:103: Plug.Session.COOKIE.put/4
        (plug) lib/plug/session.ex:92: anonymous fn/3 in Plug.Session.before_send/2
        (elixir) lib/enum.ex:1623: Enum."-reduce/3-lists^foldl/2-0-"/3
        (plug) lib/plug/conn.ex:961: Plug.Conn.run_before_send/2
        (plug) lib/plug/conn.ex:392: Plug.Conn.send_resp/1
        (ueberauth_example) web/controllers/auth_controller.ex:1: UeberauthExample.AuthController.action/2
        (ueberauth_example) web/controllers/auth_controller.ex:1: UeberauthExample.AuthController.phoenix_controller_pipeline/2
        (ueberauth_example) lib/ueberauth_example/endpoint.ex:1: UeberauthExample.Endpoint.instrument/4
        (ueberauth_example) lib/phoenix/router.ex:261: UeberauthExample.Router.dispatch/2
        (ueberauth_example) web/router.ex:1: UeberauthExample.Router.do_call/2
        (ueberauth_example) lib/ueberauth_example/endpoint.ex:1: UeberauthExample.Endpoint.phoenix_pipeline/1
        (ueberauth_example) lib/plug/debugger.ex:123: UeberauthExample.Endpoint."call (overridable 3)"/2
        (ueberauth_example) lib/ueberauth_example/endpoint.ex:1: UeberauthExample.Endpoint.call/2
        (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
        (cowboy) src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4

@ukrit-himakoon I suspect you're missing this value: https://github.com/ueberauth/ueberauth_example/blob/master/config/prod.secret.exs#L7

;) Thanks, sorry that I'm kinda new to phoenix.
So I need to run example in production only? How to add this to UAT

@ukrit-himakoon You're seeing this issue because this app breaks with the Phoenix conventions of putting this value in your config files. That's probably since they deployed on Heroku, and chose to inject settings from the OS environment variables instead of config files.
You can use mix phx.gen.secret to create a new secret and then paste that value into the secret_key_base: section of your config.exs file. Then do it again for prod.secret.exs and do not track prod.secret.exs in your source control. Instead, manually copy it to your server with SCP. You'll need to either do the same with the oauth files where there's a System.get_env in the repo or else actually set those system environment variables in your shell before running Phoenix.
Note: If you generate a new app with mix phx.new my_app you can see how config and secrets like this are handled in a typical app.

@AlchemistCamp we'd love contributions from the community's help to improve these examples 😁


Update devicetvmsecureconfigurationassessmentkb.md

Have updated the description to be more reflective of system this data table originates from. Have also added in the solution this table belongs too

@rboucher
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hi @BillClarksonAntill thanks for pointing this out.
This article is automatically produced using the logs API. We have asked the developers to make the required change in the manifest file.
#please-close


Added new Salmon pic and quote

CHECK IT YO

Record your change to the changelog.md

I updated the changelog as requested!!

Great job!


New language implementation example: Erlang/Elixir!

Implement at least one service in Erlang and/or Elixir. Include a Dockerfile for running the service in a container.

We've got some, delivered in #32! Thanks @ajvondrak!


First entries of the log file are missing

Sometimes, the first lines of the log file are "Backup started at..."
Missing the prepare lines.

This is the normal behaviour.


Broken links

@eshellman what do you think about https://github.com/dkhamsing/awesome_bot? For me, it looks pretty good. https://travis-ci.org/Devinsuit/free-programming-books/jobs/278984109
free-programming-books-pl.md

[ ] 500 Can't connect to stallman.helion.pl:80 http://stallman.helion.pl
[ ] 500 read timeout http://www.ptm.org.pl/latex-ksiazka-kucharska

free-programming-books-cs.md
free-podcasts-screencasts-es.md
free-podcasts-screencasts-cs.md

[ ] 500 Can't connect to java.cz:80 http://java.cz/article/czpodcast

free-programming-books-se.md
free-podcasts-screencasts-ru.md

[ ] 500 Can't connect to ruby.hasbrains.org:80 http://ruby.hasbrains.org
[ ] 500 Can't connect to rails.hasbrains.org:80 http://rails.hasbrains.org

free-programming-playgrounds.md

[ ] 522 Origin Connection Time-out http://code.runnable.com
[ ] 522 Origin Connection Time-out http://code.runnable.com

free-programming-books-fi.md
free-programming-books-mm.md
free-programming-books-az.md
free-programming-books-es.md

[ ] 404 Not Found http://www.colegiodrriodelaloza.edu.mx/informatica/Analisis Diseno e Implementacion de Algoritmos/17470106-BASES-de-DATOS-3-El-Modelo-Relacional-y-Algebra-Relacional.pdf

free-programming-books-id.md

[ ] 403 Forbidden http://www.ilmuwebsite.com/ebook-php-free-download
[ ] 500 Can't connect to www.codingku.com:80 http://www.codingku.com/php/

free-programming-books-ar.md

[ ] 500 Can't connect to blog.algorithmers.com:80 http://blog.algorithmers.com/git/

free-programming-books-sk.md
free-courses-en.md

[ ] 404 OK https://courses.platzi.com/courses/git-gitlab/
[ ] 404 Not Found https://www.learnhowtoprogram.com/java

free-programming-books-ja.md

[ ] 404 Not Found https://developer.apple.com/jp/devcenter/ios/library/documentation/OpenGLES_ProgrammingGuide.pdf
[ ] 404 Not Found http://www.oki-osk.jp/esc/groovy/
[ ] 404 Not Found http://www.fos.kuis.kyoto-u.ac.jp/~t-sekiym/classes/isle4/mltext/ocaml.html
[ ] 404 Not Found http://download.bnn.co.jp/download/beyond_interaction/BNN_BeyondInteraction.pdf

free-podcasts-screencasts-en.md

[ ] 302 Found http://www.tutsowl.com
[ ] 522 Origin Connection Time-out http://reactpodcast.com

free-programming-books-gr.md
free-programming-books-de.md
free-programming-books-tr.md
free-programming-books-ko.md

[ ] 500 Can't connect to www.openstatistics.net:80 http://www.openstatistics.net

free-programming-books-fa_IR.md
free-programming-books-zh.md

[ ] 302 Found http://neo4j.tw
[ ] 500 Can't connect to deerchao.net:80 http://deerchao.net/tutorials/regex/regex.htm
[ ] 404 Not Found https://github.com/Flowerowl/Big-Data-Resources
[ ] 500 Can't connect to deerchao.net:80 http://deerchao.net/tutorials/regex/regex.htm
[ ] 500 Can't connect to gorevel.cn:80 http://gorevel.cn/docs/manual/index.html
[ ] 404 Not Found http://typeof.net/s/jsmech/
[ ] 404 Not Found http://learningcn.com/underscore/

free-programming-books-it.md
free-programming-books-fr.md

[ ] 404 Not Found http://math.univ-lyon1.fr/irem/IMG/pdf/LatexPourProfMaths3.pdf

free-programming-books-hu.md

[ ] 404 Not Found http://blog.molnardenes.hu/python-programozas-1-alapfogalmak/

free-programming-interactive-tutorials-en.md
free-programming-books-pt_BR.md
free-programming-books.md

[ ] 500 Can't connect to gimp-savvy.com:80 http://gimp-savvy.com/BOOK/index.html
[ ] 404 Not Found http://webdocs.cs.ualberta.ca/~sutton/book/ebook/the-book.html
[ ] 404 Not Found http://www-stat.stanford.edu/~tibs/ElemStatLearn/
[ ] 404 Not Found http://www.math.cornell.edu/~bterrell/dn.pdf
[ ] 404 Not Found https://www.ansible.com/blog/free-ansible-book
[ ] 404 Not Found http://www.amibug.com/iamabug/p01.html
[ ] 404 Not Found https://courses.engr.illinois.edu/ece390/books/artofasm/artofasm.html
[ ] 404 Not Found http://www.ghielectronics.com/downloads/FEZ/Beginners guide to NETMF.pdf
[ ] 404 Not Found http://www-03.ibm.com/systems/z/education/skills_coursematerials.html#COBOL
[ ] 521 Origin Down http://rypress.com/tutorials/git
[ ] 503 Service Unavailable http://go-book.appspot.com
[ ] 404 Not Found http://njbartlett.name/osgibook.html
[ ] 404 Not Found http://health.adelaide.edu.au/psychology/ccs/teaching/lsr
[ ] 404 Not Found https://consensys.github.io/developers/articles/101-noob-intro/

free-podcasts-screencasts-pt_BR.md
free-programming-books-pt_PT.md
javascript-frameworks-resources-pt_BR.md

[ ] 500 Can't connect to www.vedcasts.com.br:80 http://www.vedcasts.com.br/hibernando

free-podcasts-screencasts-se.md
free-programming-books-bg.md
free-programming-books-ro.md
free-programming-books-ua.md
problem-sets-competitive-programming.md
javascript-frameworks-resources.md
free-programming-books-ru.md

@Devinsuit how do you suggest to run it? Would adding it to travis put error messages in unrelated PRs?

time to run link check again?


Example code fails with google.protobuf.message.DecodeError: Truncated message

I tried to run the example code (the mnist one). I do not have caffe installed, so it was supposed to use the python protobuf option instead, but failed with the error above.
I'm using python 3.4.4.

I met the same problem!

Same here.

Same here.

check that if you are using python3
this module only support python2,which is NOT noted in the README

Well, this can be the reason then, since I'm running version 3.4.4
Thanks.
On Thu, Aug 10, 2017 at 10:30 PM 朱鹮<EMAIL_ADDRESS>wrote:

check that if you are using python3
this module only support python2,which is NOT noted in the README
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ethereon/caffe-tensorflow/issues/129#issuecomment-321725326,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AatZJCrhzzX87zO8f_Z34o2RXK5PuJlAks5sW8rtgaJpZM4OQFaQ
.

It is likely that this is the issue affecting you
https://github.com/google/protobuf/issues/3734


Power BI free user can connect workplace analytics result data from Power BI desktop?

[Enter feedback here]
Hi, Team.
In the following ricense cases, specification about Viva Insights?
[Case]
・Administrator has Power BI Pro.
・Analyst has Power BI free.
・Administrator make Viva Insights Report of Power BI template.
[Question]

Analyst can connect workplace analytics result data from Power BI desktop?
Analyst can connect workplace analytics result data from Power BI WEB?
If administrator has only Power BI free, they can publish Viva Insights data (Power BI template) ?

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

ID: 8f413821-9f08-7bac-9756-e1f91e208c3e
Version Independent ID: fcb0e4cd-5d16-174d-d8f6-87c5584d83b6
Content: In-depth insights in Power BI
Content Source: Viva/insights/Tutorials/pbi-home-deeper.md
Service: viva
Sub-service: viva-insights
GitHub Login: @madehmer
Microsoft Alias: v-lilyolason

Please allow me to send you a gentle reminder.
I want your reply by the end of this week.
I'm afraid you are busy, but we look forward to your reply.
Thank you.
Best regards,
Daishi

Hi @dshimogawa,
Here we are limited to documentation issues and improvements. And I think the following article and the links there could help you to answer these questions:
https://docs.microsoft.com/power-bi/fundamentals/service-features-license-type

HI, @dariomws .
Thank you reply. Sorry I read this docs before a week.  This situation user connect workplace analytics data on Power BI. This workplace analytics data, this is not my workspace data? I want to know correct information. Are they has power BI Pro necessary if they connect Viva Insights Report?

@dshimogawa, my apologies but I cannot answer that. I think the Tech Community might be a better place to ask this question.

Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Fix sslCAInfo config lookup when host in config doesn't have a trailing slash

Corresponding issue: #1403
appendRootCAsForHostFromGitconfig() modified to check hosts with and without a trailing slash.
Cert unit tests made "table driven" and extended to cover this case.

From the new test:
Comment out the fix:
```
$ script/test httputil
--- FAIL: TestCertFromSSLCAInfoConfig (0.35s)
        Error Trace:    certs_test.go:81
        Error:          Not equal: true (expected)
                                != false (actual)
        Messages:       Cert lookup for "git-lfs.local" should have succeeded with "http.https://git-lfs.local.sslcainfo"

FAIL
FAIL    github.com/github/git-lfs/httputil      1.645s
```

Re-add the fix:
```
$ script/test httputil
ok      github.com/github/git-lfs/httputil      1.637s
```

Hopefully this can go in release-1.3 but I'm a little unclear on your branching strategy.

@dakotahawkins This looks good, thanks :metal:. It won't make the cut for v1.3.0 since I already have most of the release packages built. I'll merge this after v1.3.0 is shipped, so it'll be in v1.4.0. I'll also backport it to release-1.3 so it'll be in v1.3.1.
We have no concrete plans on when v1.3.1 is shipped, but we can do it in a week or so.


Add JSON files and converter

See the readme -> https://github.com/freethejazz/PerformanceHistory/tree/feature/add-json-converter/Scripts/XmlToJson
As well as conversation in #11

Hey @nyphil: This is ready to go. If everything looks good to you, all you have to do is click the green "Merge pull request" button and it will take all of my work and merge it into master.


Version bump for v5.0.5 parity

Version bump for v5.0.5 parity

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 78.051%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2458

Relevant Lines:
3082

💛  - Coveralls


Acceptable loaders config?

I dunno if I'm missing something, but despite acceptable-game-versions being a thing, there appears to be no way to tell packwiz to download Fabric versions when no Forge version is found for a mod. With Sinytra Connector making modpacks that have both incredibly plausible on recent versions, it'd be nice to have.
Quick script I made to force Packwiz to generate a modrinth file from a copied download URL in the interim: xclip -o -selection clipboard|ruby -a -F"/" -n -e "system(\"packwiz modrinth add --project-id #{\$F[4]} --version-id #{\$F[6]}\")"

dupe of #251


upgrade akka

Current coverage is 38.38% (diff: 0.00%)

Merging #14 into master will not change coverage

@@             master        #14   diff @@
==========================================
  Files            21         21
  Lines           284        284
  Methods         278        273     -5
  Messages          0          0
  Branches          6         11     +5
==========================================
  Hits            109        109
  Misses          175        175
  Partials          0          0

Powered by Codecov. Last update f8d68ac...58e8926


Report the new size and time taken for UglifyJS

This is for #167, but it is not ready. I want to start a discussion.
This is what the report looks like currently

Obviously the lack of a label on the second report is one issue. I'm a little confused on how @nchanged wants to organize things. Things seem sort of abstracted around the context object, but the Log modules on context seems pretty specific to logging ModuleCollection, and their isn't another logging module.

Do you want a new logging module to abstract logging?
Do you want cursor use directly in the UglifyJSPluginClass
... something else?

Great, let's improve the logging class. It makes sense IMO,
We need to add warnings maybe?!

Warnings for what?

In general. Just saying. Should we change the output a bit, when uglified.

Size: 52kb (minified)
Time: 677ms

And why you have 2 of them?

I think if they were both labeled beforehand, like Fuse bundle and UglifyJSPlugin bundle, the (minified) part would be unnecessary, and make the bundle report summary consistent.
For two of them, to stop the first one from happening you would have to know that that UglifyJSPlugin was going to run. Even if you wanted to check for built in plugins that would change the bundle, which I think might be hard, the fuse bundle report is still useful info.

https://github.com/fuse-box/fuse-box/blob/master/src/Log.ts#L78
Shall we expose this one? Or make it customisable?

That means that the Log should have context.

That's what I did here, check out the changed files. For getting the label, if you want to make Log the generic module for that, I think it needs a generic echo function

Current revision with label, no hyphens. Ready to merge if you like it

Terrific job! Thanks!


Automatically create an ID binding on a component

if you have a component:
<template x-widget="some-thing">
foo
 </template>

We should automatically add :id="$id('some-thing')" to the tag output and x-id="['some-thing']" to the tag declaration

Neat idea. What the benefit in your case?

The component contained an htmx form and on submit I wanted to pull the whole component out and replace with a new one from the server. You need to give a target to htmx so I needed to add :hx-target="'#' + $id('my-component')" to the form. I was able to kudge something together but it required redeclaring the id every time the component was used

I think just adding x-bind:id="$id('tag-name')" on the <tag-name></tag-name> use might be enough. It will guarantee that they all have unique ids if you want to refer to it in your app, you could add x-id to a parent and then use $id('tag-name') there.
You good with that?

That's what I ended up doing and it worked fine!


TemplateParser should be able to report multiple errors

From @rynowak on Tuesday, October 17, 2017 5:57:04 PM
Currently the template parser code throws an argument exception with the first error it encounters in parsing a route template.
We should have a custom exception type for this and expose rich information including the original template and all errors that were found. This will be more useful to extenders and will be needed by us when we do richer diagnostics functionality
Copied from original issue: aspnet/Routing#476

Closing as low-value work.


[BUG] Graph-node is broken on mainnet due to eth_call response incompatibility

Graph node completely stops working on Godwoken Mainnet as soon as it encounters errors in eth_call. Normally it should be handled by try_call and it was working fine until latest update of Godwoken which introduced "extra" field in eth_call response in case of error.
Godwoken:
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32000,
        "message": "execution reverted",
        "extra": {
            "exit_code": "0x2",
            "message": "revert",
            "stack": "EVMC"
        }
    }
}

Goerli:
{
    "jsonrpc": "2.0",
    "id": 48,
    "error": {
        "code": -32000,
        "message": "execution reverted"
    }
}

Example request that triggers revert:
curl --location 'https://v1.mainnet.godwoken.io/rpc' \
--header 'Content-Type: application/json' \
--data '{
    "method": "eth_call",
    "params": [
        {
            "gas": "0xb71b00",
            "from": "0x9c023610d438dE45B8D53358DE663233Ce752F77",
            "to": "0x186181e225dc1ad85a4a94164232bd261e351c33",
            "data": "0x38fff2d0"
        },
        "0x3c3b5"
    ],
    "jsonrpc": "2.0",
    "id": 1
}'

Response:
{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32000,
        "message": "execution reverted",
        "extra": {
            "exit_code": "0x2",
            "message": "revert",
            "stack": "EVMC"
        }
    }
}

Graph errors:
docker-graph-node-1  | Mar 02 15:50:21.239 INFO Done processing trigger, gas_used: 0, data_source: WeightedPoolFactory, handler: handleWeightedPoolCreated, total_ms: 3106, transaction: 0x2112…41ec, address: 0x8a55…5202, signature: PoolCreated(indexed address), sgd: 1, subgraph_id: QmduxKxtMxya25Us5a5ZFYJKKpxnCSkyNDLm9A6EKANzuR, component: SubgraphInstanceManager
docker-graph-node-1  | Mar 02 15:50:21.239 INFO Possible reorg detected, retrying, error: failed to process trigger: block #246709 (0x879b…73f5), transaction 21128e6dd687f6016206390a52204e4bf45f4d4a376622ed15442676243241ec: Ethereum node returned an error when calling function "getPoolId" of contract "WeightedPool": failed to deserialize response: data did not match any variant of untagged enum Output
docker-graph-node-1  | wasm backtrace:
docker-graph-node-1  |     0: 0x1e0c -<EMAIL_ADDRESS>docker-graph-node-1  |     1: 0x4157 - <unknown>!src/mappings/balancer/helpers/misc/createToken
docker-graph-node-1  |     2: 0x4683 - <unknown>!src/mappings/balancer/helpers/misc/createPoolTokenEntity
docker-graph-node-1  |     3: 0x506b - <unknown>!src/mappings/balancer/WeightedPool/factory/PoolCreated/createWeightedLikePool
docker-graph-node-1  |     4: 0x508f - <unknown>!src/mappings/balancer/WeightedPool/factory/PoolCreated/handleWeightedPoolCreated

I tried using version of graph-node: 0.25, 0.27, 0.29, 0.30. All broken.

related PR

https://github.com/godwokenrises/godwoken-web3/pull/591

Example request that triggers revert:

curl --location 'https://v1.mainnet.godwoken.io/rpc' \
--header 'Content-Type: application/json' \
--data '{
    "method": "eth_call",
    "params": [
        {
            "gas": "0xb71b00",
            "from": "0x9c023610d438dE45B8D53358DE663233Ce752F77",
            "to": "0x186181e225dc1ad85a4a94164232bd261e351c33",
            "data": "0x38fff2d0"
        },
        "0x3c3b5"
    ],
    "jsonrpc": "2.0",
    "id": 1
}'

## Result
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"execution reverted"}}

It is looking good so far. I managed to sync subgraph locally. It seems fixed, but I will test more.

I think we should add graph-node compatibility test into our test workflow.
Thanks for the feedback.


Update tutorial 02:  .jl .ipynb, .unexcecuted.ipnb

So I believe #24 is resolved, as this PR demonstrates.

That's fine. But as the pluto notebooks are not sharing a Manifest.toml with the other notebooks, you're fine for me to merge this PR, yes?

That's fine. But as the pluto notebooks are not sharing a Manifest.toml with the other notebooks, you're fine for me to merge this PR, yes?

Yes, you are right, there are no dependencies, so you can merge this independent of the Pluto notebook.
But be aware, that the issues mentioned above are not Pluto specific. So also some of the Jupyter notebooks may not work properly on Julia 1.7/M1.

But be aware, that the issues mentioned above are not Pluto specific. So also some of the Jupyter notebooks may not work properly on Julia 1.7/M1.

Ah, thanks for letting me know!


[Sema] Ignore non-useful cast patterns during switch exhaustiveness checking.

Resolves SR-6975.

@swift-ci Please smoke test and merge.


'istioctl analyze': Support absolute values for --set values.global.proxy.image in proxy image analyzer

Resolves https://github.com/istio/istio/issues/26469
This could be cherry-picked for 1.7, but seems low value.  Thoughts?

@esnible: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
7b6fc919cf82e46dac47d550c92cac1b838bb85f
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Thanks for this PR!  It'll help us cut down on a the noise we get from istioctl.  We have custom images for all the Istio containers since we self-host them and reference them with the SHA digest for security's sake.


Reload .env file on change without restarting the application

With this update, the application now automatically reloads environment variables from the .env file whenever changes are made. This eliminates the need to restart the application when updating an environment variable.

This is good and I can think some actual use case, but you need to clear all variables from util.js to invalidate all config that read from envar. You can create a function in util.js to clear these.

I have added a clearConfig() function, but I'm not 100% sure if this is what you meant. If this isn't what you had in mind, could you please clarify what you mean exactly?
Thanks!

This is correct. Because all reads from process.env are cached. Because it's set null all variables will be forced to be reset again in each util function.

Can you try solve merge conflict before I approve this?

Absolutely! I'm just going to wait to resolve the merge conflict until MR29 is merged as well. Otherwise, I'll end up with another merge conflict there later :)

I think the branch is up-to-date now, all merge conflicts are solved.


24-bit BMP texture with spritesheet used for animation - first frame is displayed from wrong coordinates.

Hello,
I'm trying to reimplement the code from the book "SDL Game Development" (Packt 2013). The problem is - when I try to display the animated sprite with flipped image (switching the source_rect of copy_ex method through the spritesheet) the first frame is displayed not from the source rectangle (0, 0, 128, 82) (the texture is 768x82 24-bit BMP file from the book assets), but from somewhere in the center of the spritesheet. If I move the source rect just one pixel to the right: (1, 0, 128, 82) - everything goes fine.
I'll provide the sample code here. I can also provide a link to a sample texture (I don't know if measurements of the texture are relevant to the error; honestly, I can't even understand the "logic" behind what's going on).
extern crate sdl2;
use std::path::Path;

use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::rect::Rect;

fn main() {
    let ctx = sdl2::init().expect("Could not init SDL2");
    let video : sdl2::VideoSubsystem = ctx.video().expect("Could not init SDL2::Video");

    let window = video.window("SDL2", 640, 480)
        .position_centered()
        .build()
        .expect("Could not create window");
    let mut renderer = window.renderer().software().build().expect("Couldn't create renderer");
    renderer.set_draw_color(sdl2::pixels::Color::RGBA(0,0,0,255));
    let mut timer : sdl2::TimerSubsystem = ctx.timer().unwrap();
    let mut event_pump : sdl2::EventPump = ctx.event_pump().unwrap();
    let temp_surface : sdl2::surface::Surface = sdl2::surface::Surface::load_bmp(Path::new("assets/animate-glitch.bmp")).unwrap();
    let texture : sdl2::render::Texture = renderer.create_texture_from_surface(temp_surface).unwrap();
    let texture_query : sdl2::render::TextureQuery = texture.query();
    let mut source_rect = Rect::new(0, 0, 128, 82);
    let dest_rect = Rect::new(0, 0, 128, 82);

    let mut running = true;
    while running {
        let ticks = timer.ticks();
        source_rect.set_x((128 * ((ticks / 100) % 6)) as i32); // comment this line to show only the torn texture
        renderer.clear();
        renderer.copy_ex(&texture, Some(source_rect), Some(dest_rect), 0.0, None, true, false);
        renderer.present();
        for event in event_pump.poll_iter() {
            match event {
                Event::Quit {..} | Event::KeyDown {keycode: Some(Keycode::Escape), ..} => {
                    running = false;
                },
                _ => {}
            }
        }

    }
}

It appears to be stepping out of bounds of memory somewhere. I'm digging in to it.

Update.

Source and Dest rects are the same size, and coordinates are the same. glitchy mess
as above, but with 0.01 unit rotation. first frame starts in the middle of the strip

To avoid these problems, there are two solutions (workarounds)..

offset one or the other rectangles by 1 pixel xy, dimensions can stay the same
make either the source rect smaller by 1 pixel xy, or destination larger by 1 pixel xy

It is a very, very strange issue, and the above makes me suspect Rust is doing something weird with the memory allocations for the rectangles rather than an SDL2 library internal issue.
Analysis of the memory  in GDB is an in progress thing. Not the easiest task.

Update:
Out of sheer bloody mindedness and a deep suspicion that Rust was doing something strange with the memory allocation for the Rect, I did the following;
let mut source_rect = Rect::new(0, 0, 128, 82);
let x: u8 = 1;
let mut dest_rect = Rect::new(0, 0, 128, 82);

This basically confirms exactly what I thought. This is essentially putting a padding byte between the two structures which is 00000001, and is preventing some sort of memory boundary overlap.
I'm not entirely sure how this is happening yet, and will need to dig further. I've an inkling that it may be related to sdl2-sys/src/rect.rs and the C types it is using.

This is a problem with SDL2 software rendering. I'll see what else I can find out there and file the appropriate bug report.
You will need to set renderer to accelerated - code below is what I have and will submit in a pull request.
extern crate sdl2;
use std::path::Path;

use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::rect::Rect;
use std::time::Duration;

fn main() {
    let sdl_context = sdl2::init().unwrap();
    let video_subsystem = sdl_context.video().unwrap();

    let window = video_subsystem.window("SDL2", 640, 480)
        .position_centered().build().unwrap();

    let mut renderer = window.renderer()
        .accelerated().build().unwrap();

    renderer.set_draw_color(sdl2::pixels::Color::RGBA(0,0,0,255));

    let mut timer = sdl_context.timer().unwrap();

    let mut event_pump = sdl_context.event_pump().unwrap();

    let temp_surface = sdl2::surface::Surface::load_bmp(Path::new("assets/animate.bmp")).unwrap();
    let texture = renderer.create_texture_from_surface(&temp_surface).unwrap();
    let texture_query  = texture.query();

    let mut source_rect = Rect::new(0, 0, 128, 82);
    let mut dest_rect = Rect::new(0, 0, 128, 82);

    let mut running = true;
    while running {
        for event in event_pump.poll_iter() {
            match event {
                Event::Quit {..} | Event::KeyDown {keycode: Some(Keycode::Escape), ..} => {
                    running = false;
                },
                _ => {}
            }
        }

        let ticks = timer.ticks();

        source_rect.set_x((128 * ((ticks / 100) % 6) ) as i32);
        renderer.clear();
        renderer.copy_ex(&texture, Some(source_rect), Some(dest_rect), 0.0, None, true, false);
        renderer.present();

        std::thread::sleep(Duration::from_millis(100));
    }
}

I think it is safe to close this since it isn't actually a problem with rust-sdl2.

The bug for SDL2 is filed here

Thinking the bug comes from SDL2 is fine, but do you have a simple C code to reproduce it in C ? They won't take you seriously if you just link to this page, you must have an example to reproduce this bug in C.
When you have that, they will able to fix it / give us some hindsight of what we should do itself / etc
If you can't, that means that the bug comes from this crate and not SDL2 itself.
To be honest I'm really surprised that this bug comes from SDL2, given everything and everyone that uses it, you could think someone would have discovered this bug since release date a few years ago.

That's true, I should have written something in C just to be absolutely certain about it. I'll do that soon.


Using await on graphiql handler - Fix graphiql issues

This solves issue #449 without workarounds on microrouter definitions.
This is a proposal! Please review the code before merging! (It's my first experience with typescript, maybe also the README must be reviewed)
I was not able to provide tests for this use case, but the diff consists on a refactor to the graphiql handler. It use an async function so the microroute awaits the execution of the handler before  responds with a 404

LGTM


[APFM-89] Added comments to PR instead

Description
It seems that the code coverage check is not properly posted to the correct workflow and in fact, a bug within the Github actions which is already posted here: Specify check suite when creating a checkrun · Discussion #24616 · community. The bug itself is 2 years old and worst case it will never be fixed by Github.
I would recommend removing our checks and instead having it part of the job as a step and failing manually whenever the code coverage fell from 100%. This way it will always be posted to the correct workflow.
Also, whenever we do the switch to step we need to also change the check within the repo settings and remove the code-coverage check in favor of the job check.
Solution

Remove the create code-coverage check in the workflow
Remove the code-coverage check within the repo settings and set a new check for the job where the new step is added.
Create the code-coverage check as a step within the job

Screenshot

@poldz123 Do you need to recompile with ncc after the change in 7fec2c4?


Removed reminder email feature

It was broken and didn't work with the revised account creation
process.
Planning on revisiting how that process works.

This feature was broken anyway. Removing it so we can implement something else in the future.

I'm not actually sure I like how the current account creation process works. If someone ignores the initial email but later wants to create an account, they have to find that original email in order to get the link to make an account (or wait for a reminder email to be sent).
Instead, we could just make a "create account" page, where the user provides some identifying information (their UID, most likely). Then, the website can check if the user is eligible for an account, generate a new account creation key, and email the user a link to create the account.

The main intention behind this was that account creation should happen roughly once per year (after rotation). This isn't true for all cases, but we'd like all freshmen to make an account. So, we decided to email them once they were able to make an account, and then the secretary could send them a reminder a week or so later. I agree it's not implemented optimally, and a "create account" page is also good, but I do think we should send an initial email and encourage them to create an account after rotation.

Oh, I completely agree that we should send out an account creation link when people are added to the website (mostly at the beginning of the year). It's just that the email reminder shouldn't be the only way to create an account; if someone needs to log in and realizes they don't have an account, they should be able to create one.

It broke when I rewrote how account creation works (using a randomly generated key instead of hashing some fields using python's hash function, which isn't even suitable for this kind of thing).


Revert "Add Billing Type to ExpressRouteDirect"

Reverts Azure/azure-rest-api-specs#18002

Our changes did not get to the NRP release branch on time, so we need to target the next swagger release.


Parse string promise

#423 with some of my changes on top.

This one is even better, yes node 8+ is the way to go!  I'll remove the second pull request I submitted.

Coverage increased (+0.07%) to 97.701% when pulling c6071f3232f500a05fc8472d40d2b8c1fc4ccdf5 on parse-string-promise into 5770685d17996706ab9b6fc63f7c177254861fec on master.


Permanent Magnifying Glass in Tray line

Description of the new feature / enhancement
there should be a permanent "icon" in the tray line (with a width of 3 regular icons and a hight of the try line), which should permanently magnify the area of th desktop, where the mouse is currently pointing to.
Often the problem is, that you just want to see, if there is e.g. a m or an n. If there would be this permanent magnifying glass, a short look to this icon could clear the situation.
Of course, this small program should optionally start, when window is booting.
Scenario when this would be used?
permanently
Supporting information
No response

so you want something 'pinned' to your taskbar, you click it and launches PT Run?

@crutkas
I am afraid, we misunderstand. Therfore I have drawn a small picture, which shows what I mean.
I made a screenshot of the lower part of my desktop. The mouse pointer just points to the text "ShanaEncoder" below the icon. And therefore, the permanently fixed yellow rectangle in the trayline shows the area araound the mouse pointer a little bit enlaged. That means, when I move the mouse pointer e.g. a little bit to the right, the yellow rectangle is permanently updated. Of course without any clicking of a mouse  button.
I hope this makes clear, what I propose. If not, please ask again.
By the way: I saw this solution in Windows XP

.

Built into windows.  you can drag it out and place it wherever and resize it with dock setting.

Clint,
no, no, no, I don't want to click anything. I just want to have a short glance to the bottom line of my desktop to see immediately the blow up of the area, the mouse cursor is pointing to. That is quite different to the built in magnifier of Windows.
Peter


Can't render the left side column size

Issue submitter TODO list

[X] I've looked up my issue in FAQ
[X] I've searched for an already existing issues here
[X] I've tried running master-labeled docker image and the issue still persists there
[X] I'm running a supported version of the application which is listed here

Describe the bug (actual behavior)
We have been using latest image 0.7.1 and the left side column couldn't be changed to reflect the full name of a cluster, which is really annoying (see ap-southeast-* ones, which misses 1-1 and 2-2)
Expected behavior
We would like to be able to adjust the left column width, or make the left column width automatically adjusted based on the text size, or render text into 2 lines
Your installation details
I pulled the official latest image and build it into AWS ECR
Steps to reproduce
Should be reproducable on local
Screenshots
No response
Logs
No response
Additional context
No response

Great App!
I would like to be able to adjust the left column width too.

Please note this repo is not maintained (#4255), we're tracking the progress on this issue here: https://github.com/kafbat/kafka-ui/issues/239


MH-12414, JPA spec states positional parameters are indexed from 1

Seems like this:
  final Object value = params[i];

would give an out-of-bounds exception where i==params.length and what you should be doing instead is using 0 to params.length-1 but calling
setParameter(i+1, ...)

And that is exactly what we have in our code, I thought it would be neater to write the other way sigh

Maybe this should also be changed in persistencefn/Queries for consistency? (Although I have no idea how these two modules differ since they seem to contain the same functionality and are both used in Opencast...)


FakeStorageRpc: Consider filtering by bucket and prefix.

Environment details

FakeStorageRpc
OS type and version: Win 10
Java version: java 8
google-cloud-nio version(s): 0.121.2

Steps to reproduce

Add object with name "test-object" to bucket "first-bucket",
Add object with name "test-object" to bucket "second-bucket".
List objects in "first-bucket" with "test-" prefix.
Both "test-object" files from "first-bucket" and "second-bucket" are returned.

Any additional information below
The list method in the FakeStorageRpc does not take into account the bucket metadata:
    for (StorageObject so : metadata.values()) {
      if (!so.getName().startsWith(prefix)) {                       // <---------- here's the problem
        continue;
      }
      if (processedAsFolder(so, delimiter, prefix, folders)) {
        continue;
      }
      so.setSize(size(so));
      values.add(so);
    }

Technically, just adding an extra check to compare the so.getBucket() with bucket should be enough to resolve the issue.

@athakor Hi, thx for taking a look at it. Do you think it's smth we can expect to be resolved soon?
I can create a PR with a fix if it'll help speed it up.

@yuri-sergiichuk thanks for your patience  don't worry i will fixed it soon.

@athakor thx for fixing the bug.
Is there any plan to release a new version with this fix any time soon? I'd really love to have the fixed version ASAP as it kind of blocking our local dev tests.

@athakor thx for fixing the bug.
Is there any plan to release a new version with this fix any time soon? I'd really love to have the fixed version ASAP as it kind of blocking our local dev tests.

@yuri-sergiichuk i am not sure but it might done soon


A refactor that can be merge directly to master

I made this based on the big amount of work @Moshe-Immerman did. I just reordered a few things, fixed a few links in the TOC and so on.
This can be merged and we can start improving gradually. Most important of all, we can start accepting those PR from other contributors again. Which is the most important I feel.
Unless you have a good reason to not merge this (we might have overlooked something) just let us know and we'll fix it but this PR needs to be merged soon.
Thank you
PS: the reason for this PR is that I cannot push to #406 otherwise I would have and #404 was half way in transition in between commits where I could not understand what was going on... Sorry for another big PR for this refactor.

I apologize for being late.
Also LGTM.
Well done @veggiemonk and @Moshe-Immerman

... me too :disappointed:
Great work @veggiemonk and @Moshe-Immerman


bluez5_%.bbappend: fix bluez5 capabilities for our Smack setup

Recent bluez5 releases started limiting the capabilities of
bluetoothd. When running on a Smack-enabled system, that change has the
effect that bluetoothd can no longer create the input device under
/sys because bluez5 running with label "System" has no write
access to that.
It works when running as normal root with unrestricted capabilities
because then CAP_MAC_OVERRIDE (a Smack-specific capability) allows
the process to ignore Smack rules.
We need to ensure that bluetoothd still has that capability.
Fix: IOTOS-1689
Signed-off-by: Wu Zheng<EMAIL_ADDRESS>

Can one of the admins verify this patch?

It has been verified.

ok to test
@wzhen12: automated comment was a request by the CI testing to allow testing.
Regarding the change itself, has this problem been reported to Bluez upstream? Looks to me like they should apply the same change.

Okay, I will submit it to upstream too.

Please add a link to the upstream submission to the .bbappend file.

The link has been added to the .bbappend file.

@pohly any comments? Thanks.

@wzhen12 upstream rejected this change. I remember that we discussed this with Casey, and he confirmed that CAP_MAC_OVERRIDE is needed. Can you dig out the relevant discussion and add a pointer to that, both in the upstream email discussion and this commit?

@pohly I checked the mails of  the relevant discussion.
However, I can't add a pointer to that.
The mails of discussion are in the mail list of<EMAIL_ADDRESS>It is private mail list and only ostro team can check it.
Therefore, I can't find the mail's pointer in internet.
What's idea?

@wzhen12 you can summarize the discussion in public. The key point is that this is the solution preferred by the Smack architect, Casey.

@pohly  I have added the related info in the patch and send the related email to bluez upstream for asking.
Let's wait for the upstream answer and trace it.
Can you merge the patch firstly?
It is for PV release and I worry about if the patch can be merged to GT project or not in time.
(QA need some time to verify it too) Thanks.


problem when using jquery.select2 in a popup

Hey,
when using jquery.select2 inside a popup, you can't type into the select2's searchbox. There seems to be some kind of focus/blur loop. I have described the issue in more detail here: http://stackoverflow.com/questions/19990191/select2-in-magnific-popup-search-input-cannot-be-focused. Here is jsfiddle that shows the problem: http://jsfiddle.net/clime/qweWa/15/. I have tracked the problem to the following code in magnific popup:
        setTimeout(function() {

            if(mfp.content) {
                mfp._addClassToMFP(READY_CLASS);
                _setFocus();
            } else {
                // if content is not defined (not loaded e.t.c) we add class only for BG
                mfp.bgOverlay.addClass(READY_CLASS);
            }

            // Trap the focus in popup
            _document.on('focusin' + EVENT_NS, function (e) {
                if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {
                    _setFocus();
                    return false;
                }
            });

        }, 16);

_setFocus is called indefinietly when select2 is clicked on in a popup.

The sample code should be updated for the new Select2 v4.x className.
$.magnificPopup.instance._onFocusIn = function(e) {
    // Do nothing if target element is select2 input
    if( $(e.target).hasClass('select2-search__field') ) {
        return true;
    }
    // Else call parent method
    $.magnificPopup.proto._onFocusIn.call(this,e);
};

A more future-proof solution may involve searching for "select2" anywhere in the class attribute.
if( $(e.target).attr('class').indexOf('select2') >= 0 ) {

It works. Thanks


Ways to specify thread stack size

When we are trying to spawn a memory costy task with async-std
async_std::task::spawn(some_future())
It throws thread 'async-std/runtime' has overflowed its stack
Although we can solve this problem with the following code:
thread::Builder::new().stack_size(32 * 1024).spawn(|| {
    async_std::task::block_on(some_future())
}).unwrap();

But if async_std also has the specified task stack size, it can save some time.

If that future is a large set of async functions you may be able to break it up manually using a pinned box for some memory indirection, which should help I think.


ModelCriteria::clear() resets the $select value

Please merge if it’s the desired behaviour. There is no other way of reseting the select field, since the select() method doesn’t allow null.

IMO clearing models for re-use is most of the time a error prone thing, which doesnt save much.
creating a model from scratch using new works much better.
@marcj do you agree that dropping methods like clear in propel2 would be a good thing?

Don’t mind the code, it’s just an example. In my case, I have something like:
$ids = $this->query->clear()->select('id')->limit(10)->find();
foreach ($ids as $id) {
	if (something()) {
		$item = $this->query->clear()->findPk($id);

I am not creating new query class since I’d like to have it injected. If clear() is a bad solution, I’d have to clone it:
private function getQuery() {
	return clone $this->query;
}

Would this be an elegant solution in your opinion?
OTOH I can use a factory:
private function getQuery() {
	return call_user_func($this->queryFactory);
}

I am not creating new query class since I’d like to have it injected

why do you want that? a model class is not something I would consider for DI.
Nevertheless, using a method which returns a clone of a fresh instance should work like using new though.

why not? I tend to use new only for models, value objects and exceptions ;)
In this case I needed to test it, and the easiest way was to mock the query class. I’m sticking with cloning for now.

@marcj do you agree that dropping methods like clear in propel2 would be a good thing?

@marcj do you agree that dropping methods like clear in propel2 would be a good thing?

Actually not, since clear() is really a common method used in many use cases. We should stay with this method and rather make it useable for use cases @mlebkowski mentioned. So I'm going to merge this.


Implement bigtable::InstanceAdmin::AsyncListAppProfiles

We want to implement an asynchronous version of ListAppProfiles for the interfaces that use exceptions. The signature of this function should look like so:
class google::cloud::bigtable::InstanceAdmin { public:
  future<std::vector<google::bigtable::admin::v2::AppProfile>> AsyncListAppProfiles(
      std::string const& instance_id,
      CompletionQueue& cq);
};

As part of this work we need to:

[ ] Implement the function.
[ ] Implement an integration test for this function.
[ ] Implement an example for this function.
[ ] Execute the example as part of the CI build.

The main difference between the example and the integration test is that the latter uses pre-defined values and checks the resulting state against expected outputs, while the former takes (most) of its parameters from the command-line and simply prints out any state.

Fixed in #2491


Refactor/task domain events & commands

This PR adds a massive refactor to the task domain, follows https://github.com/okp4/ui/pull/476.
The idea is to implement some principles inherited both from Event Sourcing and CQRS patterns.
In particular, it highlights the necessity to enable events snapshots to mutate the state and to trigger those events by commands that can be invoked by any controller.
When the command is invoked, this is its responsibility to ensure that payloads are well designed and uncorrupted, and this in order to preserve the unicity, immutability and infallibility of the generated event that will create or update the state.
Consequently, it allows to protect entities in the domain and prevent from leaking them through commands, events or selectors.
The next step will be to add a command bus that will execute asynchronous operations and will allow to decorrelate commands from redux.

Codecov Report

Merging #499 (a01f048) into main (5fd8d3b) will decrease coverage by 0.20%.
The diff coverage is 98.36%.

@@            Coverage Diff             @@
##             main     #499      +/-   ##
==========================================
- Coverage   98.05%   97.84%   -0.21%
==========================================
  Files          73       71       -2
  Lines         821      837      +16
  Branches      128      123       -5
==========================================
+ Hits          805      819      +14
  Misses         14       14
- Partials        2        4       +2

Impacted Files
Coverage Δ

src/domain/common/actionCreators.ts
100.00% <ø> (ø)

src/domain/task/builder/task.builder.ts
100.00% <ø> (ø)

src/domain/task/helper/test.helper.ts
85.71% <84.61%> (-14.29%)
:arrow_down:

src/adapters/task/primary/eventListeners.ts
100.00% <100.00%> (ø)

...omain/faucet/usecase/request-funds/requestFunds.ts
100.00% <100.00%> (ø)

src/domain/task/store/reducer/task.reducer.ts
100.00% <100.00%> (ø)

src/domain/task/store/selector/task.selector.ts
100.00% <100.00%> (ø)

...n/task/usecase/acknowledge-task/acknowledgeTask.ts
100.00% <100.00%> (ø)

...in/task/usecase/acknowledge-task/actionCreators.ts
100.00% <100.00%> (ø)

...n/task/usecase/amend-task-status/actionCreators.ts
100.00% <100.00%> (ø)

... and 6 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

:tada: This PR is included in version 1.16.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Training code

Hi,
Do you plan to share the training code ?

I also have the same question🥺

No, you can use BasicSR for that. Simply add the architecture to the arch directory following the BasicSR descriptions :)


Documentation on official page v4.11.0 not working

Documentation appear like not working on official page (internal links:  ie.

[ x] The issue is present in the latest release.
[ x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Goin on lateral navbar (Documentation Index) and going to "Component API" does not navigate to proper page
Expected Behavior 🤔
Expected go to proper documentation of "Component API"  (as example)
Steps to Reproduce 🕹
Steps:

Go to:   https://material-ui.com/getting-started/installation/
Try to click on Component API's Link
Keep watching
Nothing happen.

(Errors on console appears)

I noticed the same. I also noticed at least in the Slider docs, none of the sliders actually slide
https://material-ui.com/components/slider/
No idea if that is intentional but I assume it's not since, specially for marks=true you'd probably want to test it.

I also experienced this same bug at both firefox and chrome browsers but i have not seen any error on console.

Icon Search not working
Snippet code button not showing

Error in console
GET https://material-ui.com/_next/static/runtime/main-195383a98baaf66fb5d3.js net::ERR_ABORTED 404

I can't reproduce 🤔, it seems to be related to #23077.

odd, but now its working.


CompatHelper: add new compat entry for MLJModelInterface at version 1…

…, (keep existing compat)

Codecov Report

Merging #7 (488659f) into main (654cc98) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main       #7   +/-   ##
=======================================
  Coverage   60.90%   60.90%
=======================================
  Files           4        4
  Lines         133      133
=======================================
  Hits           81       81
  Misses         52       52

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Incomplete feature: TCP routing support

Context: production readiness proposal and plan
The feature “TCP routing support” is identified as incomplete test coverage. As a measure to reach Istio production quality in 0.3, this issue is opened to track the progress of providing sufficient test coverage for the feature in question.
This issue is initially assigned to the working group leads.
Recommendations:

Come up with a test plan for how the feature should be tested. Identify and document (in this issue, or a separate document this issue will link to) test cases and whether each will be covered by an integration test (with some level of mocking and/or starting up selected components in test environment), or end to end test (aka system test, which brings up the whole Istio to exercise the feature; currently live in the istio/istio repo).
If you expect the test plan is complex and controversial, consider having it formally reviewed.
State an ETA in the issue, and assign this to a developer who will execute the test plan.
Execute the test plan as the highest priority for 0.3.
For any bug or defect identified by the new test cases, file a new issue and link it from this one.
Close this issue only when the test plan is completely executed, and all additional issues identified in step 3 are fixed.

If you see a risk of not fixing this issue by end of 0.3, please contact<EMAIL_ADDRESS>as soon as possible. We will also periodically ping the issue for update.

We have support for headless services and normal TCP services. We have plenty of tests in pilot and istio/istio. Please close this..

Closing as per confirmation from @rshriram


rest_server crashes with 'std::out_of_range'

run_rest_server craches with message
terminate called after throwing an instance of 'std::out_of_range'
The problem happens on the line 61 of rest_server.cc which calls:
Routes::Post(router, "/record/:name/:value?", Routes::bind(&StatsEndpoint::doRecordMetric, this));
Swagger-codegen version: taken from git on March 23
pistache and its example and tests compiled with
cmake (3.6.3)
make (G++ 4.8.2)
Launched with the command
./run_rest_server

Did the server crash immediately after launching, with n traffic sent to it, or did you trigger the crash by requesting a specific URL (if so, please provide details).
What version of g++ are you using ("g++ --version") (or clang).
What Linux distro are you running?
Run the test server under GDB and capture a full stack trace when it crashes.  Please share the relevant portion.

Hello Dennis,
Thanks for your quick answer.
The server crashes immediately when I launch it.
g++ version =  4.8.2
Linux CentOS 6:
Linux  2.6.32-754.10.1.el6.x86_64 #1 SMP Tue Jan 15 17:07:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Here is the stack given by gdb :
gdb run_rest_server
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-92.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /Home/JS139795/cpprest/pistache-git/pistache/build/examples/run_rest_server...done.
(gdb) r
Starting program: /Home/JS139795/cpprest/pistache-git/pistache/build/examples/run_rest_server
[Thread debugging using libthread_db enabled]
Cores = 2
Using 2 threads
terminate called after throwing an instance of 'std::out_of_range'
what():  basic_string::substr
Program received signal SIGABRT, Aborted.
0x00000038092324f5 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.212.el6.x86_64
(gdb) where
#0  0x00000038092324f5 in raise () from /lib64/libc.so.6
#1  0x0000003809233cd5 in abort () from /lib64/libc.so.6
#2  0x00007ffff7d53a95 in __gnu_cxx::__verbose_terminate_handler() ()
at ../../../../gcc-4.8.2/libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x00007ffff7d51c06 in __cxxabiv1::__terminate(void ()()) () at ../../../../gcc-4.8.2/libstdc++-v3/libsupc++/eh_terminate.cc:38
#4  0x00007ffff7d51c33 in std::terminate() () at ../../../../gcc-4.8.2/libstdc++-v3/libsupc++/eh_terminate.cc:48
#5  0x00007ffff7d51e5e in __cxa_throw () at ../../../../gcc-4.8.2/libstdc++-v3/libsupc++/eh_throw.cc:84
#6  0x00007ffff7da6ea7 in std::__throw_out_of_range(char const) ()
at ../../../../../gcc-4.8.2/libstdc++-v3/src/c++11/functexcept.cc:80
#7  0x00007ffff7db2333 in std::basic_string<char, std::char_traits, std::allocator >::substr(unsigned long, unsigned long) const () at /root/Downloads/objdir/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/basic_string.h:324
#8  0x00000000006a8f63 in Pistache::Rest::SegmentTreeNode::sanitizeResource(std::basic_string<char, std::char_traits, std::allocator > const&) () at /Home/JS139795/cpprest/pistache-git/pistache/src/server/router.cc:106
#9  0x00000000006ae475 in Pistache::Rest::Router::addRoute(Pistache::Http::Method, std::basic_string<char, std::char_traits, std::allocator > const&, std::function<Pistache::Rest::Route::Result ()(Pistache::Rest::Request, Pistache::Http::ResponseWriter)>) () at /Home/JS139795/cpprest/pistache-git/pistache/src/server/router.cc:455
#10 0x00000000006ac936 in Pistache::Rest::Router::post(std::basic_string<char, std::char_traits, std::allocator > const&, std::function<Pistache::Rest::Route::Result ()(Pistache::Rest::Request, Pistache::Http::ResponseWriter)>) ()
at /Home/JS139795/cpprest/pistache-git/pistache/src/server/router.cc:370
#11 0x00000000006ae8fc in Pistache::Rest::Routes::Post(Pistache::Rest::Router&, std::basic_string<char, std::char_traits, std::allocator > const&, std::function<Pistache::Rest::Route::Result ()(Pistache::Rest::Request, Pistache::Http::ResponseWriter)>) () at /Home/JS139795/cpprest/pistache-git/pistache/src/server/router.cc:470
#12 0x00000000005a965e in StatsEndpoint::setupRoutes() ()
at /Home/JS139795/cpprest/pistache-git/pistache/examples/rest_server.cc:61
---Type  to continue, or q  to quit---
#13 0x00000000005a928d in StatsEndpoint::init(unsigned long) ()
at /Home/JS139795/cpprest/pistache-git/pistache/examples/rest_server.cc:45
#14 0x00000000005a5a2d in main () at /Home/JS139795/cpprest/pistache-git/pistache/examples/rest_server.cc:171
Thank you for any help
Jacqueline

Please run the unit tests and report if any crash or fail.

The unit test does not crash but fails and report an error:
./run_rest_server_test
Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from rest_server_test
[ RUN      ] rest_server_test.basic_test
unknown file: Failure
C++ exception with description "basic_string::substr" thrown in the test body.
[  FAILED  ] rest_server_test.basic_test (1 ms)
[----------] 1 test from rest_server_test (1 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (1 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] rest_server_test.basic_test
1 FAILED TEST

What is the output of "ldd ./run_rest_server"?

ldd ./run_rest_server_test
linux-vdso.so.1 =>  (0x00007ffcf13f9000)
/Applications/compilers/gcc/4.8.2/lib64/libstdc++.so.6 (0x00007f40e0012000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x0000003820600000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003809a00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003809600000)
libgcc_s.so.1 => /Applications/compilers/gcc/4.8.2/lib64/libgcc_s.so.1 (0x00007f40dfde2000)
libc.so.6 => /lib64/libc.so.6 (0x0000003809200000)
/lib64/ld-linux-x86-64.so.2 (0x00005614a2523000)
libidn.so.11 => /lib64/libidn.so.11 (0x0000003813600000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x000000381da00000)
librt.so.1 => /lib64/librt.so.1 (0x000000380a200000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003818a00000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003816a00000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003817e00000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003815600000)
libz.so.1 => /lib64/libz.so.1 (0x000000380a600000)
libssl3.so => /usr/lib64/libssl3.so (0x0000003819e00000)
libsmime3.so => /usr/lib64/libsmime3.so (0x0000003819a00000)
libnss3.so => /usr/lib64/libnss3.so (0x0000003818e00000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x0000003815a00000)
libplds4.so => /lib64/libplds4.so (0x0000003816200000)
libplc4.so => /lib64/libplc4.so (0x0000003817200000)
libnspr4.so => /lib64/libnspr4.so (0x0000003816600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003809e00000)
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x000000381fe00000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x000000381d200000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x000000380b200000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x000000381aa00000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003817a00000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003818600000)
libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003819600000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003816e00000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003813a00000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x000000380ae00000)
libfreebl3.so => /lib64/libfreebl3.so (0x0000003813e00000)

Hello Dennis,
I am happy to tell you that using g++ (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) run_rester_server does not crashes any more and run_rest_server_test runs fine also :
./run_rest_server_test
Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from rest_server_test
[ RUN      ] rest_server_test.basic_test
Cores = 32
Using 1 threads
Port = 58028
[       OK ] rest_server_test.basic_test (6 ms)
[----------] 1 test from rest_server_test (6 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (6 ms total)
[  PASSED  ] 1 test.
I had to work on a different server but now I can go further in my usage of pistache.
Best regards,
Jacqueline

No more issue when using g++ (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)

@jsignoret It is because std::regex is not implemented by GCC 4.8. I just fire a PR to fix this. #529

same issue with gcc-8.2.0

Are you using an up to date pull from the master branch?

@hydratim yes with the latest pull is working! thank you


Fix compileTestKotlin FAILED due to create snapshot workflow change

Issue #, if available:
#824
Description of changes:
add field remoteStoreIndexShallowCopy in SM TestUtils
CheckList:

[ ] 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.

failed integTests are caused by #8206. We can ignore the null return value to keep the same behavior of previous code here.

Please help add backport 2.x label. The workflow changing PR in core was backported to 2.x https://github.com/opensearch-project/OpenSearch/pull/8071/files .


Include sys/sysmacros.h for major/minor(3) (Linux)

sys/sysmacros.h implicit inclusion is being deprecated (even with _DEFAULT_SOURCE), so it would cause build breakage on future updates.
See https://bugs.gentoo.org/show_bug.cgi?id=604608 and https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html (also mentioned in glibc news)

Do you know if this breaks compile anywhere?

Well, it seems to break the build in gentoo with glibc-2.24 (which is not even keyworded yet), as they decided to patch the implicit include out (again). Same thing happened with 2.23 before (but they have decided to revert it before stabilizing). Who knows what'll happen this time...

Lets merge this and think about it if there are complaints.


Importing images via file-loader breaks in production

Problem
Importing images via Slate's file-loader breaks when building for production.
Replication steps
Import image in JS (I'm using preact and aliases here).
import muteIcon from 'images/icon-radio-mute.svg';
<img src={muteIcon} />

Localhost correctly serves the file via Webpack Dev Server. Building for production simply returns the name of the image file.

This falls out of the scope of Slate, we can't guarentee that it plays friendly with 3rd party frameworks.

@t-kelly I'm confused why this would fall under a 3rd party issue. Isn't this an issue with Slate's configuration for img-loader and file-loader here?
Just as in development there is an absolute path for image assets, I would expect the same in production. I'm not sure why this is out of scope of the Slate. That seems like default behavior.

We are not prioritizing integration with Preact. You can open a PR if you find a fix!


OIDC users don't stay logged in

Description
I have configured Gitea to auth with Authentik via OIDC. Prior to that I was using local users, so the session would persist over a longer period, especially when 'Remember me' was ticked. I've noticed that when authenticating with OIDC, I don't remain logged in after closing the browser. This means users have to go through two extra clicks every time they visit in a new browser session.
Gitea Version
1.21.1
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
Ubuntu/Docker
Database
MySQL/MariaDB

I have exactly the same issue (Gitea v1.22.3). I also have a Gitea + Authentik PoC. But the big problem for me is that the login does not persist. Local users can log in without any problems and remain logged in for the time configured in the app.ini. This works perfectly. The corresponding remember cookie is also set. If a user logs in via OIDC, however, no cookie is set, only the session cookie. Accordingly, these users have to log in again and again
Other apps that are connected to my OIDC provider do not have this issue. The users remain logged in there. Therefore, this should definitely have something to do with the implementation in Gitea (simply no cookie is set).
But now I'm not sure whether this might even be intentional, because it's basically also a security problem. I am noticing this in the other apps. Once you are logged in there, you stay logged in, even if you log out of the provider (Authentik).
Therefore, you should remain logged in even if the user has been blocked or deleted by an admin in Authentik. Of course, this makes the whole SSO issue a bit of a one-way street if you don't have a single logout. It might therefore be better to use LDAP integration in Gitea. Authentik also offers this. Maybe this problem does not exist there.
I'm also not sure whether this is due to the implementation or a general problem with OIDC itself.

For what it's worth, I've somewhat eased the issue by editing the sign-in button to go straight to the OIDC flow. So it skips Gitea's login page.


Change babel-eslint to be dev dependency

@xiaoyann Thanks for merging this! Would you mind releasing this change when you get a chance. It was a causing an unusual dependency issue for us.


disable transforms when opts.css = false

Right now, bankai still runs transforms on your bundle when you turn css off.  This was unexpected and confusing imo.

This is part of #93.

@aknuds1 oh my bad!  Cool I'll read through and close if totally a duplicate.

closing in favor of #93


Slow Server this morning

I am busy upgrading my website chat.
Fired up a second user in Chrome to test it.
Took about 30 seconds to load and pass on a message.
I had already started trying to debug it, when the message appeared on the other user browser page.
I do not know exactly how long it took, but it was a problem  Quite irreproducible.  Later it took
4 seconds to load the page, much more reasonable.
Just thought I would let you know.  I will keep an eye out for the same problem, and time it more accurately in the future.
Hope that helps.

And now the server is not working.
emitter.min.js:5 WebSocket connection to 'wss://api.emitter.io/' failed: Error in connection establishment: net::ERR_CONNECTION_RESET
So it is definitely going up and down.  Not connecting, then working.
I will try again later.  It is the weekend, maybe you are upgrading it.

Appears to be working now.


max-size for 'update' based on 'create'

Max size value specified during 'create' should carry over to 'update' phase.

Verified that this works as intended in 7b526dce41fe865464d16ae9e22783ecfbf92346.

@zshaheen , I believe the instructions for the 'update' phase here:
https://e3sm-project.github.io/zstash/docs/html/best_practices.html#
should be adjusted to remove the --max-size option from the command based on this issue..  When I tried the command as written I received an error saying --max-size was an invalid option.

@matthewhoffman, I'm reopening this issue and I'll see what's up. Looking at the code, it seems like we don't have a --maxsize arg. I'll add it in.

@zshaheen , I think this issue can remain closed, it's just that the instructions linked above need to be updated to remove the --max-size option from the command described for the 'update' phase.

@matthewhoffman : thanks for noticing the inconsistency in the documentation. I have now fixed it.


update: added alias for notation-core-go api

This is to move notation-core-go to indirect dependency of notation CLI. Notation CLI will instead call this alias.
Signed-off-by: Patrick Zheng<EMAIL_ADDRESS>

Codecov Report

Merging #168 (e64837b) into main (e2ae1fe) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #168   +/-   ##
=======================================
  Coverage   74.32%   74.32%
=======================================
  Files          39       39
  Lines        2668     2668
=======================================
  Hits         1983     1983
  Misses        534      534
  Partials      151      151

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

LGTM

Why do we need this aliases? Can we modify our notation-go functions to not accept or return notation-core-go types?
For test certificate we can have a new method in notation-go which will generate self signed cert for testing.
This will provide better abstraction.

notation-core-go is notation-go's direct dependency by design. The alias in this PR is only for notation CLI. Instead of directly calling notation-core-go, notation CLI will call this alias in the future. In this way, notation-core-go will become an indirect dependency of notation CLI, and it avoids duplicate implementations from notation-core-go.

Why do we need this aliases? Can we modify our notation-go functions to not accept or return notation-core-go types?
For test certificate we can have a new method in notation-go which will generate self signed cert for testing.
This will provide better abstraction.

notation-core-go is notation-go's direct dependency by design. The alias in this PR is only for notation CLI. Instead of directly calling notation-core-go, notation CLI will call this alias in the future. In this way, notation-core-go will become an indirect dependency of notation CLI, and it avoids duplicate implementations from notation-core-go.

Instead of creating, managing aliases, and possibly adding more in the future. Can we make APIs of notation-go, notation-core-go independent? I'm making an assumption here that an alias is only required because notation-go APIs expect parameters of types defined in notation-core-go

Why do we need this aliases? Can we modify our notation-go functions to not accept or return notation-core-go types?
For test certificate we can have a new method in notation-go which will generate self signed cert for testing.
This will provide better abstraction.

notation-core-go is notation-go's direct dependency by design. The alias in this PR is only for notation CLI. Instead of directly calling notation-core-go, notation CLI will call this alias in the future. In this way, notation-core-go will become an indirect dependency of notation CLI, and it avoids duplicate implementations from notation-core-go.

Instead of creating, managing aliases, and possibly adding more in the future. Can we make APIs of notation-go, notation-core-go independent? I'm making an assumption here that an alias is only required because notation-go APIs expect parameters of types defined in notation-core-go

In this case, then there will be duplicate implementations in notation-go and notation-core-go? For example, ReadCertificateFile() and generating self-signed certificates. And in the future, whenever there's a new method introduced in notation-core-go, and if notation CLI wants to use it, we need to add a copied version inside notation-go. This alias's only purpose is for notation CLI to still use notation-core-go API, but in an indirect way. @shizhMSFT Any further suggestions/comments on this one? Thanks.

@priteshbandi @patrickzheng200 The fundamental problem we have here is that we have to choose either the following approaches:

notation and other applications will import notation-go and notation-core-go for the corresponding functionalities.

Pros: Codes and purposes of two repos are cleaner, clearer, and decoupled.
Cons: Versions of notation-go and notation-core-go are tracked separately. It is possible to have mix-matched versions. However, I don't think it is a concern since the application should always update the version to the latest.

notation and other applications will import notation-go only. If they want to import anything from notation-core-go, they need to import through notation-go. This PR is for this approach.

Pros: notation-core-go is hidden from any application. Only a few APIs are exposed to the public / application via notation-go. The application only needs to track the version of notation-go and can safely leave notation-core-go as an indirect dependency.
Cons: Duplicated code or API forwarders introduced this PR.

I tend to the 1st approach, which is what we have today. This PR shows what will the libraries look like if we take the 2nd approach for discussions. Ideally, we will close this PR if we remain on the 1st approach after discussion.
/cc @gokarnm

+1 to @shizhMSFT's comment on avoiding API forwarders

Closing this PR as we decided to keep what we have now, i.e. Notation CLI would still require notation-core-go as a direct dependency along with notation-go.


track.send doesn't work with readable stream

Hi! I wanted to serve static content in my project via fist, here simplified example what I am doing. I pass readable stream of test.css to track's send method, but get 404 error. Is it problem in my code or fist's? I can't understand from docs what I am doing wrong, could you help me to solve this problem?

Strange! I will check

It is a bug

Will fix in few hours

Thank you!

Fixed in 3.5.1

:+1:

Everything is good, so I am closing this.

Thanks for contributing!


[ContextMenu] Accidental focus theft from within Menu

Bug report
Current Behavior
It's an unfortunate race condition~ between a handler like:
onSelect={() => {
  inputRef.current.focus()
}}

and the "focus trap" that is set up in the ContextMenu through this focusout handler:
https://github.com/radix-ui/primitives/blob/285aa0837f2405a05e983fc8fffd55f4cc368b5e/packages/react/focus-scope/src/FocusScope.tsx#L87-L92
I'm not sure if there is actually any way to solve this problem on your side because you can't remove those listeners before my code tries to call inputRef.current.focus. However, maybe a documentation for this should be added somewhere? It would be nice if some FAQ/gotchas could be found in the docs.
Expected behavior
It would be nice if this gotcha would be documented somewhere.
However, I still believe that there is some issue in the code that you have here - I just don't have a concrete, real-life, repro case for this...
I think that because a custom event is involved here we often end up causing double render - one comes from the custom event that is wrapped with flushSync and one can be created afterwards when you conditionally close the menu. This is actually closer to the original case that I have found in my code because an effect that was focusing the input was flushed before you were removing the mentioned focusout handler but I think that using an effect there was a problem in our code and that this particular focus call should just be called directly from the onSelect handler - so I'm not sharing that as a compelling example for the "broken" behavior.
The Radix code I'm talking about is here:
https://github.com/radix-ui/primitives/blob/285aa0837f2405a05e983fc8fffd55f4cc368b5e/packages/react/menu/src/Menu.tsx#L599-L611
Notice how dispatchDiscreteCustomEvent(...) and rootContext.onClose() are not "wrapped" together and thus they will end up creating 2 renders.
Reproducible example
CodeSandbox repro

Hey @Andarist,
Yeah this all makes sense given item selection is what will cause the menu to close, subsequently moving focus.
This is the way we generally recommend handling this:
https://codesandbox.io/s/contextmenu-custom-focus-on-action-28e6cl?file=/src/App.js
What's really nice about it is that it ties in the need to prevent default to the custom focus need in one fell swoop.

What's really nice about it is that it ties in the need to prevent default to the custom focus need in one fell swoop.

Hm, it's nice that it eliminates potential timing issues as much as possible here. OTOH, it introduces a little bit more boilerplate to the code (we need to introduce and manage the focusRef).

We are going to stick with what we have as we prefer the explicit nature of it.
Thanks for raising though @Andarist, we always appreciate your contributions 🙏

Note that the proposed solution gets hard to implement when you split your items and context menu between components.
We have a ContextMenu component that wraps your stuff and it accepts menu options as children. So the onSelect actions are defined in the component that renders that ContextMenu. That component can implement your suggestion but it would be nice if we could implement something in the ContextMenu itself. This becomes challenging though because there is no clear way to relate the menu option's action that comes from the parent with the onCloseAutoFocus handler living in the ContextMenu.

We have yet another issue caused by this. This time we need to call .focus() from within a React effect that gets called from within the flushSync that you apply over custom event dispatches. It's very hard to coordinate the place in which .focus() is called with the ContextMenu and, currently, I have no idea how to do this properly. The problem is that the element that I want to focus on is far away in React/DOM tree + it doesn't exist at the time that onSelect gets called.
I guess I could use a singleton module and "track" the "context" of responding to onSelect by assigning a flag in onSelect and resetting it in onCloseAutoFocus but that's on top of tracking a focus ref and a bunch of other things (+ it would be using a singleton module which I feel that it could be avoided here).
I'm not sure what's the best solution here - but the proposed workaround feels a little bit brittle and complex. I wonder if we could try to revisit this issue.

Ran into this issue when I use a context menu to create a new item that should be focused on mount. Old item is being focused instead as it was the last focused item.

Just ran into this issue. Had encountered the proposed solution mentioned here as a response to other closed issues, but thought it was actually too verbose and indeed hard to apply when we have separate menu and item components, as mentioned by @Andarist, which is exactly my case.
In that case, I guess I will use the good-old setTimeout trick, which is working for me, and leave a comment pointing to this closed issue.
setTimeout(() => input.current.focus(), 1);

Awesome library, although I think there should be a way to support this focus use-case, as it is pretty common.


Feat price api parallel requests

Partial fix for #332
Here are some benchmarks against the provided plan file in the issue:
Concurrency Level 1: 4mins & 7seconds -> 247 seconds
Concurrency Level 4: 1mins & 4seconds -> 64 seconds
Concurrency Level 8: 31 seconds
Concurrency Level 16(default on MacBook Pro 2017 with 4 cores): 24 seconds
Although there is a huge boost, I was expecting better results :)). When we change 1 to 4 there must be more than 4x improvement but it seems the network handshake or sth else is preventing it to happen. However, it's a good start.
@alikhajeh1 It would be great if you can run some tests on a more reliable network.
@aliscott @sashman Could you please take a look and give your comments and suggestions?

@sinabakh this looks great 🚀 🚀 🚀  and is a huge improvements. How about something like this for the concurrency?
min: 4
default: cpu * 4
max: 16

I don't think we need to add a flag for this, probably better to just have sensible defaults.
I'm guessing the reason this didn't meet your expectations was because of the network overhead and for that we need to better batch the GraphQL queries.

@sinabakh this looks great 🚀 🚀 🚀  and is a huge improvements. How about something like this for the concurrency?
min: 4
default: cpu * 4
max: 16

I don't think we need to add a flag for this, probably better to just have sensible defaults.
I'm guessing the reason this didn't meet your expectations was because of the network overhead and for that we need to better batch the GraphQL queries.

+1 on @aliscott's suggestion, as a user I only care about getting the results as fast as possible. It took ~25s for 700 resources on concurrency 16, which is great, ship it!
FYI the test failed with concurrency level must be higher than 0. omit to fallback to default, that's what I got when I ran it locally without a concurrency, so I think the test will fix it self once that flag is removed.

+1 on @aliscott's suggestion, as a user I only care about getting the results as fast as possible. It took ~25s for 700 resources on concurrency 16, which is great, ship it!
FYI the test failed with concurrency level must be higher than 0. omit to fallback to default, that's what I got when I ran it locally without a concurrency, so I think the test will fix it self once that flag is removed.

Your suggestion seems legit to me, I will change it.
@alikhajeh1 The test failure was my fault, by removing the whole concurrency flag it will be fixed too.

Your suggestion seems legit to me, I will change it.
@alikhajeh1 The test failure was my fault, by removing the whole concurrency flag it will be fixed too.

@alikhajeh1 @aliscott is there room to explore improving the API side?

@alikhajeh1 @aliscott is there room to explore improving the API side?

@sashman there is always room to explore! As @aliscott mentioned in this comment batching the queries is something that could be explored too. Once this PR is merged, I think the CLI-to-Cloud Pricing API time will be good enough for now, however, https://github.com/infracost/infracost/issues/317 and https://github.com/infracost/infracost/issues/274 mean that the CLI is still slow'ish to start.

@sashman there is always room to explore! As @aliscott mentioned in this comment batching the queries is something that could be explored too. Once this PR is merged, I think the CLI-to-Cloud Pricing API time will be good enough for now, however, https://github.com/infracost/infracost/issues/317 and https://github.com/infracost/infracost/issues/274 mean that the CLI is still slow'ish to start.

@sinabakh just FYI I was chatting with @maskimko who mentioned that for their use-case, ~20s is too slow. I invited them to the community chat so we can keep bouncing ideas around on how to make the CLI faster.

@alikhajeh1 I remember some more advanced solutions we discussed before.
The one I can think of is that currently, each resource is making a separate request. We probably can merge few resources request so we have less requests but it needs more investigation.

Yes currently we batch all cost components in a resource, whether the resource has 1 or 10 cost components. This isn't efficient if there's lots of resources that only one or two cost components. We could improve this by always batching the GraphQL requests for cost components in batches of size X instead of grouping by resource, and work out what the optimal X is.


MTL-1628 Tidy-up and remove duplicated code

Summary and Scope

Fixes MTL-1628
Requires https://github.com/Cray-HPE/dracut-metal-mdsquash/pull/27

Issue Type

RFE Pull Request

Leverage updates contained in metal-lib.sh from dracut-metal-mdsquash
(v1.10.0).

Remove the fsopts_xfs var, use new metal-lib.sh's metal_fsopts_xfs.
Remove the metal_fstab var, use the new metal-lib.sh's metal_fstab.
Remove the complicated lsblk command, leverage the function wrapper
from metal-lib.sh's metal_scand().

Prerequisites

[ ] https://github.com/Cray-HPE/dracut-metal-mdsquash/pull/27 has merged
[x] I have included documentation in my PR (or it is not required)
[x] I tested this on internal system (x) (if yes, please include results or a description of the test)

redbull
Using 0.2.60 as a base image, the RPMs for dracut-metal-mdsquash's new v1.10.0 library and this dracut-metal-dmk8s feature branch were installed.

kubernetes nodes booted with dracut-metal-mdsquash's new library and this dracut-metal-dmk8s from a wipe/bare-metal install.
k8s deployed from bare-metal:

ncn-m002:~ # kubectl get nodes
NAME       STATUS   ROLES                  AGE     VERSION
ncn-m002   Ready    control-plane,master   7m20s   v1.20.13
ncn-m003   Ready    control-plane,master   5m37s   v1.20.13
ncn-w001   Ready    <none>                 5m27s   v1.20.13
ncn-w002   Ready    <none>                 5m27s   v1.20.13
ncn-w003   Ready    <none>                 5m27s   v1.20.13

Idempotency

Risks and Mitigations
What is less risky, or more risky now - or if your mod fails is there a new risk?
This mitigates risk by removing yet-another-maintained area of duplicated code.

Merging after I return from leave.


more proxy tests and fixes

The previous pull request fixed up the build error this pull request adds additional tests and then fixes the code to handle the additional cases.
Note I made a design decision here to drop the local/global CT distinction. The caveat is in the local case we now use an 'IP address' worth of extra memory in the local CT case. The result is the code is much simpler and easier to read.
Thanks!

At this point conntrack_local set via 'cilium config conntrack_local={false|true}'  no longer appears to impact anything. If we want to remove it then the attached test case modifications are not needed and a couple additional deletes from endpoint.go could be added.

Still need to change tuples on the Go side. See 9cf0ee258ba9. Can you elaborate on no longer impact anything? Wouldn't a switch to local still be a separate map as opposed the commonly shared map for global.

OK, I need a few more fixes on the go side like @borkmann notes.


Setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions

While running a synthoseis data generator with faults, you encounter the error from the title at line:
https://github.com/sede-open/synthoseis/blob/6352bc62b2de3542f8dfa9b94a2b1f0f875fda49/datagenerator/Faults.py#L2275

Line 2244 is producing a 1 dimensional array with a number inside. calling .item() on the numpy array fixes it

Closed in 6bc79ca