A few examples are failing

For instance, this is one (and the only one from messages.lisp) error message:
While evaluating the form starting at line 5, column 0
  of #P"C:/Users/Peeyush/git-clones/cl-jupyter/./cl-jupyter.lisp":

debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {23FF2421}>:
  Failed example:
  Expression: "(ENCODE-JSON-TO-STRING *HEADER1* INDENT 0)"
  ==> expected: {
  "msg_id": "XXX-YYY-ZZZ-TTT",
  "username": "fredokun",
  "session": "AAA-BBB-CCC-DDD",
  "msg_type": "execute_request",
  "version": "5.0"
}
  ==> evaluated: {
  "msg_id": "XXX-YYY-ZZZ-TTT",
  "username": "fredokun",
  "session": "AAA-BBB-CCC-DDD",
  "msg_type": "execute_request",
  "version": "5.0"
}

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [TRY-RECOMPILING              ] Recompile message and try loading it again
  1: [RETRY                        ] Retry
                                     loading FASL for #<CL-SOURCE-FILE "cl-jupyt
er" "message">.
  2: [ACCEPT                       ] Continue, treating
                                     loading FASL for #<CL-SOURCE-FILE "cl-jupyt
er" "message">
                                     as having been successful.
  3:                                 Retry ASDF operation.
  4: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  5: [ABORT                        ] Give up on "cl-jupyter"
  6: [RETRY                        ] Retry EVAL of current toplevel form.
  7: [CONTINUE                     ] Ignore error and continue loading file "C:\
\Users\\Peeyush\\git-clones\\cl-jupyter\\.\\cl-jupyter.lisp".
  8:                                 Abort loading file "C:\\Users\\Peeyush\\git
-clones\\cl-jupyter\\.\\cl-jupyter.lisp".
  9:                                 Ignore runtime option --load "./cl-jupyter.
lisp".
 10:                                 Skip rest of --eval and --load options.
 11:                                 Skip to toplevel READ/EVAL/PRINT loop.
 12: [EXIT                         ] Exit SBCL (calling #'EXIT, killing the proc
ess).

(SB-FASL::LOAD-FASL-GROUP #S(SB-FASL::FASL-INPUT :STREAM #<SB-SYS:FD-STREAM for
"file C:\\Users\\Peeyush\\AppData\\Local\\common-lisp\\sbcl-1.2.16-win-x86\\C\\U
sers\\Peeyush\\git-clones\\cl-jupyter\\.\\src\\message.fasl" {25880A69}> :TABLE
#(385 SET *PACKAGE* "CL-JUPYTER" #<PACKAGE "CL-JUPYTER"> +KERNEL-PROTOCOL-VERSIO
N+ :STANDARD #<PACKAGE "SB-C"> SB-C::DELETED #(SB-C::DELETED) #(1 7 38 0 0 1 2 6
2 0 0) #() ...) :STACK #(0 FUNCALL #<FUNCTION ERROR> "Failed example:~%  Express
ion: ~S~%  ==> expected: ~A~%  ==> evaluated: ~A~%" "(ENCODE-JSON-TO-STRING *HEA
DER1* INDENT 0)" "{
  \"msg_id\": \"XXX-YYY-ZZZ-TTT\",
  \"username\": \"fredokun\",
  \"session\": \"AAA-BBB-CCC-DDD\",
  \"msg_type\": \"execute_request\",
  \"version\": \"5.0\"
}" "{
  \"msg_id\": \"XXX-YYY-ZZZ-TTT\",
  \"username\": \"fredokun\",
  \"session\": \"AAA-BBB-CCC-DDD\",
  \"msg_type\": \"execute_request\",
  \"version\": \"5.0\"
}" #(#S(SB-C::COMPILED-DEBUG-FUN :NAME (SB-C::TOP-LEVEL-FORM #) :KIND :TOPLEVEL
:VARS NIL :BLOCKS NIL :TLF-NUMBER 3 :FORM-NUMBER 1 :ARGUMENTS NIL :RETURNS :STAN
DARD :NFP NIL :START-PC 47 :ELSEWHERE-PC 132 :CLOSURE-SAVE NIL ...)) NIL "top le
vel form" #<SB-KERNEL:LAYOUT for SB-C::COMPILED-DEBUG-INFO {22345681}> 47 ...) :
DEPRECATED-STUFF NIL :SKIP-UNTIL NIL) NIL)

Similar to this, I've had to comment out quite a lot of examples from "myjson.lisp" file in order to get the "initialization done" message.
I'm using Windows 7/64bit if that might matter.
I'm including the list of examples that I commented out from "myjson.lisp" for the precompilation to run without errors:
; (example (with-input-from-string (s "this is a \\\"string\" and the rest")
;	    (parse-json-string s))
;	  => "this is a \"string")

