Wait for cluster resources to be ready before starting tests

I'm going to try to write this request in an open fashion. I don't want to force one improvement while perhaps it's better to look at the greater picture. I want to start with an example of "why" and then offer a few suggestions on "how"
the why
In my case I was using a kuttl test suite that started a Kind cluster. It allows use to provide manifests to apply to the cluster but if the cluster is not yet in a fully ready state it makes the tests flaky. In my case I needed DNS to be available. Tests were failing because the coreDNS container wasn't ready yet. The operator I'm trying to write and trying to test with kuttl fails making connections to postgres if the pod DNS is not ready yet.
the how
My original answer to this was going to be that Kuttl should wait for DNS to be available. But perhaps it's better it is possible to be able to declare for which resources kuttl should wait before it starts running the tests. Especially if the user provided manifests that contain resources that take a moment before they're ready like Deployments. So perhaps it would be also better that you can provide a readyness test that checks whether supplied manifests a ready to be used.
Here's how I've fixed it for now:
apiVersion: kuttl.dev/v1beta1
kind: TestSuite
name: Postgres
testDirs:
- ./tests/postgres/
manifestDirs:
- ./tests/postgres-manifests/
kindContainers:
- library/postgres:latest
commands:
# wait for DNS to be available to avoid flaky tests
- command: kubectl wait --timeout=2m --for=condition=available deployment coredns -n kube-system
- command: kubectl get deployment -A
# deploy our operator
- command: make deploy-kind
# wait a bunch
- command: kubectl get deployment -A
- command: kubectl wait --timeout=3m --for=condition=available deployment postgres-db-server -n postgres
- command: kubectl get deployment -A
- command: kubectl wait --timeout=1m --for=condition=available deployment db-operator-controller-manager -n db-operator-system
- command: kubectl get deployment -A
# wait again, postgress might be restarting due to initialisation cycle
- command: kubectl wait --timeout=30s --for=condition=available deployment postgres-db-server -n postgres
- command: kubectl get deployment -A
# we're sharing the database, in order to have predictable state we don't do parallel tests
parallel: 1
artifactsDir: ./tests/outputs
kindNodeCache: true

A possible solution:
apiVersion: kuttl.dev/v1beta1
kind: TestSuite
name: Postgres
testDirs:
- ./tests/postgres/
manifestDirs:
# option1:
- path: ./tests/postgres-manifests/
   wait_command: kubectl wait --timeout=3m --for=condition=available deployment postgres-db-server -n postgres
# option2:
- path:
  test_assert:
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: postgres-db-server
      namespace: postgres
    status:
      readyReplicas: 1

clusterAssertions/clusterWaits?:
# examples like above, assert or wait for DNS
-   apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: coredns
      namespace: kube-system
    status:
      readyReplicas: 1

I hope this helps. I would be interested in helping out, but preferably not alone.

Thanks so much for taking the time to write this issue up. I think a lot of user have similar issues as you. I think having Asserts added in as part of a BeforeSuite (a hook that runs before all the tests start) would be a very powerful addition to building out tests. To me it signifies, "before this test even starts assert this state". Is this the use case that you're looking for, or were you looking for something else.

I think a BeforeSuite would help yes. Would BeforeSuite happen before or after applying manifests? I think you might want something along the lines of:

start cluster
assert clusterstate (eg. DNS)
apply crds
apply manifests
assert pre-test status
run suite

I think you don't want to start applying manifests before the cluster is ready.

I've been wanting a Before and After Suite for a long time...   love this issue and report!   We will target for a next month release.


[To research/auto-aligned]Add autoaligned time series

Description
We add "autoaligned" keyword for iotdb. A grouping algorithm is devised for autoaligned time series.
create syntax
use create autoaligned  timeseries root.sg1.d1.s1(c1 INT32, c2 DOUBLE, c3 FLOAT) for creating the timeseries
insert syntax
use insert into  root.sg1.d1.s1(time, s1, s2, s3) autoaligned values(1, 1, 1, 1) for inserting data
column-grouping algorithm
The column-grouping algorithm has been devised. When the data are flushed into disk, the algorithm will give a strategy for grouping the time series.

This PR has:

[x] been self-reviewed.

[x] concurrent read
[x] concurrent write
[x] concurrent read and write

[x] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods.
[x] added or updated version, license, or notice information
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious
for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold
for code coverage.
[ ] added integration tests.
[ ] been tested in a test IoTDB cluster.

Key changed/added classes (or packages if there are too many classes) in this PR

Hi ,Good Job.
A big Features，  I Suggest create a jira.It's easy to follow up on issues later.


 They simple enough to put in "Gruntfile.js".

Completed (#48)

Completed (#48)


Can YUE support empty block and some logical falsity?

Can YUE support empty block and some logical falsity?

I hope Yue can support empty block code act as place holder for TODO and comments.
Maybe we can use keyword 'pass' like python for this task.
EX:

if os == 'win'
  print 'great'
else if os == 'mac'
  pass
else
  -- TODO: implement
  pass

I have some personal problem with lua 'FALSITY'.
Well... when work with some other languages and yue/lua at same time, I have a tenacity to make this error: "nil and false are the only false values".
It would nice if lua behave with 0 and "" like other languages. I known I can write a function or macro to achieve this. But this make code inconvenience and look ugly.
 EX:

if !val
  print 'FALSE'
if !!val
  print 'TRUE'

==> Lua
if not val or val == 0 or val == "" then
  print 'FALSE'
end
-- if val and val ~= 0 and val ~= "" then
-- or
if not (not val or val == 0 or val == "") then
  print 'TRUE'
end

Support nullish coalescing operator like other modern languages.
Maybe we can use '??' op like javascript, C#. EX:

valA = nullValue ?? "default for A"
valB ??= "default for B"

==> Lua
local valA
if nullValue ~= nil then
  valA = "default for A"
end
local valB
if valB ~= nil then
  valB = "default for B"
end

Thanks and regards!

Just got time to look into this issue. Nullish coalescing operator is useful, I had been ran into many cases for needing this syntax and got it implemented by aed806476fe50899c0f01750175531ac41267b9d. And we can now write codes like:

local a, b, c, d
a = b ?? c ?? d

a ??= false

Compiles to:
local a, b, c, d
if b ~= nil then
  a = b
else
  if c ~= nil then
    a = c
  else
    a = d
  end
end
if a == nil then
  a = false
end

I'm not sure if the logical falsity may introduce some complexity to read the codes and the rules for logical falsity is still not clear. Like whether the empty table should also be checked too.

I had needed the empty block for a while when coding with Moonscript. But I ended up getting used to write codes like:

if x
  func!
else
  print("Not implemented!")

-- or

if x
  func!
else
  error("Not implemented!")

Which can better help me to avoid thinking the codes was already done by mistakes. So I think the empty block place holder might not be a good coding practice.

Then why not implement a todo keyword instead of (or in addition to) pass? It would compile to an empty block, but would clearly indicate that the code was not complete.

So the todo is just the same function as pass with different word? how about compile it to something like error("todo")?

I reckon allow todo to optionally accept a string argument. During compilation, print the argument thus:
todo "Validate inputs"

Compilation message:

TODO: validate inputs

The filename and line number would be good things to print also.

Sorry for take long time to reply when I request it! Just too busy lastly!
I thinks just support empty code block should make more sense than implement any script logic!
For many reason that sometime I need sometime like 'pass' keyword of python. So I just resort to something like a noop function name 'pass' or '(->)()'
-- some rules in code base that I must follow
if not_required
  -- no "not not" if statement
  -- can not rename variable that not owned
  pass!
else
  -- do stuff here

I can not use error is a big no no for running app. Code expected to run into empty code block, result can be less idea but still function as expected, not optimize but work in many cases. And no 'print' because there a case that output is consume as result or host app not has a console to work with 'print'.
if os == 'win'
  optimize buffer
else if os == 'mac'
  -- not smooth as win but function
  pass
else
  -- good it work, it not, no deal breaker
  -- maybe look into in future but not priority for now
  pass

Another good (maybe bad) case usefull for 'pass'. Total ignore all code below it when compile. EX:
if flagOptimize
  pass
  -- for some reason can not touch code below and can not change struct code base when commit
  -- for now just pass code below and wait for person who responsible it done

  optimizeA!
  optimizeB!
  ...
  -- a lot of codes here
  --
  ...
  notSoGoodFunction!
  notTestFunction!

I think feature todo keyword should not be consider, it should be implement another dev tool. it not good to bloat a good 'transpiler' like YueScirpt with ambiguous feature not necessary.
Thanks and regards!

Thought of a more decent way to write empty block. I updated the macro functions, and now we can make use of macro to help us better deal with the situation.
-- test.yue

macro todoInner = (module, line, msg)->
  print "TODO#{msg and ': ' .. msg or ''} in file #{module}, at line #{line}"
  {
    code: "-- TODO#{msg and ': ' .. msg or ''}" -- currently only expand the macro to "Lua code" can reserve the comments
    type: "lua"
  }

macro todo = (msg)->
  if msg
    "$todoInner $MODULE, $LINE, #{msg}" -- $MODULE and $LINE are builtin macros, which expand to current filename and current line number
  else
    "$todoInner $MODULE, $LINE"

switch os
  when 'win'
    optimize buffer
  when 'android'
    $todo
  when 'mac'
    $todo "not smooth as win but function"
  else
    $todo "good it work, it not, no deal breaker, maybe look into in future but not priority for now"

print "done"

Compile it with yue tool, and the compiler will make the notices for todo during compilation.
> $ yue test.yue
TODO in file "test.yue", at line 20
TODO: "not smooth as win but function" in file "test.yue", at line 22
TODO: "good it work, it not, no deal breaker, maybe look into in future but not priority for now" in file "test.yue", at line 24
Built test.yue

And then get the compiled source:
do
	local _exp_0 = os
	if 'win' == _exp_0 then
		optimize(buffer)
	elseif 'android' == _exp_0 then
-- TODO
	elseif 'mac' == _exp_0 then
-- TODO: "not smooth as win but function"
	else
-- TODO: "good it work, it not, no deal breaker, maybe look into in future but not priority for now"
	end
end
return print("done")

You may have a try or have a look at the commit 2ff18b4fb66d25d22e5a25fb386fe171853e0b06
And for the pass keyword usage to skip some codes, I usually write the Lua idiom like:
if flagOptimize
  return if true
  -- for some reason can not touch code below and can not change struct code base when commit
  -- for now just pass code below and wait for person who responsible it done

  optimizeA!
  optimizeB!
  ...
  -- a lot of codes here
  --
  ...
  notSoGoodFunction!
  notTestFunction!

It really nice to have access line number in macro!
If possible I would like to have access to current scope function name, parameter, signature or something like that! That would be extremely helpful to write some macro debug assert or trace!
I think that we should rename 'MODULE' to 'FILENAME' and have more builtin 'FILEPATH' for more consistent. Because 'MODULE' kind of ambiguous.
About keyword pass: I usual use do return end idiom for dirty trick but it will have effect on entire function scope when I only want to apply to current scope.
So something like keyword pass to skip the rest of codes current block would be helpful for me!
Thanks and regards!

Renamed builtin macro $MODULE to $FILE.
And found a simple way to implement the function to skip the rest codes in a block with current Yuescript.
macro skip = -> ""
do
  print 1
  <- $skip
  print 2
  print 3

print 4

generated codes:
do
  print(1)
end
return print(4)

I don't understand what's going on in that code. I assume -> declares a closure? What is <-?

It's backcall syntax taken from Livescript. They are used for unnest callbacks.
do
  (data)<- readFile "file.txt"
  (result)<- parse data
  print result

-- is the same as

do
  readFile "file.txt", (data)->
    parse data, (result)->
      print result

-- with fewer indents

Ah, I see. So essentially, you're calling an empty macro and....passing the remaining instructions to it as a closure that it will never call?

Wouldn't it be much easier to read if you just had a pass instruction?

The only difference is that LiveScript doesn’t require parens for single-arg backcalls (a <- f)

Wouldn't it be much easier to read if you just had a pass instruction?

It won't be hard to get implemented. Just wanted to show that anyone can extend this language at will without even touching the source code.

The trick does not work anymore!
macro skip = -> ""

do
  print 1
  <- $skip
  print 2
  print 3

throw error:
5: failed to expand empty macro as expr
  <- $skip

I try with macro lua but It don't work too.

You need to add a nil at the end of the code. Or the <- $skip macro will be treated as the last expression to be implicitly returned. So this example should be:
macro skip = -> ""

do
  print 1
  <- $skip
  print 2
  print 3

nil

How can this work with function?
macro skip = -> ""

func = ->
  <- $skip
  print("done")
  return nil

return nil

It throws an error:
4: failed to expand empty macro as expr
  <- $skip
     ^

Thanks!

Replacing the backcall body with return statement could help.
macro skip = -> "return"

func = ->
  <- $skip
  print("done")
  return nil

return nil

get:
local func
func = function()
  return
end
return nil

I don't think the pass' keyword is really necessary! Even in Python, I rarely use it. When I use pass`, I only use it as a placeholder. nothing more?


fix fprint to more intuitive and generic usage

The design of fprint could force the user to write code that is not intuitive. They may have to ignore the semicolon after fprint function. For example:
if(1)
    print("True");
else
    print("False");

The above code couldn't work, and that's because a semicolon is put at the end of fprint. So the compiler would say:
error: ‘else’ without a previous ‘if’

We can fix this by removing the last semicolon in fprint macro.  However, considering that the statement expressions ({...}) is non-standard C, so it could become the limitation for "generic" usage. Also, since we don't actually assign fprint to others(because __print_func return void type), I think we don't need to use statement expressions as well.
Note that the other solution could be to write fprint as a function directly.

I am not sure if I miss anything for the necessity of statement expressions, please tell me if there's a case.


Type 'Iterable' is not an array type or a string type.

I get the following error when importing NgReduxForms:
ERROR in [default] /Users/frederikaalund/Projects/lab/node_modules/ng2-redux-form/source/connect-array.ts:151:32
Type 'Iterable<any>' is not an array type or a string type.

ERROR in [default] /Users/frederikaalund/Projects/lab/node_modules/ng2-redux-form/source/connect-array.ts:247:26
Type 'Iterable<T>' is not an array type or a string type.

ng2-redux-form 1.0.17, Typescript 2.0.3,  Angular 2.0.1.

This is fixed. The package has been upgraded to TypeScript 2 and Webpack 2. Thank you for your report!


Energytick timer only starts whenever in combat.

Energytick timer doesnt start on login, it will start once you have entered combat atleast once. After that it just keeps going. Would love to see it work on login aswell

Thanks for your feedback! I've just uploaded a new version to fix this issue.


PassiveSTS template doesn't send the inbound auth configuration details when creating the applicaiton

Describe the issue:
When we try to create a PassiveSTS app from the console, it doesn't create the inbound auth protocol details in the backend. The root cause for this issue could be due to the request that is sending from the console app doesn't have any inbound auth information in the request payload.
How to reproduce:

Login to the console
Naviaget to the Applicaiton section
Select Standard based applicaiton template
Select PassiveSTS
Create the applicaiton
Once the applicaiton is created, navigate to the protocol section. There will be no information available in there

The below screenshot is the payload of the application and it doen't contain the inbound auth config data

Expected behavior:
Before creating the applction, the PassiveSTS should be ask the protocol information from the user and then send those information in the request.

We also need to change the template name from PassiveSTS --> WS-Federation


Confluence selenium crawler

This code uses Selenium to pull meeting attendance data from FINOS public Wiki pages (hosted on https://finosfoundation.atlassian.net/wiki and publicly accessible).
The PR also updates documentation on how to run metadata-tool locally.

Without tests, I'd be hesitant to remove the nil-checks everywhere, but I think there's ways to do so that make the code a lot clearer. Cool, thanks for adding me as a reviewer.

I think you're right @tschady , we should work on adding tests first. Would you like to propose a PR against the confluence-selenium-crawler branch? Doesn't have to fully cover all the crawling feature, let's start from the simplest ones, ie parse-string.

Regardless of testing, which is an aspect of this codebase that needs much more time allocation, I think this PR is ready to be merged into dev.


create orchestrator configmap

Per conversation with @enisoc: Added a Kubernetes configmap to the orchestrator wrapper scripts. Makes it easier to change the settings while using the default image.

Travis failure is unrelated so ignoring it.


please update precompile for electron 7.1.x

#1254

Is there some stubborn bugs?

Please re-install sqlite3 to v4.1.1

thanks a lot


Integrate Numbers Protocol registration into integrity API server

Task Summary
📅 Due date: March 7, 2022
🎯 Success criteria: Register to Numbers Protocol following same pattern as #53.
Post-editorial content (same ones we register to LikeCoin ISCN) will be registered with Numbers. This will be similar to our integration with LikeCoin (https://github.com/starlinglab/starling-integrity-api/issues/53). In this case we'd have a IOTA wallet, register a CID, that'll allow future iterations of the asset be linked to it. This allows us to aggregate versions (and in the future, attestations) of an asset on IOTA.
Note that the registration chain may change in the near term.
To Do

[ ] See how we are doing #53 in https://github.com/starlinglab/starling-integrity-api/pull/58/files
[x] Manually, from Python with curl, register a piece of data and verify entry on blockchain
[ ] Make a comment on the key materials necessary

Are we using a Starling wallet or Numbers has a wallet they use to register everyone behind the scenes? formerly is generally preferred but latter is acceptable as well, this usually changes whether we are making an API call to a public API or having to run wallet-blockchain coordination code locally. Sort this with Numbers.

[ ] Let @benhylau know what data fields are necessary
[ ] Integrate the registration code into repo according to flow diagram we discussed

Numbers Protocol uses a CID as key to associate entries on AVAX. See (legacy, on IOTA) examples here:
https://explorer.iota.org/mainnet/indexed/6261667962656961376275796c7a7533376c64747567716c32657570793634667733677a6a71796f69766774336a79786536643479756767683234
First we'll register an asset with a Registration Record at creation. Bottom-most here:

We'll use Indexed Messages like this one to add attestation info, referencing the CID key of the original asset. Note that the attestations can come from wallets belonging to other parties.
See above example here: https://authmedia.net/dia-certificate?mid=bafybeia7buylzu37ldtugql2eupy64fw3gzjqyoivgt3jyxe6d4yuggh24
Not all fields are relevant to us, as we are often not registering image content. We'll navigate this with custom UI, but it'll be useful to understand the standard data legend we should populate, or whether the Data JSON can be completely arbitrary:

As a starting point, let's figure out how we can call Numbers API from Python.

API to register a commit: https://github.com/numbersprotocol/enterprise-service/wiki/Web-3.0-API#nit-commit

@bafu can you comment on what I need to do to prepare these for registration? Right now, you see we have simply submitted CIDs to the commit API without any particular schema conformance on assetTree or author. I want to know whether there are expectations on the Numbers side.
See: https://github.com/starlinglab/integrity-backend/blob/f5d22c62d0774e556760dfa21a705d477d4c4a8d/integritybackend/numbers.py#L43-L46

Using Numbers' new API:
Request:
$ curl --location --request POST 'https://node.numbersprotocol.io/version-test/api/1.1/wf/nit_create_asset' \
--header 'Authorization: Bearer [REDACTED]' \
--form 'assetCid="bafybeif3ctgbmiso4oykvwj6jebyrkjxqr26bfrkesla5yr2ypgx47wgle"' \
--form 'assetMimetype="application/octet-stream"' \
--form 'assetTimestampCreated="2022-05-22T09:51:50+00:00"' \
--form 'custom="{\"content1\":{\"sha256\":\"449217b1f3acb0bef5f59baa2a43037cdca19e2ef29f9c8c86a58594f0b6718f\",\"md5\":\"aba7a26c29c8db17442ca4f281573197\"},\"keywords\":\"word1,word2\"}"' \
--form 'nftMetadata="{
    \"name\": \"Ukrainian Soldiers at Saber Guardian 2014\",
    \"description\": \"Ukrainian Soldiers at Saber Guardian 2014 by U.S. Army Europe is marked with CC PDM 1.0.\",
    \"external_url\": \"ipfs://bafybeif3ctgbmiso4oykvwj6jebyrkjxqr26bfrkesla5yr2ypgx47wgle\",
    \"custom\": {\"content1\":{\"sha256\":\"449217b1f3acb0bef5f59baa2a43037cdca19e2ef29f9c8c86a58594f0b6718f\",\"md5\":\"aba7a26c29c8db17442ca4f281573197\"},\"keywords\":\"word1,word2\"}
}
"'

Response:
{
    "status": "success",
    "response": {
        "txHash": "0x0af44f222866ded5ca7b66a0134b0f77ddabf4992b54bd1fd311fe27814b4e04",
        "assetCid": "bafybeif3ctgbmiso4oykvwj6jebyrkjxqr26bfrkesla5yr2ypgx47wgle",
        "assetTreeCid": "bafkreihvggnxxmxvsdbrspf7zmxo4s3e6in4m3z3c3fnuin6aph3kawhmm"
    }
}

Records:

assetTree: https://bafkreihvggnxxmxvsdbrspf7zmxo4s3e6in4m3z3c3fnuin6aph3kawhmm.ipfs.infura-ipfs.io/
nftRecord: https://bafkreihnkmzy5p4bsjmfqwehwwazocu5bgemif3m4zjz2zcx3apvuqibha.ipfs.infura-ipfs.io/
tokenUri: https://bafkreig6pfhgdjcjhwlh5mrjit2r2ket5luy6ir5lt3orscgeqgftpaptm.ipfs.infura-ipfs.io/

Q1: Whether JSONs are stored on somewhere in addition to IPFS

A1: The JSON data is on Infura storage, and I'm adding more storage sources including Numbers node and web3.storage. The update will not affect the APIs' UX.

Q2: How to specify the author

A2: Author's data is an Identity. The Identity's information is JSON, and you can put customized data here


Require veins to be naturally generated for drilling

Currently can be abused by silktouching ores and drilling these with my tests

The ore veins generate inside the chunk data, you cannot move them in-game, they are not in the world. You may have the wrong mod.

i mean within the chunk if i silk touch an ore and place them somewhere else, they're still drillable...

You don't need ore blocks to drill, you can place the drill anywhere in the chunk and it will extract resources, and you can place multiple drills in one chunk (for now). You can extract with hundreds of drills if you can supply the stress units required.

oh lol didn't even realize. are there plans to make it so that it needs blocks or is it just chunk based ?


Link to data formats on landing page doesn't work

On the landing page http://jameshadfield.github.io/JScandy/, the link to 'github page' under the 'Data formats' heading points back to the same page (http://jameshadfield.github.io/JScandy/), it should be to https://github.com/jameshadfield/JScandy.

Sorry, I meant the link should be to http://jameshadfield.github.io/JScandy/intro.html


Profiles have inverted_y as <"True">, should be

It was misleading that in the bundled profiles and in the readme the invert_y option is set to "True".
I tried to set it to "False", but this did not work because "False" is truthy. It turns out it had to be set to false (or omitted of course, as the default is false)
I recommend changing all the profiles using this flag from "True" to true:
invert_y = true

Good point, I've fixed it.


Update constants dj

Update read docs to incorporate new general.py -> GM_moon and mean_elements.py

:books: Documentation preview :books:: https://poliastro--1569.org.readthedocs.build/en/1569/

I don't see any changes in the documentation: https://poliastro--1569.org.readthedocs.build/en/1569/autoapi/poliastro/constants/general/index.html#module-contents
An idea on how to do it: https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#directive-autoattribute
(Came from https://stackoverflow.com/a/40488936/554319)
Also, this pull request needs

a rebase on top of main - for this, you'll have to update your main branch with respect to poliastro/poliastro, and then rebase your update_constants_dj branch.
uncommit the modified images.

@astrojuanlu I have added a few comments with "#:" for docs.

Well, looking at https://poliastro--1569.org.readthedocs.build/en/1569/autoapi/poliastro/constants/general/index.html, I don't see any difference. But the syntax looks correct. Summoning my docs expert @humitos, do you have any idea what might be happening here? (Trying to add docstrings to module properties using the #:  syntax)

@astrojuanlu @DhruvJ22 I think documenting constants with #: is not supported on Sphinx AutoAPI: https://github.com/readthedocs/sphinx-autoapi/issues/344#issue-1322107196 😞

Thanks @humitos, that's too bad. @DhruvJ22 we should abandon this effort for now; thanks for trying it though! Closing


X11: fix _nSetTitle return type

Fixes spurious errors, as the C function has a void return type, thus leaving garbage where JNI expects an object reference. Caused weird NPEs with clang++ 18 on titles longer than 23 chars.

Thank you!


BodyParam of type array doesn't properly generate client code

Problem statement
The client parameter generated method WriteToRequest (found here)[https://github.com/go-swagger/go-swagger/blob/master/generator/templates/client/parameter.gotmpl#L239] seems to incorrectly omit the SetBodyParam when a parameter is defined as in: body and schema.type: array.
Swagger specification
{
  "swagger": "2.0",
  "info": {
    "title": "GoSwaggerClientBodyParameterBug",
    "version": "2.0"
  },
  "paths": {
    "/foo": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "arrayBody",
            "in": "body",
            "description": "an array of json objects",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "properties": {
                  "bar": {
                    "type": "string"
                  }
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request"
          }
        }
      }
    }
  }
}

Steps to reproduce

use the swagger spec described above to generate the client code
note how the client/operations/post_foo_parameters.go:PostFooParams.WriteToRequest is missing the call to r.SetBodyParam(o.ArrayBody)

Environment
swagger version: dev
go version: 1.9.2
OS: macOS 10.13.1

Is this a duplicate of #1309 (fixed by #1310)?
Would need to check if the fix apply in your case as well.

It definitely does not work with current master if body schema is type 'string' and format 'byte'. Generated client code is missing r.SetBodyParam(...).
Didn't check op's case with array.

Did you try with develop? That's where current development is happening.

I see no 'develop' branch, only 'master' where current development is indeed happening. I checked master with #1310 pull request.

Sorry, wrong project. @isinelnikov

I am able to reproduce this issue with the current master, in my test I used an array of objects.


Reordering items with long press support

Describe your changes here. Please include screenshots if they're visual!

[ItemReordering.GestureRecognizer - Now it is a UILongPressGestureRecognizer. Instead of reporting that the drag event started in the update method, we now have gestureRecognizerShouldBegin so we can catch exactly when the press duration requirement has passed.
[ListReorderGesture - It now has Begins, an enum that configures the GestureRecognizer's minimumPressDuration.

Checklist
Please do the following before merging:

[ ] Ensure any public-facing changes are reflected in the changelog. Include them in the Main section.

@kyleve this looks way cleaner after your suggestions.

Looks good; one optional thing. Thanks!


py_spotify_listener.py not working

I created a post in reddit for help and decided to post here too, here is the link
Basically, it is an issue with the playpause module

Hi /u/YoloMyth
Sorry about the late reply, I've been quite busy the past few months.
What's the latest status on this? I can see a few comments on the thread but I'm not sure what works now and what doesn't.
I can at least tell you that the output of the ps aux isn't what it should be. Only the grep is visible but not the process running the py_spotify_listener.py.

I have no idea what is wrong but I only know the .py file is not working. Since then, I find out another way to make it happen. Here is the link if you are interested, it is just some script.

If you run the py_spotify_listener.py script manually, does it show any errors? I see you've been able to get the play and pause button to show but the status doesn't seem to work. That's what the py_spotify_listener.py script is for. It should use that /tmp/ipc-bottom file to trigger a 're-render'.

It doesn't show any errors at that time and not working at all, therefore, I have no idea what is going wrong.

@s0344 can you verify that you have the symlink set up correctly?
I start up mine with:
polybar -c ~/.polybar.conf bottom &
ln -sf /tmp/polybar_mqueue.$! /tmp/ipc-bottom

If you'd like to leave this issue as-is, you can close it.

I have exactly the same issue. I'm happy to try resolve it.
Thank you s0344, your playerctl scripts work great. It's a shame the ipc stream isn't working as it should.

Try again with the latest version. Make sure to go through the readme again as the symlink part has been removed thanks to the above PR.


Confusing typo in wiki

https://github.com/VeliovGroup/Meteor-Files/wiki/remove
is about how to remove Images.
Images.link() needs to be replaced with Images.remove()
I could not find the file in the repo, so sry that it's an issue and not a PR
Thanks a lot for the great work! :)

@janjackson good catch ；）
Fixed.
FYI: Up-to-date docs always can be found at docs directory
Feel free to close it in case if the issue is solved on your end.

Feel free to reopen it in case if the issue is still persists on your end.


Bug/event casting

PR Overview
This PR will address the following Issue/Feature: Internal ticket
This PR will result in the following new package version:

v0.5.1

Please detail what change(s) this PR introduces and any additional information that should be known during the review of this PR:

The original issue was from an internal ticket. Customer was getting this error:

Database Error in model int_klaviyo__event_attribution (models/intermediate/int_klaviyo__event_attribution.sql)
00:39:53    function pg_catalog.date_add("unknown", integer, timestamp with time zone) does not exist
00:39:53    HINT:  No function matches the given name and argument types. You may need to add explicit type casts.

I was able to recreate this issue by forcing our seed data type to timezone with timestamp:

+column_types:
      _FIVETRAN_SYNCED: timestamptz

It give me the same error on the incremental/subsequent run.

This specific issue was fixed by casting _fivetran_synced in the source event model via cast(_fivetran_synced as {{ dbt.type_timestamp() }}) as _fivetran_synced which flows into the int_klaviyo__event_attribution model.

After internal discussion with the data and solutions team, we decided it would be best to cast all IDs used in downstream joins or coalesce functions as string to avoid any downstream discrepancies.

The changes included in this PR include the timezone cast and the string casts.

PR Checklist
Basic Validation
Please acknowledge that you have successfully performed the following commands locally:

[x] dbt compile
[x] dbt run –full-refresh
[x] dbt run
[x] dbt test
[ ] ~dbt run –vars (if applicable)~

Before marking this PR as "ready for review" the following have been applied:

[ ] ~The appropriate issue has been linked and tagged~ (internal ticket only)
[x] You are assigned ~to the corresponding issue and~ this PR
[x] BuildKite integration tests are passing

Detailed Validation
Please acknowledge that the following validation checks have been performed prior to marking this PR as "ready for review":

[x] You have validated these changes and assure this PR will address the respective Issue/Feature.
[x] You are reasonably confident these changes will not impact any other components of this package or any dependent packages.
[x] You have provided details below around the validation steps performed to gain confidence in these changes.

The timestamp datatype issue is resolved as described above. The remaining changes are precautionary.

I also tested the changes in downsteam package via this branch, and everything ran smoothly.

Standard Updates
Please acknowledge that your PR contains the following standard updates:

Package versioning has been appropriately indexed in the following locations:

[x] indexed within dbt_project.yml
[x] indexed within integration_tests/dbt_project.yml

[x] CHANGELOG has individual entries for each respective change in this PR

[ ] ~README updates have been applied (if applicable)~

[ ] ~DECISIONLOG updates have been updated (if applicable)~
[ ] ~Appropriate yml documentation has been added (if applicable)~

dbt Docs
Please acknowledge that after the above were all completed the below were applied to your branch:

[x] docs were regenerated (unless this PR does not include any code or yml updates)

If you had to summarize this PR in an emoji, which would it be?

⌨

@fivetran-joemarkiewicz I see what you mean. The incremental run will have an error if the datatype changes after the initial run. Since we can't guarantee a user's current datatypes, would it be safer to make this a breaking change? I was hoping to avoid updating the transform and hollistic reporting with a breaking change, but then again that probably amplifies the risk too.

@fivetran-joemarkiewicz I have updated this PR to be breaking and added this transform PR. The hollistic package update will be for another day due to Shopify also needing updates.


[Metrics] Class reduction similar to sklearn

What does this PR do?

Fixes #3035
Changes the reduction for accuracy, precision, recall, fbeta, f1 metrics to be similar to sklearn: default will be 'micro' (global measure) with the option of 'macro' (our old standard, unweighted mean of individual scores), 'weighted' (weigted mean of individual scores) and 'none' (return score for each class).
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @SkafteNicki! Thanks for opening this PR.

In the file pytorch_lightning/metrics/functional/classification.py:

Line 253:48: W291 trailing whitespace
Line 257:1: W293 blank line contains whitespace
Line 333:48: W291 trailing whitespace
Line 375:48: W291 trailing whitespace
Line 410:48: W291 trailing whitespace
Line 451:48: W291 trailing whitespace
Line 470:44: E127 continuation line over-indented for visual indent
Line 471:44: E127 continuation line over-indented for visual indent
Line 496:48: W291 trailing whitespace

In the file tests/metrics/functional/test_reduction.py:

Line 30:39: W292 no newline at end of file

Do see the Hitchhiker's guide to code style

just extended the timeout, but not the tests are running super long, about month or two ago we hand testing in 8min, now 30 is not enough... :/

@Borda it seems on master that since commit 9e33a720e38ed9873f0a574480737c4ad08c27bf there is always 9 checks that is being cancelled because they take too long time (not that commit seems to influence this in any way)


Avoid duplicate score reports

set scoreReported to True earlier to avoid duplicate score reports.
I don't know if this fixes the problem entirely but it should. I suspect having scoreReported set to True after the msg = await ctx.send opened the window for a duplicate score report (which I observed in prod yesterday).

LGTM


Drop zones are draggable by default

I'm submitting a ...
[*] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Do you want to request a feature or report a bug?
Bug

What is the current behavior?
Drop zones are draggable by default because a draggable attribute is added to a drop zone.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar.
Add [dnd-droppable] to an element

What is the expected behavior?
Drop zones should not be draggable.

What is the motivation / use case for changing the behavior?
Drop zones should only allow dropping other draggables, not be draggable itself.

Please tell us about your environment:

Angular version: 2.0.0-rc.1
Browser: all

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)
Now the AbstractComponent sets `this.dragEnabled = true;' on line 63. The draggable component also sets the dragEnabled property. I think the draggable component should be the only one that sets dragEnabled to true so line 63 of AbstractComponent can be removed.

I agree that the issue exists. I will investigate it in closest time.

Fixed in 1.8.2
I added emitters for dragStart and dragEnd to the DraggableComponent as well. Please create the new issue for this one if it still necessary:

Perfect thanks, onDropSuccess would be good as well so when dropping on a draggable object within the drop-target the dragged object can get added to the drag target as well.


FlatList onReachedEnd and stickySection is not working

I tried to put a FlatList inside your ParallaxScrollView. Basically, It seems to be worked well, but when I try to use FlatList's StickySectionHeader and onReachedEnd callback, none of them works. OnReachedEnd is never called and StickySectionHeader makes no effects.
I tried to put some logs into renderItems method and I figured out, FlatList always re-render all its items when scroll. As I know, FlatList only draws its items one by one when item appears on screen. When I use FlatList without ParallaxScrollView, It works well
Please help

Hi try something like this
onEndReached={this._ItemLoadMore()}
don't use .bind(this)
this works for me

I also use same as your suggestion. But It doesn't work for me


[ISSUE] directory restructure has no init.py files

Describe the bug
Transposing/pivoting the directories means that the init.py files no longer exist. This makes it much harder to import specific things
To Reproduce
Steps to reproduce the behavior:

Open woffle.
Import something from the project

Expected behavior
Each of the directories should have a good init.py (not just empty) to make working with the toolkit easier

Current submit on master has these to the point that the demo works, should be added for new features as they are implemented


Display not-loaded status with all plugins that have a dir

I think that is useful information, especially given that the error only comes from s:git_validate and is about different branches etc in most cases(?).

@junegunn
Anything holding this back?

Sorry for not responding to this earlier. It just slipped my mind, probably because I couldn't see how useful the additional information would be to the users, but the change is small and it looks good to me.


Flutter plugin - MethodChannel: .invokeMethod() from native iOS to Flutter never reaches Flutter part

I'm having an issue with Flutter plugin development, especially with invoking MethodChannel from native iOS side to trigger Flutter plugin code.
On Android, identical (in terms of logic) code described further works perfectly for both sides (calling from Android / calling from Flutter).
On iOS, I can successfully receive Flutter method calls on native iOS side, but never receive corresponding method calls from native iOS side in Dart plugin code. This is true for iPhone 11(iOS 15.6.1), iPhone X(iOS 15.5) and variety of latest iOS simulators I tried within my environment.
I use VSCode/xCode for developing the iOS side of the plugin.
I've tried to downgrade Flutter version (3.0.5 -> 2.10.3), update/downgrade xCode, clean xCode derived data, reboot hardware etc.
I've created plugin with common template flutter create --org com.mycompany --template=plugin --platforms=android,ios t_plugin
I'm using autogenerated plugin_platform_interface: ^2.0.2 (tried also 2.1.2) and noticed that the package itself has not beed updated for a while (about 7 months).
Steps to Reproduce
Expected results:

methodCall.method in methodChannel.setMethodCallHandler((methodCall) async { ... } is being triggered (or at least visible while debugging within Dart plugin)
result(r) in self.channel!.invokeMethod("onFinish", arguments: nil, result: {(r:Any?) -> () in ... }) is being triggered (or at least visible while debugging within iOS native plugin)

Actual results:
No signs of triggering the Dart method call handler while invoking native channel method from iOS (no logs/triggers on any side).

Code sample
Swift:
import Flutter
import UIKit

public class SwiftTPlugin: NSObject, FlutterPlugin, FlutterApplicationLifeCycleDelegate {

    private var channel: FlutterMethodChannel? = nil

    public static func register(with registrar: FlutterPluginRegistrar) {
        let channel = FlutterMethodChannel(name: "f_plugin_test", binaryMessenger: registrar.messenger())
        let instance = SwiftTestPlugin()
        instance.channel = channel
        registrar.addMethodCallDelegate(instance, channel: channel)
        registrar.addApplicationDelegate(instance)
    }

    public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
         // Method call handling coming from Flutter side is working fine
    }

    public func finish() {
        if (self.channel == nil) {
               print("CHANNEL IS NIL!");  // Never comes here, which means channel should be valid and is existing
         } else {
            print("CHANNEL IS _NOT_ NIL");  // Prints
         }

          //Tried shorter method implementations - result is the same
          self.channel!.invokeMethod("onFinish", arguments: "TEST", result: {(r:Any?) -> () in
                 print(r.debugDescription);  // Never comes here
          })
     }
 }

Dart:
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:t_flutter/t_flutter.dart';
import 't_flutter_platform_interface.dart';

 const methodChannel = MethodChannel("f_plugin_test");

 /// An implementation of [VcheckFlutterPlatform] that uses method channels.
 class MethodChannelTFlutter extends TFlutterPlatform {

  @override
  void start() {
     methodChannel.setMethodCallHandler((methodCall) async {
       debugPrint("CAUGHT METHOD WITH HANDLER: ${methodCall.method}");  // Never comes here
       switch (methodCall.method) {
         case "onFinish":
           debugPrint("onFinish"); // Never comes here
           return;
         default:
           throw MissingPluginException('Not Implemented'); // Never comes here
       }
     });
 }

Logs
No error logs received nor while debugging in xCode, neither in VSCode.
flutter analyze summary:
   info • Prefer using lowerCamelCase for constant names • example/lib/main.dart:8:14 • constant_identifier_names
   info • Prefer using lowerCamelCase for constant names • example/lib/main.dart:9:11 • constant_identifier_names

flutter doctor summary:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.1 21C52 darwin-x64, locale
    uk-UA)
[✓] Android toolchain - develop for Android devices (Android SDK version
    32.0.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.70.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

Please provide a complete, runnable test case that we can use to try to reproduce this. You've only shown partial code that is missing critical elements (for instance, you aren't showing any code that calls the method that sets the handler on the Dart side, so it's not clear if that code is ever run).

@stuartmorgan so, the reason of described behavior itself was 100% in changing root view controller from FlutterViewController to my custom iOS UIViewController (reason - plugin had a reference to native SDK which used its own storyboard).
Sorry for the inconvenience: the issue may be closed, though I'd put some feature request to clarify that inconvenience for native iOS plugin users in documentation.

Hi @kkaun, thanks for filing the issue.
Based on https://github.com/flutter/flutter/issues/109875#issuecomment-1221988781, it looks like this is a known issue being tracked at #52456. Please take a look at that issue and see if it is similar to your case.

Hi @kkaun, thanks for confirming.
Closing this issue as a duplicate, so please follow up on it for further updates. You can leave there your comment and react an upvote to the original comment will help to raise the issue.


Add acronym exercise

I had to unset unlocked_by in config.json to pass the checks, which I've been referencing from the C# config file. I assumed they would be the same across all tracks but maybe this is decided per track?
Curious if that's also the case with topics and difficulty as I'm seeing different values in different tracks.

Yes, these are indeed per track.
As eg. a two-fer style exercise is pretty easy on python, where it can be implemented in a single line, though in something like C, it requires a good understanding of how "strings" and variadic arguments work, and therefore has different prerequisites to be understood.
Also, it doesn't make sense to have topics globally, as some languages might attach the "classes" topic or "custom operators" to the list-ops exercise, though both of these wouldn't make any sense in Erlang or Elixir, as both languages have neither "classes", nor the ability to define "custom operators".

@NobbZ
Ok, that makes sense. In that case I would need to put more thought into them rather than relying on the terminology and ordering of other tracks.
Thanks for the explanation.


How to get image from current frame?

How to get image from current frame?
I did
-(UIImage*)getPlayerCurrentFrame {
UIGraphicsBeginImageContext(plplayer.playerView.frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[plplayer.playerView.layer renderInContext:ctx];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
but it doesn't work.

[plplayer.playerView valueForKey:@"avPlayerView"]
or
[plplayer getScreenShotWithCompletionHandler]

Thank you so much :)


What's a good way to deal with std::chrono::duration

We have a lot of optionals of the form optional<std::chrono::microseconds>. This in principle seems like a great candidate for the integral-based optionality, e.g. by storing std::chrono::microseconds::min() as the sentinel. However, I can't seem to get that to work with any of the existing types. Is there something I am missing or are there some complexities here preventing a duration from being stored inplace?

Maybe I just need a flag manipulator like this?
struct MicrosecondsFlagManipulator {
  static bool is_empty(const std::chrono::microseconds& t) noexcept
    {
        return t == std::chrono::microseconds::min();
    }

    static void init_empty_flag(std::chrono::microseconds& t) noexcept
    {
        ::new (&t) std::chrono::microseconds(std::chrono::microseconds::min());
    }

    static void invalidate_empty_flag(std::chrono::microseconds& t) noexcept
    {
        std::destroy(t);
    }

};

The obvious thing
tiny::optional<std::chrono::microseconds, std::chrono::microseconds::min()> o;

does not work because std::chrono::duration is not a literal class type (and only those are supported as non-type template parameters by C++).
However, you can use tiny::optional_sentinel_via_type:
struct MicroSecondsSentinel
{
  static constexpr auto value = std::chrono::microseconds::min();
};

tiny::optional_sentinel_via_type<std::chrono::microseconds, MicroSecondsSentinel> o;

(and maybe abbreviate that with an appropriate alias). This works because std::chrono::microseconds::min() is constexpr.
Writing a custom MicrosecondsFlagManipulator as you did would work in principle. However, it is brittle, because you cannot place the MicrosecondsFlagManipulator right below the definition of std::chrono::microseconds because you cannot modify the <chrono> header. I explained the problems with this approach in the readme.

Thanks!


how to remove nodes from restored graph?

hi, all:
I restored a graph from a meta file.
    saver = tf.train.import_meta_graph(LOCAL_TRAINED_MODEL_DIR+'/saved_model-0.meta')
    saver.restore(sess, tf.train.latest_checkpoint(LOCAL_TRAINED_MODEL_DIR))
    graph = tf.get_default_graph()

how could I delete some nodes from the default graph? The nodes can be accessed by get_tensor_by_name(). and could I reuse the trained weights please?
Thanks!

This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.
If you think we've misinterpreted a bug, please comment again with a clear explanation, as well as all of the information requested in the issue template. Thanks!


Support installation through PHIVE

Github releases
To distribute phars via Github in a PHIVE compliant way, it needs to be made available as an attachment to a release - alongside with a valid gpg signature. For PHIVE to pick it up, the filenames need to end on ".phar" and ".phar.asc" respectively.

See:

https://phar.io/distribute-your-own.html
https://phar.io/howto/sign-and-upload-to-github.html

Resolved by #21


Make CreditCard::creditCardType() public.

Payment gateway APIs require the credit card type in request parameters but why prompt users in the UI to select it when Visa, Amex, etc. can be automatically recognized at the time of performing auth or capture? validCreditCard() with $type as input is useful if the CC details are being stored now without pre-auth until a later date when e.g., a subscription renewal occurs. Otherwise let the payment gateway reject the card number.
Combined with https://github.com/inacho/php-credit-card-validator/pull/4 this will add credit card recognition so the correct type can be submitted to payment gateway APIs.
public function getTypeForGateway($type)
{
    CreditCard::TYPE_AMEX:
        return 'Amex constant specific for that payment API';

        break;
    CreditCard::TYPE_DANKORT:
    CreditCard::TYPE_DINERS_CLUB:
    CreditCard::TYPE_DISCOVER:
    CreditCard::TYPE_FORBRUGSFORENINGEN:
    CreditCard::TYPE_JCB:
    CreditCard::TYPE_MAESTRO:
    CreditCard::TYPE_MASTERCARD:
    CreditCard::TYPE_UNION_PAY:
    CreditCard::TYPE_VISA:
    CreditCard::TYPE_VISA_ELECTRON:
        // etc.

        break;
}

public function auth($creditCard)
{
    $payloadForApi = [
        'type' = $this->getTypeForGateway(CreditCard::creditCardType($creditCard->number));

        // ...
    ];

}

For one use case I ended up creating an intermediate wrapper class:
class InachoCreditCard extends \Inacho\CreditCard
{
    public static function getCardType($number)
    {
        $type = strtoupper(static::creditCardType($number));

        // CreditCardType contains constants for Moneris
        if (CreditCardType::isValidValue($type)) {
            return $type;
        }

        return null;
    }
}

+1

+1


Feature: Restricted SSH access

As of v0.9.4-rc.3, SSH access is granted to all addresses for controllers, workers, etcd. As an extra layer could we support restrictions on that?
In the case of public controllers but private etcd and workers, generally there may need to be a way to gain SSH access to the private workers by tunnelling through the public controllers. i.e. SSH access allowed from controller SG to worker SG. We could also say that we just support custom bastion and IP address/SG of the bastion has to be provided to allow SSH access to private assets.

+1 for this.
I feel like there's some overlap with the "glue" security groups feature. If glue SGs where available to the workers, controllers & etcd user would be free to define their security controls as necessary. This would rely on being able to disable the SSH/<IP_ADDRESS> rule.

@c-knowles @swestcott How about adding sshAccessCIDR to cluster.yaml?
It will default to <IP_ADDRESS>/32 to keep backward compatibility but can be customized regardless of the subnet in which a worker/controller node is private/public.
Perhaps,<IP_ADDRESS>/32 for private worker/controller nodes doesn't hurt? Or do we need a flag to disable the access completely?
An example cluster.yaml would look like:
worker:
  nodePools:
  - name: pool1
    sshAccessCIDR: <IP_ADDRESS>/32
  - name: private1
    sshAccessCIDR: <bastion subnet's CIDR>
    subnets:
    - name: privateSubnet1

controller:
  sshAccessCIDR: <bastion subnet's CIDR>

etcd:
  sshAccessCIDR: <bastion subnet's CIDR>
  subnets:
  - name: privateSubnet1
  ...

Looks good, could sshAccessCIDR be a list of ranges inside?

Yes, with the name sshAccessCIDRs
2017年3月24日(金) 18:42 Si Westcott<EMAIL_ADDRESS>
Looks good, could sshAccessCIDR be a list of ranges inside?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-incubator/kube-aws/issues/338#issuecomment-288976523,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABV-Zmu2-bKdIXTGC9ViczPTIu2PhVFks5ro4_ngaJpZM4MIHF4
.

@mumoshu your above idea seems good, I also would be fine with defining it ourselves in the glue SGs etc and then disabling <IP_ADDRESS>/32 somehow like @swestcott mentioned. I assume nothing internal within the cluster needs SSH access for it to function. The only "harm" I can think of if always adding <IP_ADDRESS>/32 to private nodes is those are then potentially accessible via public nodes in the same VPC (there could be many others). I think it's better practice to make these sorts of things non-global and more specific.

Thanks @c-knowles!
How about setting sshAccessCIDRs to an empty list or nil to disable <IP_ADDRESS>/32?
cluster.yaml would be like:
worker:
  nodePools:
  - name: pool1
    sshAccessCIDRs:
    securityGroupIds:
    - <your-glue-sg-may-or-may-not-include-your-own-ssh-access-cidrs>

Assuming we can tell the difference between setting it to empty and it not being there in the YAML parsing, I think that's ok. Not entirely intuitive but I can't think of a better way right now. The only other ideas I had would be if the template just contained the following as the default, it's more verbose but it also makes the default immediately clear.
worker:
  nodePools:
  - name: pool1
    sshAccessCIDRs: <IP_ADDRESS>/32
#    securityGroupIds:
#    - <your-glue-sg-may-or-may-not-include-your-own-ssh-access-cidrs>

Not setting the sshAccessCIDRs would mean no SSH access but kube-aws would still work as it did out of the box.

Thanks @c-knowles, your latter idea seems certainly verbose but clear. Hmm, I'll think of it for a while to see what's the most reasonable now.

Hmm...
worker:
  nodePools:
  - name: pool1
    # CIDRs of networks you'd like SSH accesses to be allowed from. Defaults to ["<IP_ADDRESS>/32"].
    # Explicitly set to an empty array to completely disable it. If you do that, probably you would like to set securityGroupIds to provide this node pool an existing sg with a ssh access allowed from specific ranges.
    #sshAccessCIDRs:
    # - <IP_ADDRESS>/32
    securityGroupIds:
    - <your-glue-sg-may-or-may-not-include-your-own-ssh-access-cidrs>

Looks fine, I'm a fan of having more of the defaults being uncommented but not sure of your views on that. I was also wondering if we could publish a defaults YAML file in kube-aws somewhere and load default from there rather than spread across the code.

Any specific reason you'd like it to be a yaml file?
Would it be better to introduce defaults.go which is dedicated to define default values, so that we can utilize the power of go tool-chain like formatting, compile-time errors, etc?
package model

type workernodepool struct {
	Foo string
	Bar string
}

type Worker struct {
	Foo      string
	NodePool workernodepool
}

var Defaults = struct {
	Foo    string
	Worker worker
}{
	Foo: "foo",
	Worker: Worker{
		NodePool: workernodepool{
			"foo",
			"bar",
		},
	},
}

I thought a YAML would be good to mirror the non-defaults file but I guess defaults for something like worker node pools won't be representable in the same format anyway. A defaults.go would be good.

Is it possible to extend this to limiting external HTTPS traffic as well  (current rule) - perhaps by adding apiAccessCIDRs? I need to be able to limit SSH and access to the Kubernetes API to a list of IPs. I suspect if apiAccessCIDRs is introduced, the internal access needs should be added explicitly to the template (so as to not rely on the <IP_ADDRESS>/0 rule) - such as allowing HTTPS traffic from the worker security group(s).
For the specific implementation - sshAccessCIDRs/apiAccessCIDRs (with default ["<IP_ADDRESS>/0"]) would satisfy my use-case.

@jpb We've added the apiEndpoints setting key for more fine-grained control of API endpoints hence ELBs backing them. I believe it is developed flexible enough to support your request.
Perhaps adding something like apiEndpoints[].loadBalancer.allowedSourceCIDRs which defaults to - <IP_ADDRESS>/32 but is capable of customizations as you like would suffice your request?
Anyway, I'd appreciate it if you could submit an another github issue to address it 🌷

I began to prefer sshAllowedSourceCIDRs rather than sshAccessCIDRs for more clarity

It turned out that:

Compared to the ones for etcd and controller, implementing worker.sshAccessAllowedSourceCIDRs is a bit more difficult than I have initially thought
We didn't have etcd.securityGroupIds and controller.securityGroupIds to attach existing SGs to allow SSH accesses when sshAccessAllowedSourceCIDRs was explicitly set to an empty array

I've submitted #551 for this.
@c-knowles @swestcott @jpb Would you mind testing it?

@mumoshu I've tested #551 and it worked as expected 👍

Cool, have been meaning to look for some SSH hardening and looks like it's been here for awhile.
I've been just rolling my own here with a basic 'finishing' script (post kube-aws up) to configure our SSH access upon cluster deployment.  I just run this immediately after cluster deployment to remove world access and allow our allowed subnets to hit our kube nodes--else we see hackers all over the world start their brute force hacking within a few minutes if our clusters are on public nets.  That was kinda funny to watch in the kube nodes logs  ;-)
With this basic script (for AWS EC2 SG's) it only allows SSH access from within our AWS EC2 and current VPN CIDR ranges.  Perhaps it might be useful for others. Disclaimer some pretty gnarly piping here, the tricky part is filtering with jq, but works reliably for me YMMV.
printf "\ngrep kube clusterName from cluster.yaml file setting in the current directory\n"

kube_cluster=$(grep 'clusterName:' ./cluster.yaml | awk -F ": " '{print $2}')

# get our desired kube cluster nodes
# not reliable using text output if the group descriptions are modified, etc
for kube_sg_id in $(aws ec2 describe-security-groups --filters Name=vpc-id,Values=vpc-abc12ca3 | jq -r '.SecurityGroups[] | [.GroupId, .GroupName] | @csv' | grep -i "$kube_cluster" | awk -F ',' '{print $1}' | sed 's/"//g') ; do
    printf "KUBE-SG-ID: $kube_sg_id\n"

    # first we remove the world-access
    aws ec2 revoke-security-group-ingress --group-id ${kube_sg_id} --protocol tcp --port 22 --cidr <IP_ADDRESS>/0

    # now we grant sane default SSH rules for EC2 and VPN admin access
    aws ec2 authorize-security-group-ingress --group-id ${kube_sg_id} --protocol tcp --port 22 --cidr <IP_ADDRESS>/20
    aws ec2 authorize-security-group-ingress --group-id ${kube_sg_id} --protocol tcp --port 22 --cidr <IP_ADDRESS>/24

    printf "\nawless show kube_sg_id: ${kube_sg_id}\n"
    awless show ${kube_sg_id}
done

printf "\nSecurity Group IDs for Kubernetes Cluster: $kube_cluster\n"


move Javascript from page.php to script.js

Move Javascript into a separate file which helps with readability and can be used later to do separate testing or linting.
Small changes only:

Fix one typo in index.php
page.php write a data structure which script.js later reads. Example

<script type="text/javascript">
//<!--
	var init_l0_map = {"center":[30,0],"zoom":2,"force":false};
-->
</script>

Use document.querySelector() instead of document.forms['f'].elements['comment'] to find DOM elements
Use document.addEventListener() instead of L.DomEvent.on()

Nice, I thought of doing it myself last week :)


Cannot start server "No Startup file is defined for this server"

After changing startup command variables I cannot launch my servers anymore, I get the message :
Server is starting...
[ERROR] No startup file is defined for this server. Please contact support and let them know about this error.

I changed the start command variables from :
spigotjar|/home/hardcraft/servers/jars/spigot-1.8.7.jar
to :
spigotjar|/home/hardcraft/servers/jars/spigot-1.8.8.jar
And the two files exist on the file system.
I tried to changed back to 1.8.7 but it displays the same error message, although it used to workd before I changed to 1.8.8.
What can I do ?

I have two possible answers for this:
1. What is your startup command? You have provided us with the startup variables.
2. Check the permissions on the two files and make sure Scales has read, write, execute access.
Also, the way you're running PufferPanel seems odd, why not just put the spigot.jar in your server?

I meant  startup variables, these are the startup variables.
I do it that way to have one jar in one place, to avoid the need to copy it in every server when I need to update.
I'll check you 2nd suggestion but I doubt it because when I put back to 1.8.7 it didn't work although it worked before I changed to 1.8.8

The permissions are the same on the two files and I didn't changed them. It's not a permissions problem.
What does No startup file is defined for this server mean ? What script ?

Ok this was a bug of the panel adding a space in front of the startup variables.
It happens from time to time, not a blocker, but you need to pay attention if it added a space or not.


wish to provide lsquic_stream_reset api

I do not found how to reset a stream!
I want to notice peer the stream is not expected end(also no content-length response header).  do not cache the content.

I direct call lsquic_stream_maybe_reset now!


[Feature] Backend should be able to return json instead of rendering

Expand functions with json response.

Related to TUI which is not going to happen


question about layers/transparency

We're a group of students looking for a drawing library to use for a game we're making, and we love Atrament, but we need something that will save the drawing on a transparent background so we don't have the white square of canvas. I didn't know if there was a way to do that using Atrament, but thought I'd ask.

I don't know why I thought it didn't automatically do this...but we figured it out.

@ndmetrick thank you for reaching out! yes indeed Atrament simply draws on top of whatever is on the canvas, so by default that's a transparent background. Glad to hear you're using Atrament for your game, I'd be happy to check it out if you want :)


Replace sankey with alluvial plot

Fixes bug in ggplot2 by replacing the sankey diagram with an alluvial plot
Mirrors the fix uses in sDAS
Adds the 'parcats' and 'easyalluvial' packages to NAMESPACE

Note: I used target_demoData for the post-QC Aulluvial plot because the text mentioned removing both (i) segments flagged by QC, and (ii) low detection rate. In the original workflow, post-QC demoData was used.

All changes have been made and re-tested the knit. Ready for a follow-up review @NicoleEO .

@mahitha-raj @NicoleEO I fixed the DE plots. I added the changes here because I couldn't get the vignette to knit on the main branch due to the sankey issue. The alluvial plots look good!

Resolves issue #21


update proposed rfcs included in aip to accepted

Saw that RFC 0510 and 0646 were still in proposed state, even though they are included in AIP2.0
Not sure what to do with the links in the AIP RFC, as it seems they all use the same commit. Can I just update the link to the newer commit for these two RFCs? No change has been made besides the proposed -> accepted

OOB is completely missing AIP2.0: https://github.com/hyperledger/aries-rfcs/blob/master/features/0434-outofband/README.md

@TimoGlastra -- could you please add OOB to the PR.  I think it is more than ready.  I just missed it...thanks for catching it.

Done. Also updated the static peer dids to accepted as it's part of AIP2.0.

Also LGTM.


Unable to access WSL2 Ubuntu ports from other LAN connected PCs

Environment
Windows [Version 10.0.19042.450]
Ubuntu 20.04 LTS
The issue is on WSL 2

# Steps to reproduce
1) Set up ssh on WSL2-Ubuntu-20.04 (I use port 9561)
2) From Win10, use ssh to access the ssh port 9561 using localhost (this works - see grab)
3) Then try ssh to access using the Win10 PC ip addr (<IP_ADDRESS>). This fails - see grab).
4) Same problem when trying to access <IP_ADDRESS>:9561 from remote PCs.  A screen grab
   shows attempt to access <IP_ADDRESS> from <IP_ADDRESS> (fails) but ssh to <IP_ADDRESS> (a Ubuntu
   server 18.04 running on an Odroid micro PC works fine.

![in-bound-rules-1](https://user-images.githubusercontent.com/399801/91004103-9a436b00-e616-11ea-86bf-1315607de61d.jpg)
![ipconfig-on10 0 0 19-1](https://user-images.githubusercontent.com/399801/91004104-9b749800-e616-11ea-8805-4e290a8c60df.jpg)
![ssh-from-10 0 0 17-to-10 0 0 19-a](https://user-images.githubusercontent.com/399801/91004105-9c0d2e80-e616-11ea-8269-31551aa8042a.jpg)
![ssh-from-win10-to-wsl2-a](https://user-images.githubusercontent.com/399801/91004106-9ca5c500-e616-11ea-8e70-02b07ee3d5e8.jpg)
![Win10-netstat-1](https://user-images.githubusercontent.com/399801/91004108-9d3e5b80-e616-11ea-8067-a27fcfd9a16a.jpg)

#  Expected behavior
On my Win 10 PC <IP_ADDRESS>, I expected ssh<EMAIL_ADDRESS>-p 9561 to work the same as ssh doug@localhost -p 9561.

<!-- A description of what you're expecting, possibly containing screenshots or reference material. -->

# Actual behavior
See grabs

In essence I am expecting the WSL2 Ubuntu Server to act just like a Virtual Host under Hyper V.
I have other PCs that run Hyper V and I can access them and their ports ok.

On thinking further about this problem.   As mentioned I can access Hyper-V computers on my LAN.
What it seems is that the WSL2-Ubuntu-20.04 is a virtual machine but while I can access that virtual machine from its host
WSL2 PC running Win 10, I can only do so using 'localhost' as the ip-address.
In effect, I don't know what hostname or ip address (apart from 'localhost' will allow me access to the Ubuntu-20.04 running under WSL2. Especially from other PCs on the LAN.
The WSL2 Ubuntu-20.04 system can see all my other LAN attached PCs and I can SSH to any of them.

/dupe #4150

Hi! We've identified this issue as a duplicate of another one that already exists in this repository. This specific instance is being closed in favor of tracking the concern over on the referenced thread.
Thanks for your report!

I just did a further test that showed my problem is due to having more than one Linux distro installed (I had previously had Ubuntu 18.04 & added Ubuntu 20.04 whil upgrading). The moment I added the 20.04 distro, I was no longer able to access either 18.04 or 20.04 remotely other than via 'localhost' on the hosting Win10 PC.
My short term fix is to remove the 18.04 distro.


Prevent standard select box from showing/loading on page load/refresh

Hello. When the page loads (or is refreshed), for a fraction of a second (more on a slower connection), we can see the standard select box and than we see the proper selectric. Can it be changed so that we do not see the standard select box? I have managed to capture it with print screen

You could do something like this, in your css:
select {
  visibility: hidden;
}

.selectric-hide-select select {
  visibility: visible;
}

Hello. Thanks for the reply.
This issue is solved with the code you provided but i have found another issue. When i used the android gingerbread browser, the selectric select box was not present. So, your script is mobile compatible or not? Thanks
In desktop i've set it up like i wanted and works nice.

It's disabled by default on mobile browsers.
You can change the option disableOnMobile to false if you want it working on mobile.

Can you tell me why you disable it on mobile? It mess something? Thanks

i have to change disableOnMobile:!0 in disableOnMobile:false     ?

Set this option when you're calling the plugin. Like this:
$('select').selectric({
  disableOnMobile: false
});

Don't modify the plugin file itself.
It's disabled by default because generally, the behavior of native <select> element on mobile is better, optmized for touch/small screens.

Hello again. I have applied and now the selectric select appears on mobile but, on click to expand it, we should see the normal android option select. I am telling this because i see the dropdown but i can't scroll down to chose another option.
So, the script should show the converted select (just the main like Select a category) and use the android normal selection of value when you click on Select a category. Any ideea?

This is not possible yet. Although, I have plans to implement this in future versions.

That is after me the only missing feature. Script works great even on ie8 but must be mobile compatible. Thanks for your support


Add service maintenance page

Context
Add service maintenance page
https://trello.com/c/E7mn31J2/2003-register-add-maintenance-page
Changes proposed in this pull request
Add maintenance page scripts from template
Add enable/disable maintenance workflows
Guidance to review
test in staging env (when ok with devs)
Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?
[ ] Do we need to send any updates to DQT as part of the work in this PR?
[ ] Does this PR need an ADR?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 Register - add maintenance page

Amazing, can we have a demo, pretty please 👏👏👏
This looks like something that can be extracted to it lonesome repo and be made shareable.

It's built from the template in the teacher-services-cloud repo, see https://github.com/DFE-Digital/teacher-services-cloud/blob/main/documentation/maintenance-page.md#initial-configuration


Method to complete clustering of Timeline Items

Added a issue to the vis.js repository (almende/vis#4136), however have not had a response yet.
Thought I'd reach out here to see if anyone had thoughts on how this can be achieved.
Thanks.

We are currently working on a possible solution for this.
Hope it can be done soon

Is there anything I can do to help get a solution working?
On Mon, 1 Oct 2018 at 18:59, Yotam Berkowitz<EMAIL_ADDRESS>wrote:

We are currently working on a possible solution for this.
Hope it can be done soon
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yotamberk/timeline-plus/issues/53#issuecomment-425836074,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEyf1r8kziEWXy4Q33eT9mB4go1Zob17ks5ugdlvgaJpZM4W9xA-
.

--
Regard,
David Spackman
+61 408 991 470

@yotamberk,   could you please take a look at my pull request  ?

@yotamberk, i had implemented clustering prototype, could you please take a look at my pull request  ?

Added with #87


Add regexp/require-reduce-negation rule

close #574
I found a bug in regexpp while implementing this rule. We need to fix that first.
https://github.com/eslint-community/regexpp/pull/136
If you have an idea for a better rule name, please let me know. I can rename the rule name.

Now that regexpp has been fixed, I think it's ready for review.

Also, the code for getting escapes right when inlining character classes looks very complex. Maybe we could say that this rule only removes negations and doesn't inline character classes? E.g. [[^a][^b]] -> [^[a][b]]. We would leave the inlining to no-useless-character-class. What do you think?

We would leave the inlining to no-useless-character-class. What do you think?

I think that's a good idea! I will change the rule.


add fromJSRef

add fromJSRef method to ImageUtil

Summary
add fromJSRef method to ImageUtil as described here https://github.com/pytorch/live/issues/30
This method allows wrapping NativeJSRef objects, which are returned by MobileModelModule after tensor_to_image unpacking, as Images.

Changelog

add fromJSRef method to ImageUtil

Thanks for submitting this change, @Sxela!
The change looks good! I'll import it for internal review!
If anyone is interested in additional context:
Context
The "old" React Native architecture uses a bridge to send messages between the JS thread and main thread. These messages are serialized JSON, and worked well for reasonably sized messages, but is slow for large messages and fails for non-serializable objects (e.g., a non-serializable object like a Bitmap or a CGImage can originate from a camera). The current approach in PyTorch Live is to keep these non-serializable objects native, but make them accessible in the JS thread via IDs. These IDs are passed across the bridge as small serializable message and allow calling functions like scale or release on an image. In PTL, these messages are broadly referred to as JSRef.
Example JSRef for a non-serializable image that's passed across the bridge:
{ID:"5AD79901-C651-4994-9C99-23B23216B8F4"}

To make it more convenient to work with these JSRefs in JavaScript, they are wrapped in JavaScript objects exposing functions like scale or release.
Example:
function handleImage(image: Image): void {
  image.release();
}

Under the hood, this wrapper calls the methods on the NativeModule ImageModule.
// Ref is a JSRef like {ID:"5AD79901-C651-4994-9C99-23B23216B8F4"}
ImageModule.release(ref);

Issue
Inference results that return JSRefs aren't wrapped in their respective JavaScript type (e.g., Image), which means devs cannot use the convenient functions on the images (like scale, release, etc.). Exposing wrapRef through ImageUtil will at least allow wrapping a JSRef manually.
Ideally, it would be great to not expose those helper functions. However, it would require PyTorch Live core to somehow parse the inference result and wrap it transparently, so the dev can use the Image type rather than the JSRef.
If you followed recent commits, you might have seen the JSI configuration for Android and iOS. Eventually, we will have support for the "new" React Native architecture, which makes problems like this eventually go away. That said, it is a good stop-gap solution to unblock the community in the meantime 😉


fix(debug): add config, parent_config to checkpoint debug events, add state to debug tasks

Looks fine, would just say let's avoid the circular type import. They are cursed in general.

Hi, I'm not sure if this is the right place to report this but the latest release of langgraph studio seems to have broken something.
We are a team of 6 using langgraph studio all on various version of OS x and all getting the below error. Everything worked ok until 8 hours ago and then docker image langchain/langgraphjs-api updated. This looks like it was also deployed 8 hours ago so thought it may all be connected?
We are running almost the default setup of this template https://github.com/langchain-ai/retrieval-agent-template-js
Do you know if there is anything we can do to force lang graph to use a previous docker image? Let me know if there is any other info that would be useful or if there is a better place to report this.
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/uvicorn/protocols/http/httptools_impl.py", line 401, in run_asgi
result = await app(  # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/starlette/applications.py", line 113, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in call
raise exc
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/cors.py", line 93, in call
await self.simple_response(scope, receive, send, request_headers=headers)
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/cors.py", line 144, in simple_response
await self.app(scope, receive, send)
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/base.py", line 185, in call
with collapse_excgroups():
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/contextlib.py", line 158, in exit
self.gen.throw(value)
File "/usr/local/lib/python3.12/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/base.py", line 187, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/langgraph_license/middleware.py", line 26, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/base.py", line 163, in call_next
raise app_exc
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/base.py", line 149, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/api/langgraph_api/shared/http_logger.py", line 58, in call
File "/api/langgraph_api/shared/http_logger.py", line 52, in call
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
raise exc
File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 460, in handle
await self.app(scope, receive, send)
File "/api/langgraph_api/auth/middleware.py", line 36, in call
File "/usr/local/lib/python3.12/site-packages/starlette/middleware/authentication.py", line 48, in call
await self.app(scope, receive, send)
File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/api/langgraph_api/shared/route.py", line 118, in handle
File "/usr/local/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/api/langgraph_api/shared/route.py", line 37, in app
File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
raise exc
File "/usr/local/lib/python3.12/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "/api/langgraph_api/shared/route.py", line 32, in app
File "/usr/local/lib/python3.12/site-packages/langgraph_storage/retry.py", line 27, in wrapper
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/api/langgraph_api/api/threads.py", line 179, in get_thread_history_post
File "/usr/local/lib/python3.12/site-packages/langgraph_storage/ops.py", line 571, in list
return [
^
File "/api/langgraph_api/js/remote.py", line 224, in aget_state_history
File "/api/langgraph_api/js/remote.py", line 180, in _convert_state_snapshot
File "/api/langgraph_api/js/remote.py", line 156, in _convert_tasks
KeyError: 'path'

Hello @georgeevans1995! Should be fixed now with latest API image, sorry about the issues caused!

Yep thats working again now, thanks for resolving it so quickly


ensure that the inline cookie header will be folded correctly

Signed-off-by: wbpcode<EMAIL_ADDRESS>Commit Message: ensure that the inline cookie header will be folded correctly
Additional Description:
This PR is a supplement to #17330 and #14969 and will finally close #17234. This PR mainly did following works:

update insertByKey to choose suitable delimiter for inline header.
update parseCookie to avoid unnecessary iteration for parsing cookie value.

Risk Level: Low.
Testing: Add.
Docs Changes: N/A.
Release Notes: N/A.

cc @alyssawilk

/retest

(Will defer to @alyssawilk to merge on Monday in case she has further comments.)


Introduce Set universe

This is a polymorphic universe which is completely different from Type, and is valid in type signatures, but is different from Type.
With that introduced, Partial elements (and cubical subtypes which we don't have yet) will live in Set and not Type.

Subtask of #449


Walkthrough console as non-cf admin

Currently get all users will fail
Ensure there are no other funnies

Known issues

list users via /users fails
empty values in cf org list org card

Old issue, closing


[SB sample update ] Incorporating feedback for the merged pr https://github.com/Azure/azure-sdk-for-java/pull/29702

API change check
API changes are not detected in this pull request.


vue create default template that will not build

Version
3.11.0
Reproduction link
https://gist.github.com/cameroncf/09c88edf99a7ed74a2a693d8816ee964
Environment info
 System:
    OS: macOS 10.14.6
    CPU: (8) x64 Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
  Binaries:
    Node: 12.10.0 - ~/.nvm/versions/node/v12.10.0/bin/node
    Yarn: 1.17.3 - /usr/local/bin/yarn
    npm: 6.10.3 - ~/.nvm/versions/node/v12.10.0/bin/npm
  Browsers:
    Chrome: 77.0.3865.75
    Firefox: 66.0.3
    Safari: 12.1.2
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.0.0
    @vue/babel-preset-app:  3.11.0
    @vue/babel-preset-jsx:  1.1.0
    @vue/babel-sugar-functional-vue:  1.0.0
    @vue/babel-sugar-inject-h:  1.0.0
    @vue/babel-sugar-v-model:  1.0.0
    @vue/babel-sugar-v-on:  1.1.0
    @vue/cli-overlay:  3.11.0
    @vue/cli-plugin-babel: ^3.11.0 => 3.11.0
    @vue/cli-plugin-eslint: ^3.11.0 => 3.11.0
    @vue/cli-service: ^3.11.0 => 3.11.0
    @vue/cli-shared-utils:  3.11.0
    @vue/component-compiler-utils:  3.0.0
    @vue/preload-webpack-plugin:  1.1.1
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: ^5.0.0 => 5.2.3 (4.7.1)
    vue: ^2.6.10 => 2.6.10
    vue-eslint-parser:  5.0.0 (2.0.3)
    vue-hot-reload-api:  2.3.4
    vue-loader:  15.7.1
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.10 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce

Run: vue create x && cd x && yarn build
Accept default config options.
Observe failure / error

What is expected?
Successful build of minimal demo template created by Vue CLI.
What is actually happening?
Build fails with error:
vue-cli-service build
ERROR  TypeError: Cannot read property 'name' of undefined
TypeError: Cannot read property 'name' of undefined
at /path/to/code/x/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:43:25
at Array.reduce ()
at getEntrypointSize (/path/to/code/x/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:40:27)
at /path/to/code/x/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:75:18
at _next0 (eval at create (/path/to/code/x/node_modules/tapable/lib/HookCodeFactory.js:33:10), :10:1)
at eval (eval at create (/path/to/code/x/node_modules/tapable/lib/HookCodeFactory.js:33:10), :24:1)
at callback (/path/to/code/x/node_modules/copy-webpack-plugin/dist/index.js:126:17)
at afterEmit (/path/to/code/x/node_modules/copy-webpack-plugin/dist/index.js:220:13)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/path/to/code/x/node_modules/tapable/lib/HookCodeFactory.js:33:10), :20:1)
at AsyncSeriesHook.lazyCompileHook (/path/to/code/x/node_modules/tapable/lib/Hook.js:154:20)
at /path/to/code/x/node_modules/webpack/lib/Compiler.js:482:27
at /path/to/code/x/node_modules/neo-async/async.js:2818:7
at done (/path/to/code/x/node_modules/neo-async/async.js:3522:9)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/path/to/code/x/node_modules/tapable/lib/HookCodeFactory.js:33:10), :6:1)
at /path/to/code/x/node_modules/webpack/lib/Compiler.js:464:33
at /path/to/code/x/node_modules/graceful-fs/graceful-fs.js:57:14
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

This appears to be due to a missing sourcemaps for css files. The js sourcemaps are build and exist, but when the webpack SizeLimitsPlugin runs, it expects the css file to have a sourcemap too, which is does not.
I was able to resolve this by adding a vue.config.js file to the project (there wasn't one) containing the following:
configureWebpack: {
    devtool: "eval-source-map"
 }

I am not sure I completely understand why some sourcemaps got generated and others did not. Perhaps vue.config.js should be generated by the create template in this case?
Thanks for reading about my bug!

Fixed in webpack v4.40.1

Update webpack to v4.40.1, still got the same issue.

So, as this comment said, there may still be a potential bug in webpack https://github.com/webpack/webpack/pull/9696#issuecomment-531173719 (I did not encounter that bug on my machine, though)
So please wait for the next webpack release or pin the webpack version to 4.39 for now.

I get this problem also using webpack v4.40.1. Downgrading to v4.39 fixes it.

@sodatea or @bulletmark Could you give the newbie (me) to Vuejs a quick tutorial on how to pin the webpack version?

Adding this field to package.json:
"resolutions": {
  "webpack": "4.39"
}

If using yarn, just run yarn again.
If using npm:
rm -r node_modules
npx npm-force-resolutions
npm install

@ihelmer07 I am a newbie also. He merely did:
npm install<EMAIL_ADDRESS>

Reopening pending more news from webpack

should be fixed with webpack v4.40.2
It's a little bit weird that these errors happen, because normally a chunk should not reference a not-existing asset. Maybe there is some other plugin which deletes an asset (delete compilation.assets[...]) without removing it from the chunk (chunk.files.splice(...)), causing this weird state.

Can confirm, npm update, i.e. webpack->4.40.2 fixes the problem.

webpack->4.40.2 didn't fix it for me. But maybe this is due to the presence of several webpack in my monorepository. And I don’t understand what’s the matter because a day ago everything worked.

Other workarounds in vue.config.js:
module.exports = {
   css: {
     sourceMap: true
   }
}

module.exports = {
   productionSourceMap: false
}

why does this work ? omg I don't understand


Load default values from Rust expressions like constants

Right now default only allows a handful of different expression types. But sometimes you might want to store the value in a Rust constant or call a function or something like that. Maybe we want to allow that?
The obvious problem here is printing that in the config template. Either the user specifies default_in_template = ... for us to use, or we require that the value implements Serialize and somehow do it like this? Both seems rather meh.
And maybe basically no one wants this feature anyway. Or maybe we shouldn't even allow it as the default value should be expressible in simple expressions: that's whats in the config file in the end, after all.

Is this crate actively maintained? I think I could try to help with this feature which would be very useful imho.


Google Image "View Image" button was deleted

The script Google Image "View Image" button no longer exists.

Maybe doesn't work anymore.
https://pastebin.com/kPTGycFk

@llacb47 does your script work?

Not mine, it's the deleted one.

New link:
https://greasyfork.org/en/scripts/392076-google-images-direct-link-fix
Maybe this works.


ja-trans: Remove reviewers block from front matter.

removed unnecessary reviewers in japanese translation.
(I'm sorry if someone not related to Japanese translation got notice.)

/uncc balopat
/uncc bart0sh
/cc @makocchi-git
/assign @tnir

The rest is #12065 only.
It'll ask the author to work within PR.


External error SetTdlibParameters: #400: File "/data/data/org.thunderdog.challegram/files/tdlib2/td.binlog" can't be opened/created for reading and writing

Check that your phone has enough free space and try to restart it.


Add function to show available datasets

Currently I type NHSRdatasets:: then tab to see what's available but it might be useful to have a dedicated function to give details of all the datasets available, particularly as CRAN and GitHub are currently out of synch.

this function in base R tells you the data available in a package data(package = "NHSRdatasets")

Every day is a learning day!
Add to Get Started vignette 😃


Using completion endpoint for paraphrasing

How can I create a completion request that then return paraphrased variants of my given prompt?

Hi @ahmedabbas1990
This is the repository of a library to connect OpenAI. Therefore we do not provide support for the OpenAI functionality itself.
But you will find everything necessary in the official documentation: https://platform.openai.com/docs/guides/completion/introduction


Feat: Copy files removed from target in WatchFolder flow

This PR adds an optional cron job feature to WatchFolder flow, that periodically checks for files that are missing on the target storage but are still present on the source storage, and issues a workflow to copy them.
Option can be enabled per flow, in its settings.

This should be 2 PRs.

Commit e2e0bc0 is appropriate as a fix to release 22.1.
The cron job feature should target a later release in case this causes issues. This requires release testing at NRK.


Nightly build failure

I think this is due to the line saying env: FLAGS="--features clippy,tokio" when it should be env: FLAGS="--features \"clippy tokio\"" (or something like that, modulo different escaping rules)

PR #86 mitigates this by fixing all tests without the tokio feature. Nevertheless we should get our separators correct.

env: FLAGS="--features \"clippy tokio\"" annoyingly doesn't actually work, because the " is combined with clippy and the build fails, because it can't find feature "clippy - Travis just parses the yml really weird. I fixed it in the end by running clippy through cargo. Though as a side note what would work is env: FLAGS="--features clippy --features tokio"
Resolved by #112


rename is_subtype() to unify_subtype(), call unify_subtype() directly instead of calling it from unify()

This removes the need for the Rel enum and highlights the similarities between unify and unify_subtype.

Codecov Report

Merging #149 (08fe0b0) into main (0cb589c) will decrease coverage by 0.20%.
The diff coverage is 95.16%.

@@            Coverage Diff             @@
##             main     #149      +/-   ##
==========================================
- Coverage   91.12%   90.92%   -0.21%
==========================================
  Files          35       35
  Lines        3741     3724      -17
==========================================
- Hits         3409     3386      -23
- Misses        332      338       +6

Impacted Files
Coverage Δ

crates/crochet_infer/src/infer.rs
87.24% <95.08%> (-1.77%)
:arrow_down:

crates/crochet_infer/src/lib.rs
98.96% <100.00%> (ø)

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 0cb589c...08fe0b0. Read the comment docs.


fixes #1188 loading jquery.js after jquery.min.js had been loaded

Because filer was requesting jquery.js in non-DEBUG instead of jquery.min.js (like django does), both were being included in the Media output. jquery.js was being included after jquery.min.js and more importantly django's jquery.init.js, so it was polluting the global namespace. This was observed in Django 1.11 and may not be a problem on later versions.
The fix simply uses jquery.min.js in non-debug mode.

According to the Django documentation

Any links to the file in the codebase should point to the compressed version.

you therefore should just include the minimized version.
Personal Annotation:
I usually add these two alternative finders to my projects and replace the default finders in my settings.py with:
STATICFILES_FINDERS = [
    'project.finders.FileSystemFinder',
    'project.finders.AppDirectoriesFinder',
]

In DEBUG-mode, they load the expanded version of *.css and *.js files if they exist. In my opinion this is a better approach, rather than doing it on a file-per-file base.

@jrief true, that's what the docs say, but this is exactly the way the django source does it up to the current version: https://github.com/django/django/blob/stable/3.0.x/django/contrib/admin/options.py#L632. Consequently, if we just emit 'jquery.min.js', it won't match what Django is emitting when DEBUG == True, and we'll get an extra jquery object in the global namespace in debug instead of in prod.

I'm against merging this.
From reading #1188, It appears to fix a problem caused by an incompatibility with Django-1.11, which is EOL anyway. I agree, that version 1.7 should fix the REQUIREMENTS in setup.py and not support Django-1.11.

Ups, I just had another look at the Django code. Now I understand the problem. Django itself adds the .min in DEBUG mode and therefore the sorting doesn't work anymore.
This means that I now am in favor of merging this.


Provide better explanation use cases

Provide better explanation why reg doesn't work with hub.docker.com
closes #86

Only ls doesn't work :) just the catalog

Hmm, this gives a whole new twist to the story. Updated the PR #87 to reflect that.

Thanks!


Testing playwright maxDiffPixelRatio of 0.2

What
Change maxDiffPixelRatio to 0.2 in playwright.config.ts
Why
A lot of failure in visual regression tests lately
How Tested
Testing with CI
Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

0.2 is kinda... too high? Even an icon change would be ignore without any noticement

I thought it was high too but it still failed. I was looking at examples and saw people using 0.2.