; (example (with-input-from-string (s "this is a \\\"string with a \\n newline\" and the rest")
;           (parse-json-string s))
;          => "this is a \"string with a
;  newline")

; (example (with-output-to-string (stream)
; 	   (let ((toto '(me toto)))
; 	     (json-write stream 2 t (format nil "blabla ~A" toto))))
; 	   => "    blabla (ME TOTO)
; ")

; (example
;  (encode-json-to-string "help me \"man\"
; yeah !")
;  => "\"help me \\\"man\\\"\\nyeah !\"")

;(example
; (encode-json-to-string '(("name" . "frederic")
;			  ("age" . 41)
;			  ("geek" . :true)
;			  ("socks" . :null)))
; => "{\"name\": \"frederic\",\"age\": 41,\"geek\": true,\"socks\": null}")

;(example
; (encode-json-to-string '(("name" . "frederic")
;			  ("age" . 41)
;			  ("geek" . :true)
;			  ("socks" . :null)) :indent 0)
; => "{
;  \"name\": \"frederic\",
;  \"age\": 41,
;  \"geek\": true,
;  \"socks\": null
;}")

Hi,
cl-jupyter is developed on a linux box, and occasionally I also try to run it on OSX (with ccl).
Thus, I cannot really help for windows-specific problems.
It's ok to comment out the examples (I use them as a form of auto-testing),
but the fact that they fail should be seen as a deeper problem.
I would recommend trying out cl-jupyter inside a VM, at least for now.

Closing since it's not an issue, it's an unsupported platform


Help: How to Add Style to an a Tag and Make foreignObject Adapt to Width

I want to modify the style of an a tag (which has been set as an inline element). I found that when I add a class name to the a tag or directly modify its style, the width of the foreignObject does not change, causing the a tag to wrap. Is there a way to solve this problem so that the a tag and the text remain on the same line? If I didn't describe the problem clearly, I apologize. Have a nice day.

Maybe it's related to the order of CSS loading, it has been solved
attrs += `class="${S.quote}"`

export const transformer = new Transformer([
  ...builtInPlugins,
  {
    name: 'target-blank',
    transform(transformHooks) {
      transformHooks.parser.tap((md) => {
        md.renderer.renderAttrs = wrapFunction(
          md.renderer.renderAttrs,
          (renderAttrs, token: any) => {
            let attrs = renderAttrs(token)
            if (token.type === 'link_open') {
              attrs += 'rel="nofollow noreferrer" target="_blank"'
              if (token.markup !== 'autolink') {
                attrs += `class="${S.quote}"`
              }
            }
            return attrs
          },
        )
      })
      return {}
    },
  },
])


Extension 'ESLint' cannot format '*.tsx'

Hello, I'm getting this error once I save my .tsx (react) file:
Extension 'ESLint' cannot format 'file.tsx'

@ the statusbar. The output window of eslint reports no errors / warnings, both with debug on & off.
My stuff:

eslint config: https://github.com/sarpik/eslint-config-sarpik
vscode-eslint config: https://github.com/sarpik/eslint-config-sarpik/blob/master/README.md#with-vs-code
full vscode's setup: https://gist.github.com/sarpik/de9160a0602463fb752f2d84d7aa4fd8
via https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync (don't override your own settings though)
example repo in where this occurs: https://github.com/sarpik/turbo-schedule (./client/) (note that I'm using the global ~/.eslintrc.js file - I don't have one in the project yet (though I don't know how if CRA has it by default)).

system & vscode:
$ uname -a
Linux arch-usb 5.4.3-arch1-1 #1 SMP PREEMPT Fri, 13 Dec 2019 09:39:02 +0000 x86_64 GNU/Linux

$ vscodium --version
1.41.0
9579eda04fdb3a9bba2750f15193e5fafe16b959
x64

$ code-insiders --version
1.42.0-insider
e74405d11443c5361c31e2bc341866d146eee206
x64

.ts files work just fine.

I get this as well, for both ts and tsx files.
eslintrc:
{ 	"extends": [ 		"airbnb-typescript", 		"plugin:prettier/recommended" 	], 	"globals": { 		"ASSET_PATH": true 	}, 	"plugins": [ 		"babel", 		"react", 		"emotion", 		"react-hooks" 	], 	"env": { 		"browser": true, 		"node": true, 		"es6": true, 		"jasmine": true 	}, 	"parser": "babel-eslint", 	"rules": { 		"import/no-extraneous-dependencies": 0, 		"import/extensions": 0, 		"react/no-multi-comp": 0, 		"react/sort-comp": 0, 		"react/jsx-filename-extension": [ 			1, 			{ 				"extensions": [ 					".js" 				] 			} 		], 		"react/require-default-props": 0, 		"react/default-props-match-prop-types": [ 			"error", 			{ 				"allowRequiredDefaults": true 			} 		], 		"react/destructuring-assignment": 0, 		"jsx-a11y/no-static-element-interactions": 0, 		"jsx-a11y/label-has-for": 0, 		"jsx-a11y/img-has-alt": 0, 		"camelcase": 0, // relay generates types with _ in the names, so need to allow non-camelcased, 		"no-underscore-dangle": 0, 		"lines-between-class-members": 0, 		"no-continue": 0, 		"react-hooks/rules-of-hooks": "error", 		"react/static-property-placement": 0, 		"react/state-in-constructor": 0, 		"react/jsx-props-no-spreading": 0 	} }
vscode settings:
{     "workbench.startupEditor": "newUntitledFile",     "files.exclude": {         "**/.classpath": true,         "**/.project": true,         "**/.settings": true,         "**/.factorypath": true     },     "editor.minimap.enabled": false,     "git.enableSmartCommit": true,     "workbench.colorTheme": "Default Light+",     "typescript.updateImportsOnFileMove.enabled": "always",     "editor.codeActionsOnSave": {         "source.fixAll.eslint": true     },     "eslint.format.enable": true,     "editor.defaultFormatter": "dbaeumer.vscode-eslint" }

Do you have ESLint configured as the default formatter for TypeScript and TypeScript React files as well? Otherwise the TS language server will be used as a formatter. For works for me as expected if configured correctly

Do you have ESLint configured as the default formatter for TypeScript and TypeScript React files as well?

Pretty sure that's true:
{
	"[javascript]": {
		"editor.defaultFormatter": "dbaeumer.vscode-eslint"
	},
	"[javascriptreact]": {
		"editor.defaultFormatter": "dbaeumer.vscode-eslint"
	},
	"[typescript]": {
		"editor.defaultFormatter": "dbaeumer.vscode-eslint"
	},
	"[typescriptreact]": {
		"editor.defaultFormatter": "dbaeumer.vscode-eslint"
	}
}

(full config: https://github.com/sarpik/eslint-config-sarpik/blob/master/README.md#with-vs-code)
I don't even see the Format document WITH, only Format document.
Anything else I could help with?

Update: nevermind, I think this is specific to CRA (& it's eslint config?).
I just created a sample test.tsx file, opened it via vscode - it got formatted just fine, everything worked.
function App(){
 return (
	<div> foo </div>
  )
	}

  export default App

In my CRA app, I don't have an eslint config - I try using my global one from ~/.eslintrc.js, and everything works fine except .tsx (and renaming to .ts does not help if the content is tsx, obviously:D).

Formatter is set correctly, as indicated by the error message
Extension 'ESLint' cannot format ...
and running
npx eslint --fix nameOfFile.ts also works so eslint config is clearly good.
And both Eslint and extension host output/logs are empty. So no idea what to do next...

@piotrblasiak yeah same, formatting with eslint CLI works on the CRA app for me too. This must be an issue with eslint-vscode.

Can one of you provide me with a GitHub repository I can clone that demos what you are experiencing. Without reproducible steps it is very hard to find out why this is not working for you.

@dbaeumer sure - https://github.com/sarpik/cra-ts-vscode-eslint-broken-demo.
Please read it's README - I noticed that not only .tsx, but also .ts file are affected, at least in that repo.

@sarpik I do have problems reproducing this since ESLint in the terminal doesn't report any issues on App.tsx nor does it fix any problems when using the --fix option.
Can you include the eslint configuration file you are using for the project?

@dbaeumer Aight, same for me.
I've

ejected,
installed my eslint-config-sarpik &
extended it through package.json,

as explained in https://github.com/sarpik/eslint-config-sarpik#with-create-react-app.
The thing is - now everything works:D
Previously, I was using my global ~/.eslintrc.js, which is the same as the eslint-config-sarpik mentioned above.

In the [original app](https://github.com/sarpik/turbo-schedule], I did NOT eject and did not install my config - only used my global one. This is probably the problem.
Would it be possible to either use your global configuration OR avoid ejecting the CRA and add .eslintrc for it?
Thanks!

ESLint itself is very sensitive when it comes to global configuration and installs. In principal the eslint module and all plugins need to be installed either globally or locally. This is why they mainly recommend local installs.
The extension should actully react to changes in the .eslintrc configuration file if it is part of the workspace. I tested this and it does work for me. Anything special you can remember here?
The VS Code eslint plugin uses the ESLint npm module and hence is bound to their behavior and I don't want to change this. Major reason is that otherwise linting in VS Code will produce other results than linting in the terminal.
Bottom line: if it works in the terminal but not in VS Code it is a bug. If it doesn't work in both it is expected :-).


False positives on CyberDojo

http://cyber-dojo.cucumber.io/review/show/AA5C4F80AD?avatar=squid&was_tag=17&now_tag=17
The image isn't recognising certain errors as errors, so green is reported for both errors and undefined steps sometimes.
Anything to add @JonJagger?

Looking at the Shouty workbook in the section headed "Snippet generation"
There are two places where it tells you to

put a pending step-definition in place
put a [raise "bad step"] step-definition in place
And it says both cases will cause the build to fail.
And it does fail in the sense of the stdout you see.
But the cyber-dojo regex gives you a green...

The logic in use is contained in https://github.com/cyber-dojo-languages/ruby-cucumber/blob/master/docker/red_amber_green.rb
lambda { |stdout,stderr,status|
  output = stdout + stderr

  return :amber if /SyntaxError/.match(output)
  return :amber if /NameError/.match(output)
  return :amber if /^[.-UF]*U[.-UF]*$/.match(output)
  return :red if /^[.-UF]*F[.-UF]*$/.match(output)
  return :green
}


pass drag_and_drop_on to watir-webdriver

hi @daneandersen
it's not clear at the moment it works or not?

What is the status of this pr?  Is it still desired?

Someone had requested drag and drop functionality in page object. I was attempting to deliver it. If memory serves, it worked for me locally, but for whatever reason, it never passed in travis-ci.

@daneandersen are you still interested in this capability?

I took it on because it seemed like an easy fix since it was just a pass through, but I had trouble getting it to work as intended in ci. I can take a look at it again and see if the current versions of everything do any better though.


TLS Alert when using smtp-protocol server with Java client

See https://github.com/nodejs/node/issues/4072 - perhaps, smtp-protocol is doing something in a way known to be unsafe.

I think I can boil this down to incorrect usage of net.Server by smtp-protocol. When creating a tlsServer, they listen on port 0 (which means to choose a random port), yet exclusive is left default. Thus multiple workers possibly may end up choosing the same random port (I don't know how to check whether this is happening, but the symptoms seem to add up to this story), and they will start sharing incoming connections. When this happens, the connection may end up being served by the "wrong" worker (smtp-protocol TLS processing logic is tied to the worker that received STARTTLS command), it will fire another secureConnection event (condition index > 0 in tls.js), and smtp-protocol will close that connection (on 'secureConnection' it calls sec.end()), which will be seen by the client as a nice termination of connection by server (the close_notify Alert).
Testing with exclusive=true. So far I never encountered the condition when index > 0 (so sec.end() is never called). If this works as expected, will need to propagate the fix to smtp-protocol.


[LANG-1533] - RandomStringUtils.random() should not include \u0000

Add Character.CONTROL

Coverage remained the same at 94.989% when pulling 40bf72ab047b47332d81b1c2b60c9fbb3a9ff9a6 on arturobernalg:feature/LANG-1533 into f2480a984fec5aaf354b4d179f51bd902ad3e0cc on apache:master.

HI @garydgregory
PR created for --> https://issues.apache.org/jira/browse/LANG-1533


Consider to incorporate qa.d.o notifier extension

https://github.com/Lullabot/drupal_qa_notifier by @justafish
We should probably come up with a plan for how to operate with the different browser/extension APIs... I assume that a few (simple) abstract wrapper proxy objects/services could do the trick.

Dreditor is being decommissioned due to the lack of availability of current maintainers and the fact that Drupal.org is becoming more feature rich at a much faster rate than Dreditor itself now.
This decision was also partially made due to the amount of work (complete rewrite) it would take to create an "official" Firefox extension (#256).
If you already have the extension installed, it should continue working for a while until, inevitably,  the markup on Drupal.org changes. It will no longer be updated.
We understand that many of you love this extension, as do we. This isn't the end, in fact, it's a much brighter beginning. All the things we love about Dreditor can, and should, be moved into Drupal.org natively.
For more information, please follow: https://www.drupal.org/node/2779729

This issue was moved to dreditor/dreditor#16


index.js is missing from the root directory

Hey,
I may have my configuration wrong but updating to the latest version and latest stylelint, I'm seeing the following error:
ENOENT/path/to/file.scss::  no such file or directory, open '/path/to/node_modules/stylelint-config-prettier/index.js'

It's easily fixed by cd'ing to /src and then running cp index.js ../ but I'm not sure this is correct. Any ideas?
I notice other libs have the index.js in the root:
https://github.com/stylelint/stylelint-config-recommended
https://github.com/hudochenkov/stylelint-order
https://github.com/bjankord/stylelint-config-sass-guidelines
Here's my .stylelint config that references stylelint-config-prettier
{
    "plugins": ["stylelint-selector-bem-pattern", "stylelint-scss"],
    "extends": ["stylelint-config-recommended", "stylelint-config-sass-guidelines", "stylelint-config-prettier"]
}

I created a repository to try and reproduce the issue and couldn't. The src/index.js file is the value of main in the package.json, so this would seem like a bug somewhere else.
https://github.com/shannonmoeller/repro-stylelint-config-prettier-12
What versions of Node.js and stylelint are you using? Any chance you could delete your node_modules dir and package-lock.json file, then run npm i, and try linting again?

Will give that a try in the AM. As far as I’m aware, latest node, latest stylelint but I’ll confirm in the morning (I’m in Australia).
Cheers
Sam

On 15 Mar 2018, at 12:44 am, Shannon Moeller<EMAIL_ADDRESS>wrote:
I created a repository to try and reproduce the issue and couldn't. The src/index.js file is the value of main in the package.json, so this would seem like a bug somewhere else.
https://github.com/shannonmoeller/repro-stylelint-config-prettier-12
What versions of Node.js and stylelint are you using? Any chance you could delete your node_modules dir and package-lock.json file, then run npm i, and try linting again?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Node is 9.8.0
Stylelint is 9.1.3
Deleted yarn.lock and package-lock.json (I use yarn primarily) and still the same result (had to cp index.js up a level). I deleted node_modules and tried yarn and npm install with the same result. Deleted node_modules both times too. It's fine, I can cp index.js ../ for now

Having to modify the content of node_modules is no good. I'll add the plugins you listed into the repro repo and see if I can replicate. My guess is one of the plugins you're using is doing something weird.

It wouldn't surprise me 👍

I updated the repo to include those plugins, but I still can't reproduce the issue:
https://github.com/shannonmoeller/repro-stylelint-config-prettier-12/blob/3f82600212fc2402995101294c9819aad2f8658b/package.json
Is the project your working on open source? Can I see the code?

Sure - it's here: https://github.com/sampotts/plyr/tree/beta

Are you using the local install of stylelint, or a global one? I don't see it in your npm scripts or gulpfile.
(Need to head home. Back online later.)

Local - happy to go on your recommendation though. I was just keen for contributors to be using stylelint.

OK I've worked it out - sorry to waste your time. The VS code stylelint plugin had an update which seemed to fix it.

Not a waste at all! Glad you got it figured out!


Update to JBoss Threads 2.2.1.Final

Fixes a problem where the ACC of the creator of a thread pool is not properly preserved, especially when a security manager is installed.

Windows Build 1671 is now running using a merge of fbc4bc5077a07b7e56f459c2dbf965a8fb0f58a7

Linux Build 2138 is now running using a merge of fbc4bc5077a07b7e56f459c2dbf965a8fb0f58a7

Core - Full Integration Build 1272 is now running using a merge of fbc4bc5077a07b7e56f459c2dbf965a8fb0f58a7

Windows Build 1671 outcome was SUCCESS using a merge of fbc4bc5077a07b7e56f459c2dbf965a8fb0f58a7
Summary: Tests passed: 3372, ignored: 63 Build time: 0:33:26

Linux Build 2138 outcome was SUCCESS using a merge of fbc4bc5077a07b7e56f459c2dbf965a8fb0f58a7
Summary: Tests passed: 3372, ignored: 63 Build time: 0:35:39

Core - Full Integration Build 1272 outcome was FAILURE using a merge of fbc4bc5077a07b7e56f459c2dbf965a8fb0f58a7
Summary: Tests failed: 1 (1 new), passed: 2907, ignored: 372, muted: 2 Build time: 0:50:03
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.ejb.mdb.dynamic.DynamicMessageListenerTestCase.test1: <no details avaliable>


Reintroduce pool idle timeout (JAVA-419)

Revised implementation to fix JAVA-419: underused connections are trashed but not closed immediately; when we need a new connection, first look into the trash for one to resurrect.
@tolbertam: I'm creating a pull request so that you can contribute more tests if needed. The branch is on the main repo, so feel free to add your own commits, we'll squash everything together when we're done.

Looks good to me, there are a two tests I think I will add:
Exercise replaceConnection's trashing logic by returning connection that has less than min available streams.
Ensure if a trashed connection is defuncted that it doesn't get replaced with a new one. (Don't know if this scenario is even possible, will go through different scenarios where defunct is called)

I noticed that because of JAVA-614, it's possible that a connection will not be moved to a trash and it's also possible that a connection will not be cleaned from the trash if it's # of inFlight requests is not equal to 0.

I happened to turn on DEBUG logging while doing some debugging and one thing I noticed while testing this is that connections get thrown in the trash and resurrected pretty quickly, I see a very frequent occurrence of the following message:
Creating new connection on busy pool <host>

This happens as nearly as frequently as my queries get logged on completion.
I think this means that a connection get resurrected from the trash then it completes, and gets returned back if there are less than 25 requests.    It may just be a combination of me saturating my pools pretty quickly and my requests completing quickly as well.
Another thing I noticed is that if I have very high activity, and then I immediately drop down to 0 activity, sometimes all the connections don't get put in the trash and cleaned up.   I had 0 activity for a number of minutes, took a heap dump and saw that the trash for all the connection pools were empty despite the fact that I had more than core connections.
On the other hand if I have very high activity and then I drop down to activity that fits within core connections, every non-core connection gets trashed eventually.
I thought this may have been caused by JAVA-614 creating negative inFlight requests, but I've removed the cancel logic from my test and no longer have < 0 inFlight requests, yet sometimes connections hang around.
I need to do some more investigation to prove this out, but thought I'd share this now.   I'll create a branch with my updated tests tomorrow and provide some more explanation Friday.

connections get thrown in the trash and resurrected pretty quickly

I occasionally saw that in my tests too. This is the scenario that originally caused connection leaks in 419, except that the connection now goes back and forth between the pool and the trash, instead of being closed and recreated. That's not a very costly operation, so this might not be a problem if this situation is only temporary. But I'd like to get a better understanding of the pool's runtime behavior, maybe there is a way to minimize this.

if I have very high activity, and then I immediately drop down to 0 activity, sometimes all the connections don't get put in the trash and cleaned up

I'm going to take a look at that, and independently I'll also work on JAVA-614.

That makes sense to me.  Could we change the logging behavior of Creating new connection on busy pool to {}?   It's somewhat misleading as it may be interpreted as a new connection being created when one really isn't it (being resurrected from the trash instead).  Maybe move this logging statement into addConnectionIfUnderMaximum when a new connection is created because one is not in the trash.
I'll let you know if I learn any more about the idle non-core connections not being trashed.

Absolutely, we need to change that log statement. I'll do it now.

One thing I've noticed while trying this out is that if core connections becomes utilized, it's incredibly likely that all trashed connections will be revived if you have decent concurrent load.  I think this is because the maybeSpawnNewConnection call in HostConnectionPool#borrowConnection() will revive a trashed connection up to the max pool size for each caller of borrowConnection if done in close enough proximity.
It looks like there is some logic in maybeSpawnConnection to prevent concurrent creation of connections, which seems to be working, but I think the problem is that this doesn't prevent more connections revived than needed since that logic is in borrowConnection() before we try to spawn a new connection.
Essentially, the condition for more connections is met in borrowConnection(), but once maybeSpawnConnection() is called and we try to resurrect from trash, we don't really need that connection anymore.
It would be nice if we could do something about this.  I found that dropping down to 200 concurrent requests from 2400 on 3 hosts with defaults that the trashed connections are never getting timed out because they keep getting temporarily revived.

I guess borrowConnection gets triggered multiple times in a row on a connection that is almost full (and therefore calls maybeSpawnNewConnection each time). Restoring a connection from the trash is very fast, so the mechanism to prevent concurrent creations fails to debounce these calls. Maybe an additional delay would help here.

Rebased on 2.0 and force-pushed.

it's incredibly likely that all trashed connections will be revived if you have decent concurrent load

Fixed by always resurrecting the youngest connection.

Rebase on current 2.0 + introduce new pool resizing algorithm.

Rebased on current 2.0 and cleaned up history.

One thing I just realized that hadn't thought of until now.  'openConnections' in Session.State only reflects  'connections' from HostConnectionPool and does not account for what is in the trash.  The same goes for the open-connections metric which uses HostConnectionPool#open which gets decremented on trash.
Do you think we need to do anything special to handle this?  I.E. should 'trashed' connections count as open connections?  Should there be a separate metric? etc.

@tolbertam I agree we should expose the trashed connections count. A separate metric sounds better, otherwise we might occasionally expose a count higher that the max pool size (this can happen on a replace).

@olim7t sounds good, a separate metric and having it exposed through Session.State would be great.   I'm finishing up my validation by going through overnight data, but unless I find anything concerning I think this is good to go!

Completed my validation and found that the shrinking and connection reclaiming logic is sound.  I will add more information to the JIRA, but unless there are any pending changes to the algorithm I'd consider this good to go when comfortable.


Scroll problem when number of Views is even number

Change in the file DemoViewController.m in your demo code like below:
#define NUMBER_OF_VISIBLE_VIEWS 1
....

(NSInteger)numberOfViews
{
return 4;
}
It displays incorrect : display 5 views instead 4, and the first and last view just can scroll to a half of its view

fixed in v2.1.0


Error with Gcloud CLI

Hi,
I found your repo within the mlops.community and I wanted to try it out, with no luck so far.
I installed it using linuxbrew (Ubuntu 16.04), and go is not my strong suit, so it's not so easy to debug myself.
When starting with operator init, and choosing GCP as a a platform, I get the message
please install the gcloud cli
However, the CLI is installed, as I use it on a daily basis.
Could you help me get around this?

👋 Hey @rdoume, thanks for letting me know!
Under the hood, this tool is running (here) command -v gcloud to check whether the gcloud CLI is installed. Here is the Ubuntu manpage on that command.
If you run that command in a terminal, what is the output?

I've set up a docker container to run ubuntu:16.04 (and installed gcloud on it) to diagnose this a bit further:
root@de50958063d5:~/src# lsb_release -d
Description:	Ubuntu 16.04.7 LTS

root@de50958063d5:~/src# command -v gcloud
/usr/bin/gcloud

root@de50958063d5:~/src# which command
root@de50958063d5:~/src#

The problem here is that Go fails with:
panic: exec: "command": executable file not found in $PATH`

Which seems to be the same problem that is discussed here on stackoverflow; i.e., that command is a shell built-in, rather than a command, and so it cannot be found in the $PATH.
It looks like I can resolve this by using type instead of command -- I'll get that fixed in the repo ASAP 😄

I've merged https://github.com/operatorai/operator/pull/34 which I believe should fix this. I'll do some more thorough testing on Ubuntu soon - but, in the meantime, if you run into any other issues please let me know 🙏

Hey Neal, I'm trying this out and keep you posted!

I've run into the error again on a fresh Ubuntu 16.04 container 😞
Am doing some more investigation

Okay this time I think I've fixed it https://github.com/operatorai/operator/pull/35

Am renaming the project to kettle and moving the templates out permanently. Will close this for now, let me know if you spot any other issues!


[Card in card]: Create the functional specifications

User Story

As a [user role below]:
DDS developer

I need to:
have the Card in card functional specs

so that I can:
so that I can properly code the Card in card component that meets the Design functions and intent

Additional information

Overview and scope of the engineering work should be included in the linked epic (#5304 )
Designs provided by AEM
Development issue (TBD )
Link to design spec Box folder

Video should open in Lightbox media viewer
Whole card is clickable, aka hover on image/video would trigger hover state of "inset" text card
Card icon should follow current CTA functionality, allowing multiple icon based on link type (email, external link, link, etc)
Media should be 16x9 on all breakpoints except sm, where it is 4x3
Potentially repurpose CTA - feature https://ibmdotcom-web-components.mybluemix.net/?path=/story/components-cta--feature

Acceptance criteria

[ ] Documented Card group functional specifications
[ ] Sent and/or presented the specs to Design and Engineering for their review and comments
[ ] Additional stories are created, if needed, for any work to be done in future sprints

File created: https://ibm.box.com/s/zd6rq29aolbwr5hf574nxf4jli4z5slj


How to display QOS metrics ?

Hi; thanks for this awesome tool. Here's a use case: we are using locust to load test our video platform; we have implemented the viewer behaviour, down to downloading the video (as HLS). This works very nicely.
However, there are a few QOS-oriented stats that we would like to measure throughout the whole test:

playback initialisation time: this is the total wait time between the initial GET on the page to the moment that the first fragment of the video has been downloaded
buffering: if downloading a video fragment takes more than the fragment real duration, then we can assume that the user will get buffering (this is a very primitive approximation)

How/can i use/extend locust to display these metrics ? We thought of simulating some requests (e.g. for playback initialisation time) with the time as latency, but this would corrupt the RPS metric; for buffering, we could define the request timeout to the fragment duration, but this would look like a timeout and not reported as actual buffering.
What do you think ?

We thought of simulating some requests (e.g. for playback initialisation time)
with the time as latency

sorry, but I have no idea what that means.

for buffering, we could define the request timeout to the fragment duration

no idea what that means either.

By simulating a request i mean using the request reporting view to show a fake request that would represent the complete workflow completion time. For example hacking locust to be able to perform a request to localhost that would sleep for the amount of time that the complete workflow took the simulated user.
As for buffering, what i mean is that in video, if you download 10s worth of video in more than 10s, then it's not really working (player buffering); it's not an error per se (the file finally gets downloaded, 200 OK) but it's not really working from a user point of view.

there doesn't seem to be an issue reported here.


Add default signature to mlflow saved model

Manual test, the example shows up

whoops i thought it didn't go through so i approved twice haha 👍 👍


Small error in setupInstance() documentation?

I think there is this small error in setupInstance() documentation in docs/model-classes.md:
data.posts = data.posts.map(post => new models.Post(post))

should be replaces by:
data.posts = data.posts.map(post => new models.api.Post(post))

Can someone confirm?

It depends whether or not you've set up a serverAlias and if so what you've named that alias.
If you have set up a serverAlias of api then you will need to access the Post constructor at models.api.Post as you've indicated.

The default value for serverAlias is api and all other code examples use models.api.
I can read in the doc that Models are keyed by serverAlias, this is not a mandatory field in the options?

I think @sebastien-prudhomme is right on this one. I think it's a leftover.
Could you do a pull request? Highly appreciated :)

Yep, those docs are outdated.  A PR would be appreciated.

Closed in #550


Support request for hosting signed debian repository

We would like to leverage quality of our debian repositories by introducing signed repo. For this purpose we need to :
Store key which will be used to signing packages when uploading debs to repositories in buildkite agent. We also need to have it installed in env so when uploading debs we will only specify its public id (without downloading key installing it ).
Nice to have would be to not install key in every bk but only those which will be used for publishing and promoting packages

Has this been addressed in https://github.com/MinaProtocol/mina-deployments/pull/24 ?

Hello @dkijania
I would love to engage in your team


Integrate Remote Key Attestation into pkic.org

This PR integrates the Remote Key Attestation into the PKIC.org website, see a first preview is available here:
https://integration.pkic.pages.dev/remote-key-attestation/
From a navigation point of view, this change will create https://pkic.org/remote-key-attestation (when updates on both sides have been merged), other pull requests will also create, /pqccm and previously we have done https://pkic.org/pkimm.
The pages have not been included in the menus yet and I'm not sure where we want to list them.
It would be great to get some feedback.

See also the GitHub preview of this new branch, which no longer shows the table directly:
https://github.com/pkic/remote-key-attestation/tree/website

I think it's good. Merging.


audiobookshelf: 2.7.0 -> 2.7.1

Diff: https://github.com/advplyr/audiobookshelf/compare/v2.7.0...v2.7.1
Changelog: https://github.com/advplyr/audiobookshelf/releases/tag/v2.7.1
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 277978 at b0291f7e run on x86_64-linux 1

1 package built successfully:

audiobookshelf

Result of nixpkgs-review pr 277978 at b0291f7e run on x86_64-linux 1

1 package built successfully:

audiobookshelf


Remove extra byte reservation in writeBoolList

writeBoolList method inside binary_writer_impl.dart is reserving 8 * length bytes, where it should suffice to reserve only length bytes.
This change does not impact readBoolList of BinaryReaderImpl.

Thanks a lot.


Missing C++ API docs

I'm trying to find the C++ API docs.  But the C++ page doesn't seem to have/link to any.  Am I missing something?

Hi @suvayu, thanks for opening this issue. The C++ API is not a stable API at the moment. I'm clarifying this in #3567.

Thanks for the clarification.  I'll rethink how I want to proceed. :)


Use laravel/serializable-closure

Fixes #47.

Fixes #48 as far as enums are concerned.

Also works with spatie laravel-data.


Create dataset loader for iapp_wiki_qa_squad

Dataloader name: iapp_squad/iapp_squad.py
DataCatalogue: http://seacrowd.github.io/seacrowd-catalogue/card.html?iapp_squad

Dataset
iapp_squad

Description
iapp_wiki_qa_squad, Open Thai Wikipedia QA is an extractive question answering dataset from Thai Wikipedia articles. It is adapted from the original iapp-wiki-qa-dataset to SQuAD format, resulting in 5761/742/739 questions from 1529/191/192 articles.

Subsets
-

Languages
tha

Tasks
Question Answering

License
MIT (mit)

Homepage
https://github.com/iapp-technology/iapp-wiki-qa-dataset

HF URL
https://huggingface.co/datasets/iapp_wiki_qa_squad

Paper URL
https://zenodo.org/records/4539916

#self-assign

#255 pull request


Add table object with preliminary support for iterating and validating over data sources

Coverage decreased (-3.0%) to 88.083% when pulling 4e303965e338e8c47596c3317da936e3af58948b on OriHoch:add-table-object-with-preliminary-support-for-getting-data into dbdafa2f84e9259f31c736af45e10c72de620f76 on frictionlessdata:master.

Coverage decreased (-3.0%) to 88.083% when pulling 435c4dc1d778245ee412a9909e671308469fa109 on OriHoch:add-table-object-with-preliminary-support-for-getting-data into dbdafa2f84e9259f31c736af45e10c72de620f76 on frictionlessdata:master.

Coverage decreased (-3.0%) to 88.083% when pulling 435c4dc1d778245ee412a9909e671308469fa109 on OriHoch:add-table-object-with-preliminary-support-for-getting-data into dbdafa2f84e9259f31c736af45e10c72de620f76 on frictionlessdata:master.

Coverage decreased (-3.0%) to 88.083% when pulling 435c4dc1d778245ee412a9909e671308469fa109 on OriHoch:add-table-object-with-preliminary-support-for-getting-data into dbdafa2f84e9259f31c736af45e10c72de620f76 on frictionlessdata:master.

Coverage decreased (-3.0%) to 88.083% when pulling 435c4dc1d778245ee412a9909e671308469fa109 on OriHoch:add-table-object-with-preliminary-support-for-getting-data into dbdafa2f84e9259f31c736af45e10c72de620f76 on frictionlessdata:master.

Coverage decreased (-3.0%) to 88.083% when pulling 435c4dc1d778245ee412a9909e671308469fa109 on OriHoch:add-table-object-with-preliminary-support-for-getting-data into dbdafa2f84e9259f31c736af45e10c72de620f76 on frictionlessdata:master.


feat: Added haptic feedback for receive and send screen

Fixes issue #1051

@UncleSamtoshi does it cover all the payment success/failure flow?

@UncleSamtoshi does it cover all the payment success/failure flow?

It doesn't work for payment failure. But it should be fairly easy to add.

@Aditi-Singh16 Please could you perhaps add it to the stablesats conversion screen also here https://github.com/GaloyMoney/galoy-mobile/blob/a8789ecfce436f67d00cee649b98b86776be16fc/app/screens/conversion-flow/conversion-confirmation-screen.tsx#L138

@Aditi-Singh16 Please could you perhaps add it to the stablesats conversion screen also here
https://github.com/GaloyMoney/galoy-mobile/blob/a8789ecfce436f67d00cee649b98b86776be16fc/app/screens/conversion-flow/conversion-confirmation-screen.tsx#L138
and here incase of error
https://github.com/GaloyMoney/galoy-mobile/blob/a8789ecfce436f67d00cee649b98b86776be16fc/app/screens/conversion-flow/conversion-confirmation-screen.tsx#L154

Yes, done!


Boiler not heating

Hi Andrew,
Apologies if this isn't the place for this. Is it possible that I've messed with the Hive Local Thermostat to the point where it no longer works?
I've been using this plug-in for a few months, working well (thank you). This week the boiler continues to fire up but it doesn't heat. I'm not sure where to start but I was playing with the temperature settings in HA this week and did your recent update around the same time so I'm starting here.
If you see this chart:

Heating was working up to the 27th and then after then the boiler appears on but it's not putting any heat out. It is around that time I was tinkering with the values here (I wanted to drop the frost protect to 10c and default heat to 15c):

Could you help me troubleshoot it?
Harry

Hi Harry,
If you can hear the boiler powering up but things aren't getting warm then you need a heating engineer, at a guess I'd say it's maybe the pump that circulates the hot water round (not a heating engineer but studied this a lot when wiring in my own Hive)
The way the Hive works is it is just a simple relay/switch, it connects two wires together to send a signal (call for heat), when the thermostat in the Hive is hot enough it disconnects those two wires.   The integration only tells the Hive to be overall on/off and the temperature, and since the Hive is powering up the boiler it sounds like the Hive is working.

Thank you for the quick response. It's a holiday home so I can't check in it person so the only indicator I have that it is going on is the HASS chart where it shades orange. Seeing as the temperature doesn't rise and my gas usage is zero (from Octo Energy smart meter), it's clear the boiler isn't firing up. Since I messed with the device temperature settings.
Perhaps some other questions to help troubleshoot. Why is the lowest default setting 16oC?
I want to set the heating to come on when the temp falls below 10oC, but only come on to 12oC. With the default setting being 16oC, it keeps jumping to that each time it comes on.

I also get some odd jumping behavior when I try to reduce the set temperature below 15oC. And it doesn't seem possible. Do you know why that might be?
https://github.com/user-attachments/assets/69e7978f-00fd-4763-8d61-ab7b25e65d89

Thanks for additional information.
So the orange heating in that chart is the Hive giving status updates that it's asking for heat, it's not getting any status from the boiler, but the fact the temperature isn't rising and you are not using gas suggests the boiler isn't heating properly.
The minimum of 15 degrees is to reflect what you can turn the Hive dial down to, the HA dashboard control will allow it to be turned lower, but as soon as you set it you send a command to the Hive and it then reports back what it is doing (min 15) then the UI control resets to what is reflected on the physical device.
The frost protect works the same as the physical control unit, if you set it at 10 it will come on when below 10 and switch off again when above 10, again this is just a command sent to the hive, I'm not doing any controlling logic within the integration.

Yeah, make sense. Hive is just on or off, and it receives no data from the boiler back.
Ok, thank you for looking at this, I'll keep troubleshooting.

A courtesy loop closure here - there was a leaky radiator, the water pressure had dropped to near zero and the boiler cut out.
Nothing to do with this integration, or Hive, as you predicted. Apologies for the false alarm.

Thanks for the update of the cause, hopefully you didn't have too much of a mess to clear up.


[gRPC] Logging interceptors should capture exchanged messages in a stream (client)

Stream interceptors are capable performing actions against each message sent and received in a gRPC streaming service.
This can be incorporated into a streaming logger with a goroutine, and calling the clientStream's SendMsg(req) and RecvMsg(res) methods.
This issue is a placeholder for this implementation in the gRPC client logic.

Fixed with:

401c540ff697d382b1068e2764340ad827a5cdca
2c4b12bbbceadf95e5a942f9c67c513974890713
df6541a6609100de58ce64b16c317dc0b72873e1
03bc00d02534863e1ca9bec07d4058b9e19b6d48


Tooltip for "Mark as Incomplete" Button on Graded Assignments

The button symbols don't indicate very well what their function is supposed to do (they seem more like a "reload" button), so a tooltip may help.

I'd work on this myself, but I can't figure out how to run it on Firefox; the zipped firefox build folder causes Firefox to complain about the manifest.json file being invalid.

Sounds good, just submit a PR when you're done. You're free to add this to other types of buttons as well. Also, if you have any better ideas for a button icon, that would be great to know. Thanks!


Allow passing in a custom rustls ClientConfig to Channel

cc @ipetr0v @conradgrobler @djc @LucioFranco
Originally posted by @tiziano88 in https://github.com/hyperium/tonic/issues/859#issuecomment-1013521014

I wonder if we could use hyper's connector trait bounds for this? If we just require Connect and Clone, we can pass that into the hyper client builder. In that way, we can conceivably support native-tls as well different rustls versions through their appropriate hyper-rustls integrations.

For now I would suggest following this example #968 this will currently work with tonic 0.7.

That example involves quite a bit of code compared to using a tonic::transport::Endpoint with a custom rustls tls_config in tonic 0.6. I'm not sure that that really seems like a palatable alternative, since it seemingly has to ensure that the hyper and tower layers are configured "just so" for tonic.

While I do agree the ergonomics are not as good, tying tonic to rustls releases is not feasible either.
Currently, the client_rustls example does have some rough edges but these are things we plan to fix in upcoming releases. A lot of the code that made transport easy to use doesn't belong in something like tonic, because it should b extended to use-cases beyond.  So removing ClientConfig from the public API is a push in that direction. Now if you are running into specific issues with that example/using hyper etc. I am more than happy to help and understand where those rough edges are.

Somewhat related to no longer being able to use a custom rustls::ClientConfig we're also unable to use a custom rustls:ServerConfig. From @LucioFranco's most recent comment and looking at some of discussion around this it seems like the main motivation for this change was to not have rustls be apart of the public API of tonic. During some experimentation trying to use a custom config for both client and server with tonic 0.7 I found that rustls is still sort of unintentionally a part of tonic's public api due to the implementation of Connected for tokio_rustls::server::TlsStream.
Specifically if i'm relying on the fact that tokio_rustls::server::TlsStream impls Connected in order to do this:
    // let tls_config = ... some custom rustls ServerConfig
    let listener = tokio_stream::wrappers::TcpListenerStream::new(
        tokio::net::TcpListener::bind("localhost:0")?,
    );
    let tls_acceptor = TlsAcceptor::from(Arc::new(tls_config));
    let listener = listener.and_then(move |stream| tls_acceptor.accept(stream));

    let greeter = MyGreeter::default();
    let server = Server::builder()
        .add_service(GreeterServer::new(greeter));
    // Requires that TlsStream impls `Connected`
    server.serve_with_incoming(listener).await;

Then when tonic bumps its internal rustls version and does a patched release you could break code out in the wild. Of course I may also be misunderstanding what would constitute a semver breaking change given this would be a somewhat obscure breakage.

Thanks @bmwill that was missed, the next breaking release will remove that impl.

For now I would suggest following this example #968 this will currently work with tonic 0.7. The future plan for tonic is to actually remove the transport module. I will be submitting a proposal for this soon.

Damn this is tough to keep up with. I'm updating a cli application that needs to be able to consume a --insecure option (like curl). Previously this was easy with rustls_client_config on the ClientConfig. Sure it was gross with the leaky transitive dependency and the ergonomics were poor but it was easy and it worked.
In the application I'm updating when --insecure is not passed I need to use rustls-native-certs or the like so I can support local users' certificates. 0.7 ClientTlsConfig, however, breaks both workflows by [1] not providing an override for the TLS verifier, [2] having no answer to RootCertStore for multiple trust roots and [3] offering no escape hatch to rustls.
This facility shouldn't have been removed without an alternative. I'm digging through https://github.com/hyperium/tonic/blob/master/examples/src/tls/client_rustls.rs to see how & whether I can integrate it; but this is a surprising upset in API stability, especially with no observable deprecation period & no discernable communication on the public documentation of a migration path.
I get that your semver leads with 0 so here be dragons and I'll take my licks for using a 0. library; but the Hyper family libraries are becoming ubiquitous and foundational - they're awesome libraries, tonic included: Stability is expected, 0. or not, and orderly migrations are paramount!
Thank you for your stewardship of these libraries. They're no small part of why I love Rust!

Hey! @kvc0 I appreciate the feedback and I do agree there should be more proper paths for migrations and deprecations etc. That said, as you mentioned this project is still below 1.0 and with some of the other work around prost that has taken up most of my time there hasn't been any work towards a migration guides etc. I am currently in the works of writing up the full tonic 1.0 roadmap so hopefully we can get there by end of year. Or at least somewhere close enough where I would be happy to place proper deprecation notices.
That said, I don't believe hyper has bumped a major version in a while so the older versions of tonic should continue to work. If you are interested in helping out smooth the API and write some guides I would totally accept some PRs.
In addition, the plan moving forward for how people will use tonic will look closer to the rustls examples that use hyper directly as the transport module will go away. The reason I removed these APIs from that is to prep for those changes down the line.

I've updated the example here with a more ergonomic change https://github.com/hyperium/tonic/pull/1017 should make using hyper directly much easier.

Either you add all config parameters to ServerConfig, or allow us to use it. I would also be happy if you made it more dynamic, like this:
impl<L> Server<L> {
    #[cfg(feature = "tls")]
    #[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
    pub fn tls_config(self, tls_config: impl ServerTlsConfigTrait) -> Result<Self, Error>
...
}

And then the TlsAcceptor would also be a dyn arc. This would allow us to do custom config.

Are there any recommendations for gRPC friendly default values for setting up Hyper and rustls?

Hey, this is a double problem to me: first that you removed it, second that if this issue is resolved it'll be past my MSRV. So I ask to allow backporting whatever the fix for this will be.
As for possible solutions to not tie tonic to rustls (very reasonable choice, I agree!):

Provide an API to set custom TLS acceptor closure - then people who need custom acceptor just rewrite theirs on top of it
Provide a separate crate tonic-rustl which will bridge the two. Then people needing rustls integration will just use it accepting a bit more churn while others don't.

In case it will help any one, for the https://github.com/pantsbuild/pants project, I wrote a bridge between tonic and rustls inspired in part on the tonic-openssl adapter I had seen elsewhere. See this grpc_util::Channel type for the Tonic/Rustls integration.

Convince rustls maintainers to stabilize the TLS config interface in a separate crate that both rustls and tonic will depend on

I've thought about this quite a bit but I don't think it's feasible. There are too many changes happening that involve configuration for now.

@djc thanks a lot for giving it a thought!

@lvkv: The earlier comment https://github.com/hyperium/tonic/issues/891#issuecomment-1761798339 which links to code which allows integrating Tonic and Rustls may be of interest to you.

@tdyas Thanks for the pointer, I'm definitely looking into this as an alternative. However, I'm also interested in the cheap clone interface offered by the proper tonic::transport::channel::Channel, which my existing codebase makes extensive use of:

To work around this and to ease the use of the channel, Channel provides a Clone implementation that is cheap. This is because at the very top level the channel is backed by a tower_buffer::Buffer which runs the connection in a background task and provides a mpsc channel interface. Due to this cloning the Channel type is cheap and encouraged.

I'm sure I could plop a #[derive(Clone)] at the top of your struct and call it a day, but I don't know how performant that would be. Would it make sense to add a tower_buffer::Buffer in front of it like tonic::transport::channel::Channel does?

I'm also trying to pass a custom rustls config to my tonic Client, namely to use rustls_platform_verifier instead of the default ClientTlsConfig.
following the example linked in this thread, I'm able to make it work with the following code
fn grpc_client<B>() -> hyper_util::client::legacy::Client<HttpsConnector<HttpConnector>, B>
where
    B: http_body::Body + Send,
    B::Data: Send,
{
    hyper_util::client::legacy::Client::builder(TokioExecutor::new()).build(https_connector())
}

fn https_connector() -> HttpsConnector<HttpConnector> {
    HttpsConnectorBuilder::new()
        .with_tls_config(rustls_platform_verifier::tls_config())
        .https_only()
        .enable_http2()
        .build()
}

...
let client = crate::grpc_client();
let mut client = MyApiGRPC::with_origin(conn, Uri::from_static("https://myapp:443"));

This works, but this forces me to pass specifically the hyper_util client with https everywhere, instead of a tonic Channel abstraction.
Now I noticed it is also possible to create a tonic Channel with the same https connector, like this:
pub async fn grpc_channel() -> Result<Channel, TransportError> {
        Channel::from_static("https://myapp:443")
            .connect_with_connector(https_connector())
            .await
}

But in this case the connection fails with source: None
I fail to understand what the hyper_util Client does that the tonic Channel doesn't.
Could someone provide some guidance?

@joune: fyi this "Channel" implementation in another project may be of value: https://github.com/pantsbuild/pants/blob/76ef3e4f83dc99075bb205d1fdc6a6011e501dce/src/rust/engine/grpc_util/src/channel.rs
It is initialized with a rustls::ClientConfig and can be passed to Tonic as is.

I had been using a custom connector with the build-in Channel type that handled using a custom rustls config but it only worked if the "tls" feature in tonic was disabled. Recently I needed to pull in another dependency that enabled the "tls" feature, and needed a standard tls config, and my workaround broke since even if you provide your own connector, tonic will check for the https scheme and error out if a tls config isn't present. In order to work around this issue I ended up forking the tonic "transport" code, removing the tls config wrappers and instead exposing a rustls config directly and published it as tonic-rustls.

I just ran into this very issue.
Specifically the problem is, when using a custom connector [1] and an https endpoint, this error branch is being hit https://github.com/hyperium/tonic/blob/758d4f9a95d9752465baa7db10ab6cc069fef00b/tonic/src/transport/channel/service/connector.rs#L68
https://gist.github.com/shikhar/2677ca111e82b2a8ebfbada2d2bf1582 "fixes" this problem. What do maintainers think about getting rid of this error?

[1] HttpsConnector from hyper_rustls layered on top of HttpConnector from hyper_util, to be able to use a custom rustls::ClientConfig

I think your diff has tonic silently fall back to plaintext HTTP in case of a misconfiguration? That seems like a non-starter.
IMO the integration crate proposed by @bmwill is probably the right approach for this kind of stuff.
There might also be a change in the future when the internal transport offered by tonic is rethought.

There might also be a change in the future when the internal transport offered by tonic is rethought.

My assumption is that the main reason that the rustls types aren't exposed today is due to not wanting to require a version bump of tonic when rustls releases a new version.
Until the project decides to rethink how rustls integrations with the batteries-included transport (maybe by moving the transport to a separate crate), we can use tonic-rustls  as an experiment.

I think your diff has tonic silently fall back to plaintext HTTP in case of a misconfiguration? That seems like a non-starter.

That's fair, I found an alternate approach that is much better: https://github.com/hyperium/tonic/pull/2015

I created tonic-tls for this. You can pass Rustls configs to tonic via incoming stream. You can use native-tls as well.


Don't use namespacing in variable names

Hi,
The issue with using namespacing in variable names is that it will namespace everything, including any mention I make to document, window, etc. For example:
(chain document (query-selector-all selector))

Will output:
_prefix_document._prefix_querySelectorAll(_prefix_selector);

Which is not really what I want.
Any idea of how I can do that?
The thing is, I want to include the javascript in many web pages, so I cannot afford to not have namespaces. I also want to have several files, so I need the packaging system :-)
The solution I'm using for now is something like this:
(setf (getprop window '*foo*) (or (getprop window '*foo*) (create)))
(setf (getprop (getprop window '*bar*) 'bar) #'bar) ;; export FOO.bar

Basically, using js "namespacing" manually. I have to wrap this in an IIFE manually when using ps:compile-file though, so my code ends up like this:
(defparameter *foo-ps* (concatenate
			       'string
			       ";(function(){"
			       (ps:ps-compile-file
			         (asdf:system-relative-pathname :bar "foo.ps"))
			       "}());"))

To have the js code available.
I'd love a better solution, but I don't see it yet.
Cheers,
Florian

Hi Florian,
Symbol obfuscation is per-package, and there is a package called
#:ps-dhtml-symbols
that defines the standard and de-facto standard DOM identifiers:
https://github.com/vsedach/Parenscript/blob/master/src/js-dom-symbol-exports.lisp#L1071
If you :USE that package in your package definition, that will keep those
symbols from being mangled.
As a note to myself, TODO need to add HTML5 symbols to that file.
Happy hacking,
Vladimir
On Tue, Jan 20, 2015 at 7:50 AM, Florian Margaine<EMAIL_ADDRESS>wrote:

Hi,
The issue with using namespacing in variable names is that it will
namespace everything, including any mention I make to document, window,
etc. For example:
(chain document (query-selector-all selector))
Will output:
_prefix_document._prefix_querySelectorAll(_prefix_selector);
Which is not really what I want.
Any idea of how I can do that?
Cheers,
Florian
—
Reply to this email directly or view it on GitHub
https://github.com/vsedach/Parenscript/issues/14.

Hi @vsedach,
Thanks for your feedback!
Indeed, #:ps-dhtml-symbols looks like what I want!
I'm using this fix until you can add the missing DOM standards :-)
;; fix parenscript missing DOM methods in #:ps-dhtml-symbols
;; See https://github.com/vsedach/Parenscript/issues/14
(defpackage #:lispkit.dhtml-missing-methods
  (:documentation "Missing functions used in lispkit source code.")
  (:export
   #:query-selector-all
   #:inner-width
   #:inner-height
   #:get-bounding-client-rect
   #:text-content))

(ps::re-export-symbols '#:lispkit.dhtml-missing-methods '#:ps-dhtml-symbols)

This way, I can use the obfuscation technique without any worry!
Good luck when adding the new symbols, I'm afraid there are a lot of them...
Cheers,
Florian

@ralt do you have a link to the definitive list of symbols?  I'll be happy to add them if so.

@jasom you will have to find all the DOM3 and DOM4 new symbols. I'm not sure it's easy to find such a list...


P2P with signaling

README mentions existence of symmetric P2P using a signaling server in GameNetworkingSockets, but I cannot find anything more about it neither in this crate or quinn itself.
Is it actually supported besides just QUIC protocol?
If so I'd like to contribute an example, I just don't know where to look for where to start.

Hello, unfortunately Quinnet is focused on a client/server architecture rather than P2P and so it is still out of scope for now. See #17
(It seems possible to have p2p with GameNetworkingSockets, but Quinnet is not a port of this lib. it simply is referenced in the README as a way to present QUIC advantages over raw UDP)
For p2p in Bevy I believe you could have a look at matchbox, or ggrs, although I have not used them myself.


Add README to export

Add README file (+ basic LICENSE?) with some explanations about the contents (limit of 500 files, format, etc.)

thanks @anjacque, it's added to each export


grafana: Refine the order of grafana dashboard to localize related panels

What is changed and how it works?

Issue Number: Ref #15990

What's Changed:
Refine the order of grafana dashboard to localize related panels

Related changes

[ ] PR to update pingcap/docs/pingcap/docs-cn:
[ ] Need to cherry-pick to the release branch

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[x] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Release note

Refine the order of grafana dashboard

/merge


changes from flynt

was pretty painless, the tests ran successfully.

looks good @ktroutman, thanks!
looks like there are some black formatting errors: https://travis-ci.org/github/pandera-dev/pandera/jobs/744748032#L634-L637
are you using balck auto-formatting on your IDE? If so it'll have to match the version and arguments in the precommit yaml file... otherwise I'm not sure why we're seeing this error.

I do have the black hooks, but i put the flynt hooks after black so the flynt changes weren't conform to black. I changed the order of the hooks so that flynt comes before black.

Codecov Report

Merging #325 (a54df7d) into master (0cb9869) will increase coverage by 0.14%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #325      +/-   ##
==========================================
+ Coverage   98.64%   98.79%   +0.14%
==========================================
  Files          18       18
  Lines        1702     1738      +36
==========================================
+ Hits         1679     1717      +38
+ Misses         23       21       -2

Impacted Files
Coverage Δ

pandera/checks.py
98.42% <ø> (ø)

pandera/decorators.py
100.00% <ø> (ø)

pandera/dtypes.py
100.00% <ø> (+2.29%)
:arrow_up:

pandera/error_formatters.py
100.00% <ø> (ø)

pandera/hypotheses.py
92.72% <ø> (ø)

pandera/schema_statistics.py
100.00% <ø> (ø)

pandera/errors.py
100.00% <100.00%> (ø)

pandera/io.py
97.82% <100.00%> (ø)

pandera/schema_components.py
98.42% <100.00%> (+0.02%)
:arrow_up:

pandera/schemas.py
98.12% <100.00%> (+0.14%)
:arrow_up:

... and 5 more

Continue to review full report at Codecov.

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


[curl] Build error

Copy issue body from C:/dev/vcpkg/installed/vcpkg/issue_body.md

Package: curl[core,non-http,schannel,ssl,sspi]:x64-windows -> 8.4.0
Host Environment

Host: x64-windows
Compiler: MSVC 19.38.33133.0
vcpkg-tool version: 2023-10-18-27de5b69dac4b6fe8259d283cd4011e6d20a84ce
vcpkg-scripts version: 0c20b2a97 2023-11-17 (5 months ago)

To Reproduce
vcpkg install curl
Failure logs
-- Using cached curl-curl-curl-8_4_0.tar.gz.
-- Cleaning sources at C:/dev/vcpkg/buildtrees/curl/src/curl-8_4_0-1dac1974ab.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/dev/vcpkg/downloads/curl-curl-curl-8_4_0.tar.gz
-- Applying patch 0002_fix_uwp.patch
-- Applying patch 0005_remove_imp_suffix.patch
-- Applying patch 0012-fix-dependency-idn2.patch
-- Applying patch 0020-fix-pc-file.patch
-- Applying patch 0022-deduplicate-libs.patch
-- Applying patch mbedtls-ws2_32.patch
-- Applying patch export-components.patch
-- Applying patch dependencies.patch
-- Applying patch cmake-config.patch
-- Using source at C:/dev/vcpkg/buildtrees/curl/src/curl-8_4_0-1dac1974ab.clean
CMake Error at ports/curl/portfile.cmake:67 (vcpkg_cmake_configure):
  Unknown CMake command "vcpkg_cmake_configure".
Call Stack (most recent call first):
  scripts/ports.cmake:170 (include)

Package: curl[core,non-http,schannel,ssl,sspi]:x64-windows -> 8.4.0

Outdated.

* vcpkg-tool version: 2023-10-18-27de5b69dac4b6fe8259d283cd4011e6d20a84ce
      vcpkg-scripts version: [0c20b2a](https://github.com/microsoft/vcpkg/commit/0c20b2a97c390e106150837042d921b0939e7ecb) 2023-11-17 (5 months ago)

Outdated.

Unknown CMake command "vcpkg_cmake_configure".

Outdated installation of vcpkg-cmake. Upgrade the installed ports / the "builtin-baseline".


Refactor FormField into separate abstract and concrete classes

Right now TextFormField extends FormField and that's the only place in Flutter where a class extends a concrete subclass of StatefulWidget. We should take the parts of FormField that TextFormField uses and refactor them into an abstract subclass of StatefulWidget that they both extend.
/cc @xster @abarth

If we do this we have to be careful to do it in a backwards-compatible way to avoid breaking API stability.

What's wrong with extending a concrete subclass of StatefulWidget?

I would normally expect to be able to pass a GlobalKey as the key argument to the TextFormField constructor but TextFormFieldState isn't a type.

I would normally expect that new TextFormField(autofocus: true).autofocus == true but I get autofocus is not defined.

If we add new named constructor arguments to FormField, subclasses that had constructor arguments of the same name but with different types will result in "invalid override" errors.

Things get more dangerous if the subclass overrides build(). If we add new named constructor arguments to FormField, subclasses that had constructor arguments of the same name and types might result in the subclass's version being intentionally used in two places; once in the subclass and once by FormField in the call to super.build().

tl;dr composition > inheritance. If we can compose, we should.
@sethladd

I agree that we should fix those issues, and I'm happy to do so by not using inheritance, but I'm not convinced that those issues are implied by the use of inheritance from a concrete class.

I'm fine with this not being a hard-and-fast rule as long as there are Reasons.

The base class taking a builder is also really awkward because you need to be able to create the closure for super(builder:...) without access to this.


embassy-stm32: Allow cmd buffer to be passed in for sdmmc dma transfers

The sdmmc module currently allows the user to pass in a data_block buffer to perform DMA data transfers. However, cmd_block buffers are created on the stack internally. This poses a problem if the stack RAM does not work with DMA. An example of this is the stm32h735 mcu which can have RAM as ITCM memory (0x20000000) and AXISRAM for use with DMA (0x24000000).
This change allows the user to pass in a statically allocated buffer in a location of their choosing when using the sdmmc module. There are two new functions that mirror existing functions so as to ensure backwards compatibility:
    /// Initializes card (if present) and sets the bus at the specified frequency.
    pub async fn init_card(&mut self, freq: Hertz) -> Result<(), Error> {
        let mut cmd_buffer = CmdBlock::new();
        self.init_card_with_cmd_buffer(freq, &mut cmd_buffer).await
    }

    /// Initializes card (if present) and sets the bus at the specified frequency.
    /// A cmd_buffer should be passed in if the DMA requirements mean that
    /// stack memory can't be used (the default in `init_card`).
    /// This usually manifests itself as an indefinite wait on a dma transfer because the
    /// dma peripheral cannot access the memory.
    pub async fn init_card_with_cmd_buffer(&mut self, freq: Hertz, cmd_buffer: &mut CmdBlock) -> Result<(), Error> {
      // code here
    }

    /// Write a data block.
    pub async fn write_block(&mut self, block_idx: u32, buffer: &DataBlock) -> Result<(), Error> {
        let mut cmd_buffer = CmdBlock::new();
        self.write_block_with_cmd_buffer(block_idx, buffer, &mut cmd_buffer)
            .await
    }

    /// Write a data block and pass in a cmd buffer rather than using a stack allocated one.
    /// This is required if stack RAM cannot be used with DMA
    pub async fn write_block_with_cmd_buffer(
        &mut self,
        block_idx: u32,
        buffer: &DataBlock,
        cmd_buffer: &mut CmdBlock,
    ) -> Result<(), Error> {
      // code here
    }

thanks for the PR!
I think adding _with_cmd_buffer variants for every method might be a bit complex and verbose for the end user. An alternative would be taking the buffer in new_with_cmd_buffer, and make new default to using some static mut buffer specific to the sdmmc instance?

Thanks for the idea, that would be better. One small question: There are currently 4 constructors (new_1bit v1, new_1bit v2, new_4bit v1 and new_4bit v2). I would double that to 8 by adding this cmd_block input parameter. Alternatively I could add a function called set_cmd_block that the user can use to set it. I have added the function for now but can use the constructor option you mentioned easily enough.

"and make new default to using some static mut buffer specific to the sdmmc instance"
This is not necessary as it can simply be declared on the stack as it was done before resulting in less unsafe code to audit and easier-to-reason-about instance safety!

good point. I didn't realize there were so many constructors. thanks!


Pagination for returning large pinsets

When making a call to GET /pins there can be a lot of results to return.
Should we add pagination support under something like /pins/page?limit=100&skip=2?
Do nothing? Or is there a better way to tackle this (eg. GraphQL suggested in #8 provides various pagination strategies)?
Ref. https://cloud.google.com/apis/design/design_patterns#list_pagination

I would strongly support pagination as not only an option, but also a default for the GET /pins endpoint.
Maybe something like a default of 10 pins per page (but this can be changed by simply passing in a new limit).
Also, I would recommend having a "max" page limit of something like 1000 so people don't just put something like<PHONE_NUMBER>47 as their limit.

Pagination based on limit and  skip is introduced in #14 with max limit of 1000.
Open question: how should API indicate that there are more records?
Potential solutions:

When exactly 1k of items is returned, instruct clients to send potentially redundant &skip=1000 to see if more items are present
Return X-Pins-Total-Count HTTP header with partial responses
Wrap response list in object that has  total count value as a property
Something else?

Our API should be able to handle counting the total number of records that match a query. This shouldn't be a huge problem for us to implement either way. Currently we return counts as part of the return object as a property, but I suppose a header would work as well.

@obo20 I think HTTP header is the easiest, but it makes it much harder for people to re-implement this API in non-HTTP contexts internally.
I've added PinResults object with count fields in #20, hopefully thats the least painful option.


Install the latest version of bytewax with pip.

Bug Description
I am unable to install the latest version of bytewax with pip.
When I have to install bytewax with pip install bytewax, the version it installs is 0.11.0
I tried to force version 0.16.1 manually and got the following error:

ERROR: Could not find a version that satisfies the requirement bytewax==0.16.1 (from versions: 0.6.1, 0.7.0, 0.7.1, 0.8.0b0, 0.8.0b1, 0.8.0b2, 0.8.0, 0.9.0, 0.10.0, 0.10.1, 0.11.0)
ERROR: No matching distribution found for bytewax==0.16.1

I tried using another environment with python 3.8.10 and got the same problem.
pip version: 23.1.2
Python version (python -V)
Python 3.10.11
Bytewax version (pip list | grep bytewax)
bytewax 0.11.0
Operating System version (uname -morp)
Microsoft Windows [<IP_ADDRESS>1.1702]
Relevant log output
No response
Steps to Reproduce

pip install bytewax

Windows builds were dropped due to a rust rdkafka dependency. This should be fixed in the next release with https://github.com/bytewax/bytewax/pull/249
/cc @whoahbot

Ok, thanks for the support. I will use linux.

Bytewax v0.16.2 wheels for windows should now be available on PyPI.

I had the same problem with centos7 and couldn't update to the latest version.


Creating fixture for class that contains enum (with two options) and a constructor results in only one enum type assigned

Consider having a simple class:
public class PropertyHolderEnum
{
    public FilmType Type { get; set; }
    public PropertyHolderEnum(FilmType type)
    {
        this.Type = type;
    }

The FilmType looks like this:
public enum FilmType
{
    Type1,
    Type2
}

Now, when the CreateMany<PropertyHolderEnum>() is used, all of the objects have the same Enum value:

But then the FilmType has one more value (3 in total), returned entries have all enum values (although it starts from the second one, which alone, is strange)

If the constructor is removed from the PropertyHolderEnum, the fixture works just fine for enum with two options.
I was trying to find the roots of this behaviour, without luck.

@JonahKK thank you for reporting this. The behavior is unexpected indeed.
This is likely a bug, but I'll have to investigate it.

@aivascu there are two reasons for specified behavior.

PropertyHolderEnum has enum type in constructor and enum property with public setter.
EnumGenerator creates enumerators by type.

When fixture creates PropertyHolderEnum it generates value for constructor by calling MoveNext() on enumerator and returning Current. It does the same for property. The result is that enum value with index 0 (Type1) is passed in constructor and then enum value with index 1 (Type2) is set to property.
Following this logic it is clear that:

for enum with 2 values, the value with index 1 is always set in object,
for enum with 3 values all values are set, but in reverse order and first object has value with index 1,
for enum with even number of values (above 3) only values with odd index are set.
for enum with odd number of values (above 3) only every second value is set, starting with value with index 1.

Removing the constructor from PropertyHolderEnum resolves the problem, since every generated value is used to set property (starting with value with index 0).

@JonahKK I have finally freed up some time to have a look at this issue myself and it turns out there is no bug and the EnumGenerator is working as expected.
Basically what @MKafar said is true. What happens is that while AutoFixture is trying to initialize your public property both using the parameterized constructor and the public setter. This means that the first time it generates a value through the ctor it will have Value1 and the next time when it uses the setter it will generate Value2. This explains why you only got Value2 in your first screenshot and why you got the 2-1-3 pattern in the last screenshot.
The solution for you would be to either not have a public setter or remove the constructor. I don't know your context but from a domain modelling point of view I'd say you want the first option.
Let me know if you have any more questions, on this topic.

Closing this issue due to inactivity. The original question seems to have been resolved anyway.


Implement judge ruling search in popup

In the popup you click a button that allows the user to enter some search text and submits that to the judges lounge fb group with that search text, for quick ruling lookup

url example:
https://www.facebook.com/groups/109511652449843/search/?q=damage step chain
replace damage, step, chain with user input(s)


scaleX doesn't use same dp as width

Description
This
<View style={{width: w}} />

doesn't always equal (translate by w/2 to mimic origin right)
<View style={{width: 1, transform: [{scaleX: w}, {translateX: w/2}]}} />

Width isn't always the same. (translateX is a side thing)
From testing:
When Pixel density is 2 on iPhone, iPad, Android tablet/phone: width === scaleX
When Pixel density is 1.5, 1.8: width !== scaleX
Which means width is using density-independent pixels, but scaleX isn't?
I've managed to fix this with
// If pixel ratio is 1.5, it's 75% of pixel ratio 2
// w * 0.75
const ratioDiff = PixelRatio.get() / 2;
<View style={{width: 1, transform: [{scaleX: w * ratioDiff}, {translateX: w/2}]}} />

This was only validated on android devices with pixel ratio of 1.5 and 1.88. Will this work for 2+ pixel ratio's?
React Native Version
0.72.5
Output of npx react-native info
System:
  OS: macOS 13.5
  CPU: (12) arm64 Apple M2 Max
  Memory: 64.88 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.8.0
    path: ~/.nvm/versions/node/v20.8.0/bin/node
  Yarn:
    version: 1.22.19
    path: /usr/local/bin/yarn
  npm:
    version: 10.1.0
    path: ~/.nvm/versions/node/v20.8.0/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.13.0
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.0
      - iOS 17.0
      - macOS 14.0
      - tvOS 17.0
      - watchOS 10.0
  Android SDK: Not Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10811636
  Xcode:
    version: 15.0/15A240d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: <IP_ADDRESS>
    path: /usr/bin/javac
  Ruby:
    version: 3.2.2
    path: /Users/gregoirevda/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react: Not Found
  react-native: Not Found
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

Steps to reproduce
Compare both output on devices with pixel density !== 2
<View style={{width: 100, height: 100, backgroundColor: 'red'}} />

<View style={{height: 100, width: 1, backgroundColor: 'green', transform: [{scaleX: 100}, {translateX: 50}]}} />

Snack, screenshot, or link to a repository
https://snack.expo.dev/@gregoirevda/pixel-density-scalex

After testing on ldpi, mdpi, hdpi, xhdpi and xxhdpi I realised width !== scaleX only when pixel density is a decimal (could only find decimal dpi on android)
I've changed
const ratioDiff = PixelRatio.get() / 2;

to
const pixelRatio = PixelRatio.get();
const pixelRatioRounded = Math.round(pixelRatio);
const ratioDiff = pixelRatio / pixelRatioRounded;

When running this

const width = 200;

 return <View style={{marginLeft: 100, marginTop: 100}}>
    <View style={{width: width, height: 100, backgroundColor: 'red'}} />

    <View style={{height: 100, width: 1, backgroundColor: 'green', transform: [
      {translateX: width/2},
      { scaleX: width }
      ]}} />

      <View style={{height: 100, width: 1, backgroundColor: 'pink', transform: [
      {translateX: width/2},
      { scaleX: width * ratioDiff }
      ]}} />
    <Text>{PixelRatio.get()}</Text>
  </View>

You notice that the 3th option (pink) always equals the width (red)

@Gregoirevda this worked perfectly, thank you!

@ZacMossHK For my use case it turned out react-native-svg had no issues and was easier to use


fix: Allow empty value in select type widgets options property

Fixes #10007
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce.
Please also list any relevant details for your test configuration.

Test A
Test B

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:white_circle: Total coverage has not changed
No changes to code coverage between the base branch and the head branch

/ok-to-test sha=4f0c28d

@sbalaji1192 Tested this PR and please find the status below,
Currently one option value can be empty and this is now applicable to Select Widget, Swtich Group Widget, Checkbox Group and MultiSelect Widget
Issue 1 - Radio group accepts multiple empty value and no validation message is displayed
https://www.loom.com/share/a6e7f7d7c6284852b27074bbe066a58b
Question 1 - For Multi SelectTree and Single TreeSelect - Can we have one empty value in parent level and one empty value in child level? Currently if there is one empty value in parent and one empty value in child - validation error occurs and Not sure if this is a valid case.
https://loom.com/share/dc7e01e1938a4b9393c190c763a7c402

Question 1 - For Multi SelectTree and Single TreeSelect - Can we have one empty value in parent level and one empty value in child level? Currently if there is one empty value in parent and one empty value in child - validation error occurs and Not sure if this is a valid case.
@somangshu what should be the expected behaviour here?

@sbalaji1192 The question is do we allow empty / null values in the options. If thats the case I would say all the value and have the unique validation in place, This however might have created some issue in the past which I might not be aware of.
@dilippitchika could you check this once, What is the right behavior?

@somangshu @dilippitchika The question is do we need to allow empty values at different levels in multi select tree options?

Discussed with @sbalaji1192 on the issue. We should only allow one null/empty value across the tree of options in multi-tree-select and tree-select. The users are using this to manage "None" option behavior on their side and this can be easily managed by having only one option for "None" throughout the tree.

@YogeshJayaseelan Fixed issue 1 - Now radio group widget enforces unique value. please verify.

@sbalaji1192 Verified the fix and it is working as expected. We can proceed further

/ok-to-test sha=347e1b0

/ok-to-test sha=055cf9d

/ok-to-test sha=7f391b7

/ok-to-test sha=bbd8ede


Move high-level dependencies away from low-level mcstas-core package

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Everything checks out, merging.


Adds missing imports to the sync_client template

[!IMPORTANT]
Add missing imports createBamlValidationError and BamlValidationError to sync_client.ts.j2 for error handling in BamlSyncClient.

Imports:

Add createBamlValidationError and BamlValidationError to the import statement in sync_client.ts.j2 from @boundaryml/baml.

Error Handling:

Utilize createBamlValidationError and BamlValidationError in BamlSyncClient for error processing.

This description was created by  for 94cedb4f41ab3126439c13a5d73be9e610567266. It will automatically update as commits are pushed.

Thank you, nice catch! This should bring the typescript sync client into parity with the async client. Apparently we are lacking tests for error handling in the sync client.

@imalsogreg Looking through the source helped me find the async_client, so I'm able to keep working on my project. But this is still a good catch!

@hellojebus This is failing our CI because CI checks that the generated client code matches what's checked in.
If you can run pnpm generate to regenerate the client, it should pass CI.  On any new PR, we'll be sure to credit you. Thanks for finding this issue!

@hellojebus This is failing our CI because CI checks that the generated client code matches what's checked in.
If you can run pnpm generate to regenerate the client, it should pass CI.  On any new PR, we'll be sure to credit you. Thanks for finding this issue!

Updated the PR, let me know if you need anything else.


Uncaught exception when pressing F1 when the command palette is open

VSCode Version: 0.7.0

Steps to Reproduce:

Press F1 to open the command palette
Press F1 again

Uncaught Error: Cannot read property 'value' of null

Please update to the newest version of vscode - this issue if fixed.


ERROR: (gcloud.compute.ssh) User [None] does not have permission to access users instance [None] (or it may not exist) on main branch

Motivation
2 of the last few main branch commits have failed with:

ERROR: (gcloud.compute.ssh) User [None] does not have permission to access users instance [None] (or it may not exist): End user credentials must match the user specified in the request. Request for user [ None] does not match the credential for<EMAIL_ADDRESS>
https://github.com/ZcashFoundation/zebra/actions/runs/3180237524/jobs/5184393771#step:7:97
https://github.com/ZcashFoundation/zebra/actions/runs/3179050813/jobs/5192664093#step:6:103
Sometimes this happens during instance creation, sometimes during the test run.
Possible Fixes
@gustavovalverde will this be fixed by the SSH action?

Yes https://github.com/ZcashFoundation/zebra/pull/5330 should fix this

A manual full sync on PR #5257 also failed multiple times due to this bug:
https://github.com/ZcashFoundation/zebra/actions/runs/3184782188

It looks like all Rust PRs are failing in the Google Cloud tests due to this bug.


Makes dev_setup.py script more portable

This will avoid problems where python and pip on PATH do not map to the version of Python that the script was started with.
I already contributed a similar change to the https://github.com/Azure/azure-sdk-for-python/pull/2062

View a preview at https://prompt.ws/r/Azure/azure-cli/5680
This is an experimental preview for @microsoft users.

@zooba thank you for the contribution.


Duplicate interface definition for class 'RCTBridge'

when i import react-native-sqlite-storage xcode show me this
Duplicate interface definition for class 'RCTBridge'

I'll guess your using RN 0.40. Therefor you need this PullRequest for compatibility with RN => 0.40
https://github.com/andpor/react-native-sqlite-storage/pull/110

thanks from china


fix: 🐛 Padding chatTextFieldViewKey key gets re-initialized every widget render

Description
This proposed PR aims to fix #216 and #253.
Before changes
In lib/src/widgets/send_message_widget.dart (line 147), the widget gets re-rendered every time there are any state changes (e.g: screen resizing due to keyboard avoiding behavior in iOS) in the widget due to the chatTextFieldViewKey key re-initialization of the Padding widget. See video below:
https://github.com/user-attachments/assets/efc63716-5923-4663-a088-edaa6c9c15d4
After changes
This PR makes the chatTextFieldViewKey to be initialized only once (singleton design pattern-like), even after widget state changes. This prevents unnecessary re-render.
https://github.com/user-attachments/assets/d2a5c1ce-f08d-4aa0-a45b-6eb91e20066e
Checklist

[x] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[x] I have followed the Contributor Guide when preparing my PR.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[ ] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[ ] I have updated/added relevant examples in examples or docs.

Breaking Change?

[ ] Yes, this PR is a breaking change.
[x] No, this PR is not a breaking change.

Related Issues
Closes #216 and #253

Thanks, @ElyasAsmad, for identifying the root cause and providing a solution. Due to inactivity in the previous PR, I have created a new PR (#297) to merge the code.


platform does not load - permission denied

Hi! Sorry to bother you, however I have an issue which I have both on version 0.89.2 and the latest release v0.99.3 (a brand new install within a FreeNas jail, in a virtual environment). I follow your installation guide, but the platform does not load when homeassistant starts. Here's the error message I get in the logs.
Error while setting up platform renaultze
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
return fut.result()
File "/home/hass/homeassistant/custom_components/renaultze/sensor.py", line 68, in async_setup_platform
g = Gigya(api_key=g_key,root_url=g_url)
File "/srv/homeassistant/lib/python3.6/site-packages/pyze/api/gigya.py", line 23, in init
self.set_api_key(api_key)
File "/srv/homeassistant/lib/python3.6/site-packages/pyze/api/gigya.py", line 26, in set_api_key
self._credentials.store('gigya-api-key', api_key, None)
File "/srv/homeassistant/lib/python3.6/site-packages/pyze/api/credentials.py", line 70, in store
self._write()
File "/srv/homeassistant/lib/python3.6/site-packages/pyze/api/credentials.py", line 75, in _write
os.makedirs(dirname)
File "/srv/homeassistant/lib/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/.credentials'
Is there a way that you could help me out? Many thanks!!! Markus

Hi Markus,
It looks like the issue comes from the way the pyze module caches the credentials.
By default, this is "os.path.expanduser('~/.credentials/pyze.json')".
Can you try to create the corresponding folder and give access to your user?
If that doesn't work, then maybe you need to request changes on the pyze module...

Ref https://github.com/jamesremuscat/pyze/issues/10

Hi @mastermarkush,
Can you update to v3.0.0 and see if that is still an issue?

OP went away.


Pass completion error through

This update will:

support passing the completion error through the share sheet callback block per the request in https://github.com/BranchMetrics/ios-branch-deep-linking/issues/436
fix the nullability label of the activityType as referenced in https://github.com/BranchMetrics/ios-branch-deep-linking/issues/436

@derrickstaten

looks good to me. even more completion handler options.. 👍


IPset support in the future?

Are there any plans in the future to add IPset support?

Hi there -- I don't have any plans to support this, but I'd be glad to review contributions if someone wanted to add and keep support for it up to date.


Fix #1769 and introduce an optional argument to specify a different r…

…ounding strategy if needed.
PR Details
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

I removed the new constructors because we already have conversion operators, so it's not needed. If someone wants to convert a Vector3 to an Int3 (or the opposite) they can just do:
Vector3 vec3 = new Vector3(1.0f, 1.0f, 1.0f);
Int3 int3 = (Int3)vec3;
vec3 = (Vactor3)int3;

Thanks !


Fix code SmartContractApi.ts

Fix SmartContractApi.ts
Summary
This pull request fixes an issue in the SmartContractApi.ts file. Specifically:

Removed unnecessary JSON stringification of the formattedParams.abiJson.

Changes

Deleted redundant lines of code in SmartContractApi.ts to streamline the handling of abiJson.

Modified file
packages/web3-circle-sdk/src/SmartContractApi.ts

Lines affected: Line 87–91 (removed 2 lines).

Why this change was made

The abiJson field was already in the required format, so the stringification step was redundant and could cause unnecessary complications in usage.

Testing

Verified that the function behaves as expected without the removed lines.
All existing tests pass successfully.

Checklist

[x] Code changes were reviewed for potential issues.
[x] Unit tests were executed, and results are satisfactory.
[x] Documentation was updated (if necessary).
[x] Verified backward compatibility with existing features.

Feel free to provide feedback or suggest further improvements. Thank you!

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

Thanks, but we’re currently not accepting PRs from outside the core team.


feat(Contract): add an option to pass block identifier to call API

Add an option to pass block identifier to contract calls.
For example: sometimes we would like to query the calls for the most updated state (i.e, on the pending block).
contract.call('balanceOf', {account}, "pending")

Hey @dan-ziv ! Thanks for your contribution!!
I'll merge it for now as you're probably waiting for this change to be available :-) But be aware we're already working on a new Contract interface! eg #125

Thanks @janek26


Wallet adapter (Phantom) does not connect for some users

Describe the bug
I've encountered reports from multiple users who are experiencing difficulty connecting their wallets. While I haven't been able to reproduce the issue personally, some users mention that after selecting a wallet from the modal listing available options, nothing further occurs – it seems the extension popup fails to appear.
Desktop:
Browser [e.g. chrome, firefox, safari]

Duplicate of https://github.com/solana-labs/wallet-adapter/pull/836 and https://github.com/solana-labs/wallet-adapter/issues/852.
Already addressed by https://github.com/solana-labs/wallet-adapter/issues/853#issuecomment-1839221212.
The bug report template is there for a reason. If we can't replicate the issue, we can't do anything about it.
Please do not open any more issues about this.


[feature](doris compose) Add create cloud cluster

Add create cloud cluster. The simplest way to create a cloud cluster

python docker/runtime/doris-compose/doris-compose.py up  <your-cluster-name> <your-doris-image>  --cloud

It then create 1 fdb, 1 ms, 1 recycler,  3 fe,   3 be.

Add increment add node to existing cloud cluster.

Add command for generate regression-conf-custom.groovy for regression test.

Regression test can create cloud docker cluster.

Proposed changes
Issue Number: close #xxx

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

run buildall

run buildall

run buildall

run buildall