feat(#major); balancer-forks; subgraph optimizations

Huge arrays in beethoven-x-fantom deployment causing issues for other subgraphs in the shard.
The protocol._poolIds array with length > 2000 should be causing the stated issue. We can use .load() on derivedFrom entity Pool instead. query.
Other arrays are either defined as derivedFrom fields or their lengths are bound by input tokens length.
Test deployment: https://okgraph.xyz/?q=dhruv-chauhan%2Fbeethoven-x-fantom
Other affected subgraphs:

https://okgraph.xyz/?q=dhruv-chauhan%2Fbeethoven-x-optimism
https://okgraph.xyz/?q=dhruv-chauhan%2Fbalancer-v2-arbitrum
https://okgraph.xyz/?q=dhruv-chauhan%2Fbalancer-v2-polygon
https://okgraph.xyz/?q=dhruv-chauhan%2Fbalancer-v2-ethereum

Build is failing with error,
stdout: ERROR TS2339: Property 'loadRelated' does not exist on type '~lib/@graphprotocol/graph-ts/index/store'.

     let value = store.loadRelated(this._entity, this._id, this._field);
                       ~~~~~~~~~~~
 in generated/schema.ts(3402,23)

loadRelated method (= .load() on derivedFrom entity) became available starting graph-node v0.31.0, @graphprotocol/graph-ts v0.31.0, and @graphprotocol/graph-cli v0.51.0. I suspect some of these packages is not updated in the build checker.

@dhruv-chauhan I see a new error now

@dhruv-chauhan can you make sure to use:
indexerHints:
   prune: auto

wherever possible in subgraphs going forward.
https://thegraph.com/docs/en/developing/creating-a-subgraph/#the-subgraph-manifest


Release/v1.0.4

Description: 概要

Changes: 変更内容

Changes

feat: update packages (d97a6624ff92e4f099fa52d10209d5950ba14ab9)
feat: setup pre commit settings (afe57c561fd774a12ca5fdc4771afd496db1bc15)
chore: tweaks (f2f592a744fc0fedcaf5795c405eb15e17f4267d)

Expected Impact: 影響範囲

Operating Requirements: 動作要件

Additional context: 補足

Codecov Report

Merging #13 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #13   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines          41     41
  Branches        6      6
=====================================
  Hits           41     41

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 afe57c5...35eed9e. Read the comment docs.


Add admin API to get user info & update users + remove work_on_behalf_of_organization

Added "Get users list with info" & "User info update by admin" API
Remove work_on_behalf_of_organization from users table

The pylint test error is unrelated to this PULL request.
Currently waiting for @yuvalbl opinion of the API breakage before marking this PR as ready.

Part of https://github.com/hasadna/anyway-newsflash-infographics/issues/724

:champagne:


Redux compose "TypeError: undefined is not an object (evaluating 'last.apply')"

Hey guys. I'm just building the dependencies in a project made with react/redux. And when webpack bundle the main file, the error: "TypeError: undefined is not an object (evaluating 'last.apply')" has been shown on console log.
function compose() {
  for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
    funcs[_key] = arguments[_key];
  }

  if (funcs.length === 0) {
    return function (arg) {
      return arg;
    };
  }

  if (funcs.length === 1) {
    return funcs[0];
  }

  var last = funcs[funcs.length - 1];
  var rest = funcs.slice(0, -1);
  return function () {
    return rest.reduceRight(function (composed, f) {
      return f(composed);
    }, last.apply(undefined, arguments));
  };
}

Is there any solution for this error?

That sounds as if you're passing in something invalid when creating your store.  Please check your store creation code and verify that the call to compose has valid enhancers as arguments.

@igorrfc were you able to figure out steps to reproduce? Wondering if related to this https://github.com/reactjs/redux/pull/2145

In my case caused because of Redux Dev Tools. By passing undefined to compose it generates this error
createStore(
	combineReducers({ auth, missions, artworks, artists }),
	compose(...[
		applyMiddleware(promiseMiddleware),
		__REDUX_DEVTOOLS_EXTENSION__ && __REDUX_DEVTOOLS_EXTENSION__()
	]),
);

I got this error from safari and I was able to fix it with this.
// Only chrome can handle the redux dev tool
// redux compose cannot handle a null or undefined middleware
if (window.navigator.userAgent.includes('Chrome')) {
  var store = createStore(
    reducer,
    initialState,
    compose(
      applyMiddleware(
        routerMiddleware(browserHistory)
      ),
      window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
    )
  );
} else {
  var store = createStore(
    reducer,
    initialState,
    compose(
      applyMiddleware(
        routerMiddleware(browserHistory)
      )
    )
  );
}

const middleware = applyMiddleware(
routerMiddleware(browserHistory),
thunkMiddleware,
// logger,
authStateMiddleware
);
const composeEnhancers =
window.REDUX_DEVTOOLS_EXTENSION_COMPOSE || compose;
const store = createStore(
rootReducer,
composeEnhancers(middleware)
);

The above solution from @ballerabdude worked but the linter complained about store being created twice and a redundant statement. I was able to get this working to remove the linter warnings ...
var getComposeEnhancers = () => {
    if (window.navigator.userAgent.includes('Chrome')) {
      return redux.compose(
        redux.applyMiddleware(thunk)
        ,window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
      );
    }
    return redux.compose(redux.applyMiddleware(thunk) );
  };

  var store = redux.createStore(reducers, initialState, getComposeEnhancers() );
  return store;

@WebbizAdmin what does compose by itself?

@casvil Hey, it allows to apply enhancements to the store, like the devtools above. Nice explenations are Stackoverflow and Redux docs .
I actually changed to this package Redux Dev Tools Extention
import { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';
....
....
....
const createStoreWithMiddleware = createStore(
  rootReducers,
  composeWithDevTools(applyMiddleware(thunk)),
);

@Barlog-M's solution worked for me. Thank you!

@barlog-m, this workaround is clean and worked perfect for me, thank you very much


Bank Tag Tab issue with Name "clue"

Items do not show up in a bank tag tab named "clue", it used to work fine. All my other tabs work as expected, and I created a tab named "clues" and put some items in it, also worked fine.
When searching my bank with "tag:clu" everything showed up, but "tag:clue" returned nothing. Also creating a tag tab wit the name "clu" showed everything with the tag. Checking the tags on the items, it is indeed "clue" and not "clu".

duplicate of https://github.com/runelite/runelite/issues/13162
For now, rename your tag to something else


Advanced Features shown even when setting is not activated

Describe The Bug:
First: if this is a bug, it is a "light" bug in the sense that it doesn't hinder the actions!
I reported as a bug as it doesn't work as planned - at least as I would see it ..
(in any case: great work done!!!)
Switches in Home are shown for advanced features even when the option is not selected in the config.
To Reproduce:

just run the plugin
Expected behavior:

no additional switches shown
Logs:
Show the Homebridge logs here, remove any sensitive information.

Thanks!!!


可以帮忙看下这个用法哪有问题吗

https://github.com/vueComponent/ant-design-vue/issues/7849

This might help:This file might fix it
https://bit.ly/4eugCty
I put the necessary dlls in the archive


[BUG] add default response handling

Bug Report Checklist

[ ] Have you provided a full/minimal spec to reproduce the issue?
[ ] Have you validated the input using an OpenAPI validator (example)?
[ ] Have you tested with the latest master to confirm the issue still exists?
[ ] Have you searched for related issues/PRs?
[ ] What's the actual output vs expected output?
[ ] [Optional] Sponsorship to speed up the bug fix or feature request

Description
If there is only a default response, it should be used when deserializing
If there is a 200 and a default, the default should be used when deserializing non-200 responses
openapi-json-schema-generator version

OpenAPI declaration file content or url

Generation Details

Steps to reproduce

Related issues/PRs

Suggest a fix

This is already handled per the endpoint template


feat: expose file and directory creation APIs

Follow up to #1777.
I need some guidance on the last point regarding the file handler interoperating with other APIs. The code currently doesn't compile as I'm not really sure what to return or how to design this return value of the open function.
Closes #1709.

@sxyazi What do you think of the bit flags parameter as the options for the open function? Would you rather use a Lua table?
Also, the return value of the open function currently just returns a Yazi File object, as I am not sure how to design a separate structure to interop with the Command plugin API.

Thanks for the PR!

On second thought, would the open function be considered unnecessary? Lua already has an io.open function to create files which supports everything from OpenOptions except truncate mode.

Yeah, Lua already provides io.open(), so reimplementing it in Yazi doesn't seem to be a high priority, how do you feel about separating the fs.open() part from this PR into a standalone one? That way, we can quickly merge fs.create_dir(), while I still have some details I want to discuss about fs.open(), I need to think more about the API design.
 I'll revisit how to add it when I have some time.

Yeah, Lua already provides io.open(), so reimplementing it in Yazi doesn't seem to be a high priority, how do you feel about separating the fs.open() part from this PR into a standalone one?

Oh yeah, that would be great. I'll do that.

I need to think more about the API design.

Sure thing, no worries!


add django-csp

https://django-csp.readthedocs.io/en/latest/
Content-Security-Policy: frame-ancestors 'none'

Set in the zygoat_django security_headers middleware that is included by default.


[BUG] Unable to create tenants using securityadmin.sh tool

What is the bug?

We noticed that we can no longer create tenants using  the securityadmin.sh tool.

After investigating we found out that that the problem was introduced by the following commit https://github.com/opensearch-project/security/commit/4581a3d76ae3287c0821cd9beb3734b9fdcc57e8

The problem only concerns the tenants, the other parameters are created as expected (roles, roles_mapping...).

We deployed Opensearch 2.1.0 but Opensearch 2.0.0 also seems to be impacted.

How can one reproduce the bug?

Declare a tenant in the tenants.yml config file and execute securityadmin.sh. The file is totally ignored, the tenants are never created.

What is the expected behavior?

Tenants should be created according to the configuration file tenants.yml when securityadmin.sh is executed.

What is your host/environment?
Ubuntu 20.04

Hey @mrunichs, thank you for filing this issue. We would gladly accept a PR.

Hi,
We was facing the same issue but we apply this:
/usr/share/opensearch/plugins/opensearch-security/tools/securityadmin.sh -f /etc/opensearch/opensearch-security/tenants.yml -icl -nhnv -cacert /etc/opensearch/root-ca.pem -cert /etc/opensearch/admin.pem -key /etc/opensearch/admin-key.pem --diagnose
It's solved!

Hi,
We was facing the same issue but we apply this:
/usr/share/opensearch/plugins/opensearch-security/tools/securityadmin.sh -f /etc/opensearch/opensearch-security/tenants.yml -icl -nhnv -cacert /etc/opensearch/root-ca.pem -cert /etc/opensearch/admin.pem -key /etc/opensearch/admin-key.pem --diagnose
It's solved!

Thank you very much for the hint, I will give it a try!

Hi @mrunichs, this has been solved since 2.3. There was a bug introduced in the commit you linked to that incorrectly identified the security index as being in the legacy format (Legacy format from ES 6) and skipped over the tenants.yml file if it was not explicitly referenced to. Thank you @cyrse93 for providing a workaround to the issue!
This is the change in 2.3 that solves for this issue: https://github.com/opensearch-project/security/pull/2052
And this is the block that explains why tenants.yml is being skipped: https://github.com/opensearch-project/security/blob/main/src/main/java/org/opensearch/security/tools/SecurityAdmin.java#L1203-L1205
I am closing this issue as the bug has been resolved in >=2.3.0.


SciPy 2023 tracking issue

cc @scottyhq @lsetiawan @JessicaS11 @TomNicholas @andersy005 @negin513
Any one is welcome to contribute here, please reach out!
Logistics
As reminder, last year we created a outline for attendees (max 90) to follow. The outline links to a canonical copy of the material that gets updated every year, and serves as a syllabus for a future learner who did not necessarily attend the event.
I propose we do the same this year, and use the opportunity to develop some new canonical notebooks.
Here's our proposal outline converted to a todo list. I've added links to material that exists already. For bulllet items without a llink we need to develop new material (in most cases adapt the narrative documentation to tutorial format). Clearly we have a bunch of work to do :)
Outline

[ ]  Introduction/Logistics (@lsetiawan, @scottyhq)

[ ] Pythia binder for SciPy tutorial? (about 100 simultaneous people)
[ ] Logistics (#171)
[ ] Alignment and broadcasting
[x] Address #68
[ ] Address #115,
[ ] Address #82,
[ ] Address #153
Optional

[ ] Address #142?
[ ] Address #85?

[ ] Indexing (docs reference, @negin513 @andersy005 )

Existing material
[ ] Basic Indexing
[ ] Advanced and Vectorized Indexing
[ ] Boolean Indexing and isin, and masking
[ ] Fancy Datetime Indexing
[ ] Address #94

[ ] Computational Patterns (@JessicaS11 @dcherian )

[ ]  Address https://github.com/xarray-contrib/xarray-tutorial/issues/166

[ ] Wrapping other arrays (docs reference, @TomNicholas , @andersy005 )

[ ] Concepts
[ ] Introduction to Xarray wrapping Dask (@negin513 )
[ ] Demo of other arrays: pint, sparse, cupy?

[ ] Wrapping custom computations: apply_ufunc (docs reference) (@dcherian, #180)

[ ] Concepts : core dimensions,
[ ] Vectorizing
[ ] Dask
[ ] Address https://github.com/xarray-contrib/xarray-tutorial/issues/158

[ ] Demo?
[ ] Evaluation Survey?

Notes
At a high level, we have to work on the indexing material, and the "duck array" material. The xarray docs on indexing are fairly comprehensive so it's mostly presenting that in a friendly manner. The duck array material is fairly minor, so that would be a decent lift.

Meeting Notes

Meeting 1, June 2, 2023

Pasting the email about Nebari for the SciPy tutorial

We are emailing SciPy presenters to share an offer from Quansight to provide a hosted platform (JupyterHub, via Nebari) to run your tutorial.
Your workflow, and all participants' workflow, will involve: - Registering on the platform [1] (with any email and password), - Selecting a suitable machine [2] (i.e., adequate compute and storage for your tutorial), - Cloning the tutorial (git) repository in the JupyterLab interface that opens by default, - Teach your tutorial :)
As the presenter, you will have one extra step before the tutorial: create a suitable environment for your tutorial. If you have an environment.yml or requirements.txt file, this is a quick step which will take ~5 mins at most, and the Quansight team will assist you with this.
The platform (Nebari) has Dask integrated, and the capability to share files and dashboards within the platform. You can consider using this as an alternative to Binder, which currently has reduced capacity and funding. The Quansight team will be at SciPy in-person and will set up a dedicated Slack channel for support during the tutorial sessions.
If you're interested, please fill out this Google Form: https://forms.gle/recAwR1DaSau2Gsu6 by 25th June, and the Quansight team will reach out to share more information and schedule a live demo session to onboard you to the platform. If you have any questions, please contact Dharhas Pothina<EMAIL_ADDRESS>or Pavithra Eswaramoorthy (pavithraes@quansight.com).
[1] Quansight won't collect or store your email on registering, you can also register with a fake email. [2] They will offer two types of machines for everyone: Small (2 CPUs, 8 GB RAM), Medium (4 CPUs, 16 GB RAM). If you need larger instances or a GPU instance, let them know in the Google Form and they will include it.

I think we should do this!

Sounds good to me! Small instances should be fine. @lsetiawan would you be willing to fill out the form and be the point of contact for this?

@andersy005 @negin513 @TomNicholas can we get a quick update here please?
I think at this point, we could just plan to use the existing material as-is to reduce stress. There's definitely plenty of content!

The rep from quansight will try to deploy it from the repo. I'm currently on vacation. I'll ping her again tomorrow.

Hi Don,

I hope you have a nice vacation!
The onboarding meeting diverged off-topic, so I'll share a fresh set of instructions in a day or two. I'll also test the xarray tutorial on Nebari and let you know (or maybe open issues/PRs against the repo) if we need anything from you. :)

Hello @dcherian ,
I created a PR for the indexing notebooks. #192
Regarding the last task under Indexing in the list above :

[ ] Indexing (docs reference, @negin513 @andersy005 )

Existing material
[ ] Basic Indexing
[ ] Advanced and Vectorized Indexing
[ ] Boolean Indexing and isin, and masking
[ ] Fancy Datetime Indexing
[ ] Address #94

I can write about broadcasting, aligning, etc in these notebooks. But was not sure if it fit nicely under indexing section. Do you envision having these under advanced indexing? Does it fit the advanced indexing or the computation section better?
Here is the notebook for reference:
https://tutorial.xarray.dev/workshops/online-tutorial-series/03_computation.html

I can write about broadcasting, aligning, etc in these notebooks.

Sorry for being unclear. We can skip that for now. We already have material on alignment and broadcasting here


[5 day spike] Investigate performance issues and try and fix

We are sometimes seeing significant slowdown on the single city page, we would like to dig into this and work out what's causing it, and potentially put forward some fixes.
This might be that we put a limit on the amount of data we display, or we might be able to improve the efficiency of some of the code. Alternatively it might be certain browsers (?)

This should take within 5 seconds for Los Angeles on July 4th on Tim's laptop (Forecast Base Date set to 04/07/2024 12:00)

Test Checklist:

[x] Test Analysis & discussion with developer
[x] Write Test Cases / Charters
[ ] Test Cases & Charters Reviewed
[x] Test Cases Executed
[ ] Test Charters Executed
[x] Regression tests executed
[ ] Automation Tests added to project

Speed Testing Report.docx

Test Analysis

The only AC is 'This should take within 5 seconds for Los Angeles on July 4th on Tim's laptop (Forecast Base Date set to 04/07/2024 12:00)', therefore @Tim Johnson will be able to advise on if this passes acceptance testing
The ticket needs to pass the regression run

Page & data loaded within 1s for the specified city & time, so meets the acceptance criteria.

Regression - PASSED

Frontend

Playwright Regression 29.07.24.pdf

Backend


No evident way to add a category

On a fresh install, the package_category table is empty, and there's no apparent way to add any entries to the list.
No docs on this either. :confounded:

I believe this is resolved (mostly) by #298 .


If a block inside a function contains return, all output is written to the pipeline, even if assigned to a variable

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
The issue manifests whenever a function contains a block (if, foreach, try,...), which writes some output and then calls return. All output from the block is written into the output pipeline, even if the output of the block should be redirected into a variable, or a pipeline inside the function:
function x([switch]$p) {
    $null = foreach ($a in @(1)) {
        echo "this should not be visible"
        if ($p) {return}
    }
}

function y([switch]$p) {
    $null = try {echo "this should not be visible"; if ($p) {return}} catch {}
}

Expected behavior
PS> x
PS> y
PS> x -p
PS> y -p

Actual behavior
PS> x
PS> y
PS> x -p
this should not be visible
PS> y -p
this should not be visible

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.3.0-preview.6
PSEdition                      Core
GitCommitId                    7.3.0-preview.6
OS                             Microsoft Windows 10.0.19044
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

@MatejKafka it's a duplicate of https://github.com/PowerShell/PowerShell/issues/3669

@MatejKafka it's a duplicate of #3669

No, I don't believe it is. The referenced issue discusses the case where output is NOT assigned to $null (or ignored in some other way). This issue describes what I believe to be a bug in how the output is directed.

@MatejKafka it's a duplicate of #3669

No, I don't believe it is. The referenced issue discusses the case where output is NOT assigned to $null (or ignored in some other way). This issue describes what I believe to be a bug in how the output is directed, even when assigned to $null.

You're right, I read too quickly, sorry 😅

@MatejKafka This is the minimal reproduction without any function
$a = if ($true) {
    Write-Output "this should not be visible"
    return "this should not be visible too"
}

$null -eq $a # true

$b = if ($true) {
    Write-Output "this should not be visible"
}
$null -eq $b # false

$c = if ($true) {
    return "this should not be visible too"
}
$null -eq $c # true

I'd be OK with the last case being left as is (so that "return X" always returns X from the function).
It's the first case that seems wrong to me, as there's a "action at a distance", with an unrelated return statement causing previous output to be treated as function output.

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-7.2
I understand that return is an accumulator, so the behavior is compliant, but the documentation should be more explicit and detailed.
If anyone else can confirm, we might ask for a documentation upgrade.

The output from a function is anything that is output either implicitly or explicitly. Using return is meant just for control flow, i.e. ending the function early. You can provide output with the return but it does not mean that only that output is sent.

This is fairly weird behaviour, it seems like the return in the if statement is bypassing the $null = accumulator as I would not expect this to output anything
function test {
    $null = if ($true) {
        "out"
        return
    }
}

I can't say I've seen this documented and considering if you omit the return the if captures the output as expected.

If the PowerShell engine indeed acts the way as expected by @MatejKafka, it might be a way out for the leaking pipeline challenge (see also: #15781) where everything in the pipeline is then consumed by the assignment except for what is explicitly returned by Return <object> or Write-Output [-InputObject] <PSObject[]>...

This is fairly weird behaviour, it seems like the return in the if statement is bypassing the $null = accumulator as I would not expect this to output anything
function test {
    $null = if ($true) {
        "out"
        return
    }
}

It is not intuitive  that's for sure. And I don't think it is as consistent as it might be.  But "accumulator" piqued my curiosity. Here are multiple evolutions of the same bit of code
function test {
   while ($null -eq $x) {
         $global:foo = foreach ($x in 1..5) {
            if ($x -eq 5) { return }
            else {$x}
        }
        "after the loop, x =$x "
    }
    "After the while"
}

This does what the OP saw. It looks like it should put the values into foo but it doesn't and they become "output"
#531 PS5 ~\Documents\windowsPowershell> $foo = $null

#532 PS5 ~\Documents\windowsPowershell> $foo

#533 PS5 ~\Documents\windowsPowershell> test
1
2
3
4

#534 PS5 ~\Documents\windowsPowershell> $foo

We [should] know that (without the return) the code would NOT put 1 into foo, then  make foo an array and add 2 as member , then add 3 etc. - most of have us have learnt at a loop with $results = $results + $LatestItem  gets slow for many items and $result = <loop> is to be preferred because PowerShell accumulates the results for us and assigns them in a single operation after the for loop has run.
We do not really think about the "Call something, and when execution returns the output you want will be a standard buffer" which underpins all of this, any more than we think about
  $val = foreach ($x in 1..5) {
            if ($x -eq 5) { throw }
            else {$x}
        }

putting 1..4 in the output buffer and then having throw remove them (they must have gone somewhere but they don't reach $val).
In this case return has inserted a GOTO between putting the results  into the buffer and reading them back;  Return, Break, Continue are all forms of GOTO by other means (see below before arguing! :-) )  -  return means execution goes to whatever called this function  instead of the next step of this function..
We can see the same thing with break, where (again) the behaviour is not intuitive.  Someone who has learnt what return does in this case, but not why, might expect this to do the same
function test {
    while ($null -eq $x) {
         $global:foo = foreach ($x in 1..5) {
            if ($x -eq 5) { break  }
            else {$x}
        }
        "after the loop x =$x "
    }

"After the while"
}

All that has changed is the return has been replaced with a break  - which  exits the for but not the while  so execution continues where it would have done without break
#540 PS5 ~\Documents\windowsPowershell> $foo = $null

#541 PS5 ~\Documents\windowsPowershell> $foo

#542 PS5 ~\Documents\windowsPowershell> test
after the loop x =5
After the while

#543 PS5 ~\Documents\windowsPowershell> $foo
1
2
3
4

I said "wait before arguing about goto"  - in this case break is just making the "if_not_condition run_the_remainder_of_the_code" construction less unwieldy - the point it is  going to isn't arbitrary  it is what would be the next step anyway. But it can go to other places using labels.

function test {
 :myLabel    while ($null -eq $x) {
         $global:foo = foreach ($x in 1..5) {
            if ($x -eq 5) { break myLabel }
            else {$x}
        }
        "after the loop x =$x "
    }

"After the while"
}

This is just the last version with  a label but now the output looks like the first version.
#545 PS5 ~\Documents\windowsPowershell> $foo = $null

#546 PS5 ~\Documents\windowsPowershell> $foo

#547 PS5 ~\Documents\windowsPowershell> test
1
2
3
4
After the while

#548 PS5 ~\Documents\windowsPowershell> $foo

I guess the TL;DR version for the above is "Don't put a GOTO in the right hand side of an assignment"
But just when think we know how these things behave   What about
function test2 {

try     {"Hello" ; return}
catch   {"Never runs"}
finally {"Good bye"}
}

If return is immediate successful exit  (like throw is an immediate failure) as we have seen finally would never run but this code produces the following output
#532 PS5 ~\Documents\windowsPowershell> test2
Hello
Good bye

Nothing the runs after after the try/catch/finally but the goto effect isn't immediate

return causes the expression to end before no assignment is made.
return can be seen as goto "}" of function
I think it's by design,

@jhoneill That's a very insightful explanation, thanks. :)
I'd consider it more intuitive for the following code:
$Result = if ($true) {
  echo "value"
  return
}

to be interpreted as
try {
  if ($true) {
    accumulate "value"
    return
  }
} finally {
  $Result = accumulator
}

rather than as
if ($true) {
  accumulate "value"
  return
}
$Result = accumulator

, but I think that we are in agreement here about what's the intuitive behavior.
@kasini3000 This pattern is actually kinda useful:
function TryToProcessStuff($Stuff) {
  $PreprocessedStuff = foreach ($s in $Stuff) {
    # if preprocessing fails, return without doing anything more
    try {Preprocess $s} catch {return}
  }
  # do more processing
}

Usually, you would just let the exception bubble up, but in some cases, you want to silence it and treat failure by just not returning any results (in some cases, this is a reasonable behavior).

Definitely a bug. Here's a gist with the disassembly.
When an assignment like this happens, the output pipe is temporarily changed to a new one that just writes to a list. This swap happens in a try block, and in the finally it resets back to the old pipe and sends anything still remaining in the temp list to the old pipe.
Line 85 is where the list is supposed to be cleared. PipelineOps.PipelineResult unwraps the list into a scalar or array and clears the list. But that's not in a finally, so when the return on line 60 happens, the clear never happens but the pipe is still flushed.

Tbh I'm not 100% sure why it flushes there at all, it seems like a logic flaw. I can't quickly think of a case where we make a temporary output pipe and then want to flush it back to the original pipe afterwards. I'm inclined to say every time we generate this pattern, we're expecting the list to be empty from PipelineResult by the time that finally hits.
As a side note, I wonder if there's a good reason that we're building a list period when $null = is used. Seems like potentially a significant chunk of overhead when we could just use a null pipe instead.
/cc @daxian-dbw @JamesWTruher

The comment in the related code gives an example where this is needed:
https://github.com/PowerShell/PowerShell/blob/65b83e90d5ee79464dba0dc2b41d3da38c4f8d5c/src/System.Management.Automation/engine/parser/Compiler.cs#L2297-L2300
Looking at the code, it turns out we are flushing results from the temp pipe to the outer pipeline even if the context is AssignmentWithoutResultPreservation, which is the case for $a = if (...) { 'one'; return }. I have a draft fix here: https://github.com/PowerShell/PowerShell/pull/17856.

Reopen this issue because the fix (#17856) causes a regression reported in #20739.
Will let the engine WG review this issue and decide on whether this should be fixed and how to fix it if so.

The Engine WG reviewed this and we decided to mark this as wontfix. This behavior has existed since version 2 and unfortunately we've found that without overhauling that area of the compiler - changing it leads to different breaking changes (see the comment above this one for the attempt).


feature: add Socket.empty

Codecov Report

Merging #901 (e79811e) into main (dc0d80f) will decrease coverage by 0.07%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #901      +/-   ##
==========================================
- Coverage   53.40%   53.33%   -0.08%
==========================================
  Files          73       73
  Lines        2159     2162       +3
  Branches       54       55       +1
==========================================
  Hits         1153     1153
- Misses       1006     1009       +3

Impacted Files
Coverage Δ

zio-http/src/main/scala/zhttp/socket/Socket.scala
40.62% <0.00%> (-4.21%)
:arrow_down:

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 dc0d80f...e79811e. Read the comment docs.


IE11 Metro mode focus

When opening a select2 on IE11 in Metro mode with touch input, virtual keyboard is triggered, which somehow causes focus to move, which in turn causes the select2 to close/disappear.
Let me know if I can do more testing to debug this issue!

Is there a way to fix the problem when using 3.4.8 (or 3.5.2) ?

The issue is related to 3.x version, but the version 3.x is not maintained anymore. But if this bug occurs in 4.x version, please reopen the issue and send us a JSFiddle example code or a PR.


Improve step2 performance by utilizing more CPU with the node server

https://nodejs.org/api/cluster.html

Going to close this issue, this doesn't actually help us much see https://github.com/jalagar/animated-art-engine/issues/133 cc @bxbxyxgx


resolve dependency is too outdated

resolve 0.2.3 is based on node 0.6, this means newer core modules like "domain" (introduced in 0.8) cannot be used

Should be fixed now in v0.5.2.


Failed to get Gerrit changes.: Request not successful.

I updated the plugin today from 9.7 -> 9.8
and get the following error message:

Failed to get Gerrit changes.: Request not successful. Message: Bad Request. Status-Code: 400. Content: "CHANGE_ACTIONS"  is not a valid value for "-o".

@KazuoD: What's the version of your Gerrit server?

Verion is 2.9.1

@KazuoD: Thanks. Please tell me the URL if it is available in public so I can test against it. Otherwise I will have to setup my own instance with this version.

Also thanks for the quick response @uwolfer . Sadly its hosted in my company and so private

@KazuoD: I'm not able to reproduce it with my local 2.9.1 setup... Can you always reproduce it? If you apply a filter like displaying merged changes only, does it also happen?

@uwolfer always when it refreshes/update/loads. I can try to get a docker image from operations tomorrow with our current Gerrit

Ah, I think I see the problem: your error message is translated to German. Only the English error is handled. I have no idea why it is translated aince Gerrit is not translated?!

Ahh!
https://github.com/uwolfer/gerrit-intellij-plugin/blob/intellij14/src/main/java/com/urswolfer/intellij/plugin/gerrit/rest/GerritUtil.java#L331
Duno why it's translated. Maybe some magic from our operations

@KazuoD: Thanks for your help. I will fix it soon and provide you a test build if you tell me what version of IntelliJ you are using.
Is anything else in your Gerrit also translated to German?

I'm using Version 2016.1.2  Build 145.971.
Good question but i dont know if there are more translations. I'll inform you if i find any.
Thanks for your time @uwolfer


fix: fix support for rebasing submodules

Hotfixes should be submitted to master branch. As part of the PR process,
you will be asked to provide the information necessary to make that happen.
Pull requests on new features should be submitted to dev branch and will be
regularly merged into master after evaluations over an extended period of
time.

Can you explain a little but what you changed, and how it solves the problem?
I have never worked with submodules so that we be great if you would either post a link or explain a little.

Also, I wanna say thanks!! Love ever contribution. I rebased based on dev.

Ping


Create examples dir and place examples inside.

Closes #5

Maybe... would you help me with add more examples? ...

@jzsmoreno , I'd recommend that we create problem specific issues and add corresponding solutions.


Load dependencies

Sometimes, it would be convenient to specify that one config should be loaded after another.  For example, you could have an app where the path to a config file is specified from the command line, and the config associated with that file shouldn't be loaded until after the command line.  It'd be nice if there was an easy way to specify that one config should be loaded after another.

Possible syntax:
class ConfigA:
    # A list of functions that all must return True in order for the config to
    # be loaded.
    load_deps = [
        after_explicit,
    ]

class ConfigB:
    load_deps = [
        after(ConfigA),
    ]

def after_explicit(obj, explicit):
    return explicit  # i.e. was `load()` called explicitly, or is this `init()`.

def after(config_cls):
    def f(obj, explicit):
        for bc in model.get_bound_configs(obj):
            if isinstance(bc.config, config_cls):
                return bc.is_loaded
    return f

It would also be useful to be able to specify that a config should be loaded upon being accessed for the first time.

Another possible syntax.  Pretty similar to above, but with some cosmetic tweaks:
class MyObj:
    __config__ = [
        ConfigA.setup(load_trigger=None),
        ConfigB.setup(load_trigger=manual),
        ConfigC.setup(load_trigger=ConfigB),
        ConfigD.setup(load_trigger=[ConfigB, ConfigC]),
    ]

Some notes:

The load_trigger setting could also be specified as a class variable, but I expect that it will be more often useful to specify it in the object itself.
The trigger can have the following values:

falsey: load immediately.
callable: gets list of wrapped configs, returns bool indicating whether or not to load.

manual is a callable that always return False

Config: load once a config of the given class has been loaded.
iterable: values may be any of the above, all must be True in order to load.


Fixes #391 - Adds visual tests for stacked bar & line series

These are simply duplicates of the stacked bar visual test. Since it is only a visual test I figured simply duplicating the file would suffice. I'd be happy to refactor this if desired.
In the stacked area visual test it isn't possible to see how the series stack (without using the crosshair) due to #400. Once that is fixed, the stacked series tests should be different colours.
Once this PR is merged in I believe we can close off this issue.

In fact, it seems we can close off #391 & #445 as I seem to have raised a separate issue to add the visual tests.

Happy to see these go in as duplicates as they're only visual tests. I can see in the future quite a bit of the code will probably end up in the library anyway (e.g. snapping).
Thanks!


Better errors and instructions

Incorporate feedback from Tyler's experience onboarding the cpp docs.
There were some typos and outdated instructions in the README. Those are addressed.
One other repeated problem is that the response from GH when there's any auth issues is (understandably) vague. Furthermore, it's valid JSON, so the code tries to parse it, fails, and reports "Key not found" errors without any context. So, wrap the config reading section in a new try catch block to report likely auth errors.

cc @tylerMSFT @TerryGLee as FYI


Update Signatures please!

Learn how to reverse and this wont be a problem, Quit feeding off others and learn to do it yourself.

Changing the sig at CSGOSimple/SourceEngine/SDK.cpp#L108 to 8B 0D ? ? ? ? 8B 01 5D FF resolves the crashes. I've noticed some some visual glitching by ImGUI when drawing ESP, don't know the solution there.

ESP is fixed by getting rid of D3D drawings and hooking PaintTraverse directly. Will probably upload later.

No.


How to train the orientation inpainting and stroke inpainting model?

Nice work! I want to train the orientation inpainting and stroke inpainting model by myself,what should i do?
Another question is that, I see there is a blend network in the project, i specify the parameter '--use_blender' and use style,content,rgb,background,confidence,rgb loss to train the network,but the losses are not normal which their values are Nan.Have you trained the blend network successfully and could you give me any suggestion? What is the difference between using the blend network or not?
Thanks in advance.

The orientation inpainting and stroke inpainting model are trained with the reconstructing mode (with GAN loss). Specifically, we randomly erase part of the hair area and train the model to reconstruct it. As for stroke inpainting model, the training data is generated as follows: we first randomly select a point, and create a stroke start at this point along the original orientation. Then, we erase the extended area around this stroke to generate the crosspending hole.
We previously used blender network to replace the background module and divided the whole synthesis process into two parts: hair synthesis and background blending. We first trained the hair synthesis module and then trained the blender networtk by fixing the parameters of hair synthesis module. But we found that this didn't work very well, so we finally use the background module and training the whole model jointly.


Removed a:FR reference.

Removed Reference To Another Repository
Description
Documentation for the CBMC tests was referring to a different project.
Test Steps
None
Related Issue
None
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks

I've looked at the "failures" — tests finished and models are satisfiable. Not sure why infra marked them failed.
While we look into those, merging PRs not touching code.


Serial Number is not unique

V9.0
Sorry for reporting another (really small) issue:
After starting TyCommander I often (always?) get the following error for my USB Cable;

The information tab shows ? in the serial number field and "_-Unknown" as identity. After power cycling the cable, the serial number (00001)  is found and everything works as expected
To exclude a problem with the cable I checked the device manager while TyCommander is in the state where it doesn't find the serial number. It shows.

Which seems to be OK.
Looks like a glitch in correctly detecting the device at startup of TyCommander.

I meanwhile checked a few others. The issue seems to only happen with that very cheap CP2102 cable. So, not worth to put any effort in this.


Refactor clinical service forms

Moved clinical service and form code to single module
Moved service and form loading code to single service
Loading only forms necessary for current view
Removed run-before-app / run-after-app scripts
Removed clinical services and form layout from $rootScope
Unit tests

Loading clinical module went from:

to:

Coverage increased (+0.09%) to 37.722% when pulling f852778f163cf6708ab7219dfb1cdfa35e4fd7a0 on ynurmahomed:fix-form-fields into 8c74fd27521a40b9c0078fed9f0b28fc6dc5931f on esaude:master.

Coverage increased (+0.08%) to 37.711% when pulling d38671d228c4ac48d1f5adc9ac5bff650ef7e8d5 on ynurmahomed:fix-form-fields into 8c74fd27521a40b9c0078fed9f0b28fc6dc5931f on esaude:master.

Coverage increased (+0.07%) to 37.696% when pulling d38671d228c4ac48d1f5adc9ac5bff650ef7e8d5 on ynurmahomed:fix-form-fields into 8c74fd27521a40b9c0078fed9f0b28fc6dc5931f on esaude:master.

Starting review...

Coverage increased (+0.2%) to 37.798% when pulling 6adb640d2e7db1501e328bc460d7eb9276a7e75d on ynurmahomed:fix-form-fields into 8c74fd27521a40b9c0078fed9f0b28fc6dc5931f on esaude:master.

Coverage increased (+0.2%) to 37.798% when pulling 72da8e1bf32d77ca15eef9f0914be280f14e4969 on ynurmahomed:fix-form-fields into 8c74fd27521a40b9c0078fed9f0b28fc6dc5931f on esaude:master.

Coverage increased (+0.2%) to 37.791% when pulling 160d0767273b59f87ffcc8f27b607c47c25b029a on ynurmahomed:fix-form-fields into 8c74fd27521a40b9c0078fed9f0b28fc6dc5931f on esaude:master.

Really great improvements here!! Performance is good for once. :sparkles: :tada: :clap:

 Improve clinical service forms


If the failure message or stack contains colors, the XML will render invalid

The attached file was produced with the JUnitXmlReporter: test-results.xml.zip
It is invalid XML as a <![CDATA[ blob contains the 0x1B byte on line 1045 at column 71, which is not proper UTF-8.
This PR introduces escapeControlChars which is a less agressive escape function that is now used by escapeInvalidXmlChars after escaping <, />, etc.
escapeControlChars now wraps the failure.stack || failure.message to get rid of the unwanted bytes.

@bloveridge Changed const to a var 👍

Thanks!


Content-Type is not validated

It looks like openapi-backend isn't validating the Content-Type defined in the OpenAPI specification, and worse it will happily pass along payloads that aren't valid. For a quick example, if I have an endpoint defined as such:
     requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                messages:
                  type: array
                  minItems: 1
                  maxItems: 100
                  items:
                    $ref: '#/components/schemas/MessageID'

The validation works great when I pass a Content-Type: application/json header, but if I set the header value to text/plain, the endpoint is called with no validation and the payload is empty. Is there perhaps an easy way to verify the content is as expected?

AFAIK, from when I was going through the code to troubleshoot some issues, the schema is validated only for content-type: application/json. The other content-types are ignored (not validated).

AFAIK, from when I was going through the code to troubleshoot some issues, the schema is validated only for content-type: application/json. The other content-types are ignored (not validated).

I think that probably makes sense, but openapi-backend should project reject other types, otherwise the payloads are being passed without any validation.

Right. I am not saying this is not a bug.
It should support other content-types.
Similar/same issue has already been raised: #94


can not load images from public assets

Commit d3bb8339fb2fcbb2e3592eb0bbe22bc8ad06b893 [d3bb833] broke SR/ACI demo flow be removing asset and making available unusable in preface.

to text we can use https://wwwin-github.cisco.com/APJ-GSP-ADT/YAP-Zoo/blob/master/YAP_New_Format/multi_domain_sr_aci.json

agreed to rollback changes on assets and remove app from cluster

fix 4e0ca840faadf2036b6b9159c518c644f95cdb0e


Helm renderer doesn't abort or function early

When evaluating this yaml file helm crashes.
---
{{if or .Values.mqtttopostgresql.enabled .Values._000_commonConfig.datastorage.enabled }}

{{if or (not .Values.mqtttopostgresql.pdb) (and .Values.mqtttopostgresql.pdb (.Values.mqtttopostgresql.pdb.enabled | default true))}}

apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: {{include "united-manufacturing-hub.fullname" .}}-mqtttopostgresql-pdb
spec:
  minAvailable: {{.Values.mqtttopostgresql.pdb.minAvailable | default 1}}
  selector:
    matchLabels:
      name: {{include "united-manufacturing-hub.fullname" .}}-mqtttopostgresql

{{end}}
{{end}}

 .Values.mqtttopostgresql.enabled is true, same for .Values._000_commonConfig.datastorage.enabled
.Values.mqtttopostgresql.pdb is nil, therefor the or operator should do an early return, since not nil should return true
(venv) PS E:\UMH\UMHStack\deployment\united-manufacturing-hub> helm install united-manufacturing-hub . -n united-manufacturing-hub --dry-run --debug > test.yaml
install.go:178: [debug] Original chart version: ""
install.go:195: [debug] CHART PATH: E:\UMH\UMHStack\deployment\united-manufacturing-hub

Error: INSTALLATION FAILED: template: united-manufacturing-hub/templates/mqtttopostgresql/pdb.yaml:5:85: executing "united-manufacturing-hub/templates/mqtttopostgresql/pdb.yaml" at <.Values.mqtttopostgresql.pdb.enabled>: nil pointer evaluating interface {}.enabled
helm.go:84: [debug] template: united-manufacturing-hub/templates/mqtttopostgresql/pdb.yaml:5:85: executing "united-manufacturing-hub/templates/mqtttopostgresql/pdb.yaml" at <.Values.mqtttopostgresql.pdb.enabled>: nil pointer evaluating interface {}.enabled
INSTALLATION FAILED
main.newInstallCmd.func2
        helm.sh/helm/v3/cmd/helm/install.go:127
github.com/spf13/cobra.(*Command).execute
        github.com/spf13/cobra@v1.4.0/command.go:856
github.com/spf13/cobra.(*Command).ExecuteC
        github.com/spf13/cobra@v1.4.0/command.go:974
github.com/spf13/cobra.(*Command).Execute
        github.com/spf13/cobra@v1.4.0/command.go:902
main.main
        helm.sh/helm/v3/cmd/helm/helm.go:83
runtime.main
        runtime/proc.go:255
runtime.goexit
        runtime/asm_amd64.s:1581

Is there any other method to do this conditional check, based on the check if pdb is defined ?

System Info
Output of helm version:
version.BuildInfo{Version:"v3.9.0", GitCommit:"7ceeda6c585217a19a1131663d8cd1f7d641b2a7", GitTreeState:"clean", GoVersion:"go1.17.5"}

Output of kubectl version:
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.1", GitCommit:"3ddd0f45aa91e2f30c70734b175631bec5b5825a", GitTreeState:"clean", BuildDate:"2022-05-24T12:26:19Z", GoVersion:"go1.18.2", Compiler:"gc", Platform:"windows/amd64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:19:12Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.):
minikube

The same behavior can be observed with an simplified expression:
{{if or true (and false (.Values.mqtttopostgresql.pdb.enabled | default true))}}

It seems this is not possible with the current Go templating engine, see https://github.com/golang/go/issues/31103

Should be fixed by upgrading to go 1.18.
There is already a PR for this https://github.com/helm/helm/pull/10806

PR https://github.com/helm/helm/pull/10806 has been merged now.
You test it with the latest canary release of Helm. Details on that can be found at https://helm.sh/docs/intro/install/#from-canary-builds. The canary builds are rebuilt every time a change lands on the main branch.


Simplify asciiString.runes

Did you benchmark this? The built-in conversion mechanism can't make any assumptions, so it has to decode UTF-8 whereas the runes() method knows it's an ASCII string. In theory the latter should be a tiny bit faster, although I did not benchmark it myself.

I did, and forgot to publish them :facepalm:
This is with -count 5 -benchmem and passing it through benchstat - there is minimal difference, which is why I renamed the original commit message from optimize to simplify before pushing :D.
As far as I can see runtime.stringtoslicerune seems to be doing some amount of optimizations as well, but apparently nothing that matters all that much for the current benchmarks.


Dynamic menus with submenus

Just a suggestion of improvement. Ability to create submenus just for display purpose.
RegisterMainMenuCommand(id, name, descriptionopt, [subMenu])
Empty by default. Id and all that working the same, only telling the UI where to place the entry within the Panel's menu (contrary to the other menu functions).
Or just allow dividing entries by '/', being the last part the entry name and the rest submenus.
RegisterMainMenuCommand(id, name1/name2, descriptionopt)
Rationale: exposing entries from things like Playlist tools or the manager clutter the lists easily. For example adding menus to load playlists files, which could be easily grouped... (the idea is exposing SMP things for server management via http control https://hydrogenaud.io/index.php?topic=62218.msg1000180#msg1000180 or CMD)

PS: Main menu API is kind of a PITA, so I don't think I will get to this any time soon, because I don't want to deal with it :D


help:  Add "Schedule a message" help center page + minor tweaks.

Fixes #25407.
Schedule a message page
Notes:

I put the page right after "Message drafts" in the "Sending messages" sidebar section.

Follow-ups:

I didn't deal with cross-linking related pages. @drrosa would be great if you could post a follow-up PR for this.
Can we offer links to "Drafts" and "Scheduled messages" for logged in users? If so, that's probably a good follow-up for @drrosa as well.

Screenshots

Other
The custom-emoji.md change is trivial. For the drafts, page, I think always numbering instruction steps (even if there's just one) looks better?
Current: https://zulip.com/help/view-and-edit-your-message-drafts

Updated

@drrosa Would be great to get your review on this one.
I'm marking this PR for integration review, because I'm feeling pretty good about it. We can close out the release goal and make any additional tweaks as follow-ups.

For the drafts page, I think always numbering instruction steps (even if there's just one) looks better?

Yeah, agreed.


Preferences pref actions slot aren't returning values

Granted, could very easily be my ignorance; however, the following doesn't give me values from the slot:
<script>
    import * as M from "svelte-materialify/src";
    import * as I from "@mdi/js";
    import * as A from "svelte-appwrite";

    let preferences;
    let prefActions;

    function loadPrefs(e) {
        preferences = e.detail;
    }
</script>

<M.Container>
    <A.User let:user>
        <A.Preferences
            let:prefs={preferences}
            let:actions={prefActions}
            on:failure
        >
            Preferences: {preferences}
            {prefActions}
        </A.Preferences>
    </A.User>
</M.Container>

Results in:
{} Preferences: undefined [object Object]
I've analyzed prefActions and it is correct but preferences remains undefined?

@TorstenDittmann is this still relevant?


Issues consuming-web-service on cloudfoundry

I followed your example to send and receive messages, my application works perfectly on local machine (localhost:8080) ,  but when I upload the application on cloudfoundry I get  null pointer exception when i try to access response object.
please see attached logs log.txt
Have you test it on cloudfoundry ?

The sample in this guide is not a web app so it isn't supposed to run in Cloud Foundry. Probably you were running something a bit different in that case?

Yes. You right. Thanks for pointing out.

Hi Dave,
Can we run Spring-WS Client in Cloud Foundry ?

Why would you not be able to?

With large data, the response object is returned while message are still coming. please see the second line of the log file.
log.txt

CF requires a server up and running. The guide is more like a job that runs and shuts down. Hence, CF looks at it like a failure.
If you built a server app that made SOAP calls, it would run just fine since it's simply a web call.

Thanks @gregturn

Hi Greg,
It runs fine with EC2 + WildFly.

:)


Fix /grafana/api/live/ws 400 in nginx

What type of PR is this?
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/LGTM


Clickhouse JDBC driver support

Hi all,
I'm trying to use Poli with Clickhouse using the official JDBC driver, but after setting parameters it shows an Internal Server error message in Poli:
Internal Server Error: org/apache/http/conn/ConnectionKeepAliveStrategy
I've tried increasing JDBC parameters like connect_timeout and similar to no avail.
Is there any workaround?
Thanks!

Hey, thanks for using Poli.
I can reproduce your issue. It throws a no class found error when I try to test the connection because it cannot find the httpclientcomponent dependency the jdbc driver needs. The root cause is the clickhouse jdbc in maven has no dependencies included.
Here is how I fix it.
My environment:

Ubuntu 20.04
OpenJDK 11.0.8
Poli 0.12.2
Latest Clickhouse server and client

Steps:

I followed the instructions on clickhouse website to install database, set a root password and create a database called tutorial.
I cloned clickhouse jdbc source code from its git repo.
If you go to that page and scroll down, you will see a command to build a jar with dependencies. When I run it, it gives me an error complaining about javadocs. To bypass that, I just modify the pom.xml and removed the following piece between line 171-183.

          <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.9.1</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

After removing that block, I run the the command again and it generates a jar called clickhouse-jdbc-0.2.4-jar-with-dependencies.jar under target folder.
I copied it to poli-0.12.2/jdbc-drivers folder, started the server and the test connection works for me.

Here is my datasource setup

Hi shzlw! Thanks for looking at it. Poli it's a wonderful product!
I followed your suggestions and generated a new jar with all dependencies. Copied that to jdbc-drivers, but after I restarted poli it throws a new error:
Internal Server Error: com.fasterxml.jackson.annotation.JsonFormat$Value.hasLenient()Z
By the way, I'm using the docker version of Poli....

Tried again again with a fresh new install of Ubuntu 20.04 (on Docker), latest openjdk-11 and latest poli (0.12.2).
Cloned jdbc driver to that machine and generated .jar with dependencies using mvn, excluding javadoc dependency portion. Still the getting same error: Internal Server Error: 'boolean com.fasterxml.jackson.annotation.JsonFormat$Value.hasLenient()'

I only tested the data source connection by clicking the ping button. Did you get the exception when you try to ping the database or it happened when you tried to run a query in a report?

I only tested the data source connection by clicking the ping button. Did you get the exception when you try to ping the database or it happened when you tried to run a query in a report?

It happens after restarting during login. First I started the app, changed password, added the new driver, then restarted...and there appears the error when I try to login. Somehow the addition of that jar interferes with the login process...


Components text color "blink" in safari when clicked (active state?)

It looks like the color changes to white.
Affected components:

Accordion
TertiaryButton

Fixed in #126


Why are streams slower than 'standard' protocol implementations?

Streams seem to be slower. Why is that so?

I've applied some optimizations to uvloop since that blog post which made streams 20-30% faster.
They are slower than callback/protocol implementation because of an extra layer of abstraction. async/await, Tasks and Futures introduce some overhead. That said, I think it's possible to remove a lot of that overhead by implementing Futures/Tasks/Streams in C, which we're slowly doing now.

I think if it's possible to remove a lot of that overhead by implementing Futures/Tasks/Streams when parsing protocol and then apply the protocol result async.
something like https://github.com/mayflaver/sora

@mayflaver would you explain in details what's the difference between current implementation and your idea?

@asvetlov  more yield trigger more overhead

Thanks a lot for your explanation! I guess this can be closed now


Add ability to cancel repeater search

Add ability for user to cancel an in-progress search on the repeater.
Possibly fire a "searchCancelled" event. Make sure that if the long-running search does eventually execute successfully there is a way to keep it from clobbering the repeater values/display.
Requested by Brian Tuttle for email team.

Confirm on cancel repeater returns to cached (previously displayed) records


Lots of asyncio date/time errors in logs

Home Assistant release (hass --version): 0.29.6
Python release (python3 --version): 3.4.2
Component/platform: NA
Description of problem: I am seeing lot of asyncio date/time errors in the log after the recent update. In the last 10 minutes, there are about 116 of such blocks, although they don't seem to affect HA operations.
16-10-02 17:50:00 asyncio: Exception in callback run_callback_threadsafe.<locals>.run_callback() at /srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/util/async.py:144
handle: <Handle run_callback_threadsafe.<locals>.run_callback() at /srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/util/async.py:144>
Traceback (most recent call last):
  File "/usr/lib/python3.4/asyncio/events.py", line 120, in _run
    self._callback(*self._args)
  File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/util/async.py", line 147, in run_callback
    future.set_result(callback(*args))
  File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/helpers/condition.py", line 221, in async_template
    value = value_template.async_render(variables)
  File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/helpers/template.py", line 99, in async_render
    return self._compiled.render(kwargs).strip()
  File "/srv/hass/hass_venv/lib/python3.4/site-packages/jinja2/environment.py", line 989, in render
    return self.environment.handle_exception(exc_info, True)
  File "/srv/hass/hass_venv/lib/python3.4/site-packages/jinja2/environment.py", line 754, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/srv/hass/hass_venv/lib/python3.4/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "<template>", line 1, in top-level template code
  File "/srv/hass/hass_venv/lib/python3.4/site-packages/jinja2/sandbox.py", line 355, in call
    return __context.call(__obj, *args, **kwargs)
  File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/util/dt.py", line 73, in as_timestamp
    raise ValueError("not a valid date/time.")
ValueError: not a valid date/time.

Additional info: Not sure what specifically is causing these errors, but will be happy to help debug them.

Did you see the breaking change in the 0.29 release notes that now and utcnow are now functions?

Oops....I thought I changed all the now...looks like I missed one of them.


E19: Be a Hero on Day 1 with ASP.Net Boilerplate

############### PYTHON SCRIPT TO GENERATE NEW ENTITIES FROM LEE'S CODE -- HOW-TO ###########################################################
Thanks goes to Lee Richardson for the video tutorial and the source code for how to create a working generic entity in ASP.NET Boilerplate
This Python code copies the Product entity, its AppService, Angular components and html files from Lee's code and generates a new entity
with a new name defined by the user. But it is generic enough that it can use other people's code as source as well.

PLEASE FEEL FREE TO IMPROVE THIS SCRIPT AND SHARE

This works fine with Python 3. Save this into a generateEntityFromLeesStore.py file

If you want to create a new entity named Fig with its Angular components, run:
python generateEntityFromLeesStore.pl Fig Figs
If you want to create a new entity named Shelf with its Angular components, run:
python generateEntityFromLeesStore.pl Shelf Shelves
If you like, you can also python generateEntityFromLeesStore.pl Shelf Shelfs

You need to enter the USER INPUT below

target_dir is the root directory of your code that (i) you want to create a new entity in, and (ii) it contains the angular and aspnet-core folders
solutionName is the name space of your solution. This will replace the name space in files in the source code.

source_dir is the root directory that (i) you want to copy an ready-to-use entity from, and (ii) it contains the angular and aspnet-core folders

Entity is the name of the ready-to-use entity in the source code, It must start with capital letter
Entities is the plural form of the Entity in the source code

Example:
Suppose you save your project in the "C:\MyProjects" folder, and you have created an ASP.NET Boiler plate with the name of "Sample" and unzipped the file
in the "C:\MyProjects" folder, and the "C:\MyProjects\Sample\5.6.0" is the folder that contains the angular and aspnet-core folders. Then set
target_dir = "C:\MyProjects\Sample\5.6.0\"
*** notice double dashes ***
The boiler plate sets the name space as "Sample" by default unless you change it. So set
solutionName = "Sample"

Suppose you downloaded and unziped Lee Richardson's LeesStore app at https://github.com/lprichar/LeesStore/pull/13 in your "C:\temp" and
C:temp\LeesStore-product-crud\ is the folder that has the angular and aspnet-core folders. Then set
source_dir = "C:\temp\LeesStore-product-crud\
*** notice double dashes ***
Check the name space in the source code. In this example, it is "LeesStore", so
sourceSsolutionName = "LeesStore"

Suppose you want to generate your new Fig entity by using Lee's Product entity. Then set
Entity = "Product"
Entities = "Products"

Change the following connection strings according to your settings
the following is the default in ABP
originalConnectionString = "Server=localhost; Database=" + solutionName+ "Db; Trusted_Connection=True;"
and this is your new connection string
myConnectionString = ""
In case you want to change part of it as I do here:
originalConnectionString = "Server=localhost"
myConnectionString = "Data Source=(localdb)\\MSSQLLocalDB"
*** notice "double" double dashes ***

If you want to group your new entities in a new Models folder under the Core folder, set
groupEntities = True

Run the following command in the folder of this file:
python generateEntityFromLeesStore.pl Fig Figs

Add migrations, update database

Add properties to your new Fig entity, update the html files in folder C:\MyProjects\Sample\angular\src\app\figs and in its subfolders
with properties of your new Fig entity

Run nswag

###################################################################################################################################
############  USER INPUT ###########
the root directory of your app that contains the angular and aspnet-core folders
target_dir = "C:\MyProjects\Sample\5.6.0\"
the namespace of your solution
solutionName = "Sample"
the root directory of the app, from which you will copy a ready-to0use entity, that contains the angular and aspnet-core folders
source_dir = "C:\temp\LeesStore-product-crud\"
the name space of the app you will copy from
sourceSolutionName = "LeesStore"
the name of the Entity in the source app that you will copy
Entity = "Product"
Entities = "Products"
Change the following connection strings according to your settings
the following is the default
originalConnectionString = "Server=localhost; Database=" + solutionName+ "Db; Trusted_Connection=True;"
myConnectionString = ""
In case you want to change part of it as I do here, you can delete the override below:
originalConnectionString = "Server=localhost"
myConnectionString = "Data Source=(localdb)\\MSSQLLocalDB"
set the following to True if you want to group all new entities in a Models folder and False if you not want grouping
groupEntities = False
OPTIONAL: To add table to database, permissions, item to nav bar etc, set the following to True, and add the following lines
to your corresponsing files
generateRemaining = True;
addPermissionName = "public const string Pages_Roles = "Pages.Roles";"
registerPermission = "context.CreatePermission(PermissionNames.Pages_Tenants, L("Tenants"), multiTenancySides: MultiTenancySides.Host);"
addLocalization =""
addDBSet = "/* Define a DbSet for each entity of the application */"
addDeclarations = "declarations: ["
addProviders = "entryComponents: ["
addProxies = "providers: ["
addMenuItem ="new MenuItem(this.l('HomePage'), '/app/home', 'fas fa-home'),"
addRoute = "children: ["
#########################
Models = ""
if groupEntities:
Models = "Models"
entity = Entity.lower()
entities = Entities.lower()
import os
import sys
from distutils.dir_util import copy_tree
import shutil
Function to change file names and directory names
def rename_files(newName,directory):
for dir, subdirs, names in os.walk( directory ):
for name in names:
src = os.path.join( dir, name )
new_filename = name
newname = newName.lower()
        if Entity in name:
            new_filename = new_filename.replace(Entity,newName)
        else:
            new_filename = new_filename.replace(entity,newname)

        dst = os.path.join( dir, new_filename)
        os.rename(src, dst)

    new_dir = dir
    if Entity in dir:
        new_dir = new_dir.replace(Entity,newName)
    else:
        new_dir = new_dir.replace(entity,newname)

        os.rename(dir, new_dir)

Function to replace strings in files
def recursive_replace( root, pattern, replace ):
for dir, subdirs, names in os.walk( root ):
for name in names:
path = os.path.join( dir, name )
text = open( path ).read()
if pattern in text:
open( path, 'w' ).write( text.replace( pattern, replace ) )
Function to add lines into files
def add_line(path,marker,line,emptyspace):
text = open( path ).read()
if marker in text:
if line not in text:
replace = marker + "\n" + emptyspace + line
open( path, 'w' ).write( text.replace( marker, replace ) )
######### ASP.NET CORE #########
New_model = sys.argv[1]
new_model = New_model.lower()
New_models = sys.argv[2]
new_models = New_models.lower()
newNameSpace = solutionName
oldNameSpace = sourceSolutionName
MODEL
Check/Create Models directory
toDirectory = target_dir + "aspnet-core\src\" + solutionName + ".Core\" + Models
if not os.path.exists(toDirectory):
os.mkdir(toDirectory)
Check/Create new Entity directory
toDirectory = toDirectory + "\" + New_models
if os.path.exists(toDirectory):
shutil.rmtree(toDirectory, ignore_errors=False, onerror=None)
os.mkdir(toDirectory)
Copy Model
fromDirectory = source_dir + "aspnet-core\src\" + sourceSolutionName + ".Core\" + Entities
copy_tree(fromDirectory, toDirectory)
rename files
rename_files(New_model,toDirectory)
replace model name
recursive_replace(toDirectory,Entity,New_model)
recursive_replace(toDirectory,entity,new_model)
recursive_replace(toDirectory,oldNameSpace,newNameSpace)
APP SERVICES
toDirectory = target_dir + "aspnet-core\src\" + solutionName + ".Application"
Check/Create new AppService directory
toDirectory = toDirectory + "\" + New_models
if os.path.exists(toDirectory):
shutil.rmtree(toDirectory, ignore_errors=False, onerror=None)
os.mkdir(toDirectory)
Copy App Services
fromDirectory = source_dir + "aspnet-core\src\" + sourceSolutionName + ".Application\" + Entities
copy_tree(fromDirectory, toDirectory)
rename files
rename_files(New_model,toDirectory)
replace model name
recursive_replace(toDirectory,Entity,New_model)
recursive_replace(toDirectory,entity,new_model)
recursive_replace(toDirectory,oldNameSpace,newNameSpace)
######### ANGULAR #########
toDirectory = target_dir + "angular\src\app\" + new_models
Check/Create new component directory
if not os.path.exists(toDirectory):
os.mkdir(toDirectory)
Copy components etc
fromDirectory = source_dir + "angular\src\app\" + entities
copy_tree(fromDirectory, toDirectory)
rename files
rename_files(new_model,toDirectory)
replace model name
recursive_replace(toDirectory,Entity,New_model)
recursive_replace(toDirectory,entity,new_model)
if generateRemaining:
# Add new permission name
permissionsDirectory = target_dir + "aspnet-core\src\" + solutionName + ".Core\Authorization"
path = os.path.join( permissionsDirectory, "PermissionNames.cs" )
marker = addPermissionName
addLine = "public const string Pages_" + New_models + " = "Pages." + New_models + "";"
emptyspace = "\n        "
add_line(path,marker,addLine,emptyspace)
# Register new permission
path = os.path.join( permissionsDirectory, solutionName + "AuthorizationProvider.cs" )
marker = registerPermission
addLine = "context.CreatePermission(PermissionNames.Pages_" + New_models + ", L(\"" + New_models + "\"));"
emptyspace = "            "
add_line(path,marker,addLine,emptyspace)

# Add localization
localizationDirectory = target_dir + "aspnet-core\\src\\" + solutionName + ".Core\\Localization\\SourceFiles"
path = os.path.join( localizationDirectory, solutionName + ".xml" )
marker = addLocalization
addLine = "<text name=\"" + New_models + "\" value=\"" + New_models + "\" />"
emptyspace = "\n    "
add_line(path,marker,addLine,emptyspace)

# Add to database
dbDirectory = target_dir + "aspnet-core\\src\\" + solutionName + ".EntityFrameworkCore\\EntityFrameworkCore"
path = os.path.join( dbDirectory, solutionName + "DbContext.cs" )
marker = addDBSet
addLine = "public DbSet<" + New_model + "> " + New_models + " { get; set; }"
emptyspace = "\n        "
add_line(path,marker,addLine,emptyspace)
marker = "using " + solutionName + ".MultiTenancy;"
addLine = "using " + solutionName + "." + New_models + ";"
emptyspace = ""
add_line(path,marker,addLine,emptyspace)

# Register modules in angular
ngDirectory = target_dir + "angular\\src\\app"
path = os.path.join( ngDirectory, "app.module.ts" )
marker = addDeclarations
addLine = "    // " + new_models + "\n    " + New_models +"Component,\n    Create"+ New_model + "DialogComponent,\n    Edit" + New_model + "DialogComponent,"
emptyspace = ""
add_line(path,marker,addLine,emptyspace)

# Register providers in angular
marker = addProviders
addLine = "    // " + new_models + "\n    Create"+ New_model + "DialogComponent,\n    Edit" + New_model + "DialogComponent,"
emptyspace = ""
add_line(path,marker,addLine,emptyspace)

# Register route
path = os.path.join( ngDirectory, "app-routing.module.ts" )
marker = addRoute
addLine = "                    { path: '" + new_models + "', component: " + New_models + "Component, data: { permission: 'Pages." + New_models + "' }, canActivate: [AppRouteGuard] },"
emptyspace = ""
add_line(path,marker,addLine,emptyspace)

# Register service proxy in angular
ngDirectory = target_dir + "angular\\src\\shared\\service-proxies"
path = os.path.join( ngDirectory, "service-proxy.module.ts" )
marker = addProxies
addLine = "        ApiServiceProxies." + New_model + "ServiceProxy,"
emptyspace = ""
add_line(path,marker,addLine,emptyspace)

# Add to menu on the sidebar
ngDirectory = target_dir + "angular\\src\\app\\layout"
path = os.path.join( ngDirectory, "sidebar-menu.component.ts" )
marker = addMenuItem
addLine = "      new MenuItem(this.l('" + New_models + "'),'/app/" + new_models + "','fas fa-building','Pages." + New_models + "'),"
emptyspace = ""
add_line(path,marker,addLine,emptyspace)

# Finally set your connection string here
dbDirectory = target_dir + "aspnet-core\\src\\" + solutionName + ".Web.Host"
path = os.path.join( dbDirectory, "appsettings.json" )
text = open( path ).read()
open( path, 'w' ).write( text.replace( originalConnectionString, myConnectionString ) )


DO reads old dhclient.leases file when it has static ip, causing wrong default gateway

Environment

Declarative Onboarding Version: v1.16.0
BIG-IP Version: BIG-IP v<IP_ADDRESS> (Build 0.0.6)

Summary
If the management interface was on a DHCP network and moved to static IP, the dhclient service is restarted under a DO.
This leads to the dhclient not getting a new IP, but reads from the dhclient.leases file and set the old gateway.
This then leads to the f5 going "offline" because of the new/wrong gateway IP.
Steps To Reproduce
Steps to reproduce the behavior:

Create a new F5 VM with the mgmt interface on a dhcp network
Post a DO to the VM
Move the mgmt interface to a network without dhcp.
3.1. Set a static IP on mgmt interface
Rerun the same DO
Observe the following error response:

RUNNING
RUNNING
ROLLING_BACK
ERROR:  [tryUntil: max tries reached: dhclient status is * dhclient.service - dhclient automatically configures the management interface when DHCP is available.
   Loaded: loaded (/etc/rc.d/init.d/dhclient; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2020-10-26 06:48:29 PDT; 1min 2s ago
  Process: 28686 ExecStop=/etc/rc.d/init.d/dhclient stop (code=exited, status=0/SUCCESS)
  Process: 28796 ExecStart=/etc/rc.d/init.d/dhclient start (code=exited, status=0/SUCCESS)

Oct 26 06:48:29 localhost.localdomain systemd[1]: Starting dhclient automatically configures the management interface when DHCP is available....
Oct 26 06:48:29 localhost.localdomain dhclient[28796]: Current management-ip configuration mode for IPV4 is: Static.
Oct 26 06:48:29 localhost.localdomain systemd[1]: Started dhclient automatically configures the management interface when DHCP is available..

Run "ip r" to check the default gateway is set to the old gateway received from dhcp

Expected Behavior
DO should not trigger a restart of the dhclient systemd service. Or there should be some checks that the mgmt interface has a static IP.

Can you provide a DO declaration that reproduces this issue for you? Also, are you performing step 3.1 with DO or outside of DO?

It does not matter what the DO posted is to reproduce this. As long as the box was on an mgmt network with DHCP, then moved to a network without DHCP, this will happen.
3.1 is done on the console to get it back with the right IP/gateway.

There have been a few changes in this area. Are you still seeing this issue with the latest version of Declarative Onboarding?


Connection defined but not required or accessed correctly.

Hello Anmol Koul,
Thanks alot for this fantastic project. Both your explanation on the blog and the codes provided
me a good reading and learning experience.
However, I noticed a little issue and identified a way it can be fixed.
Issue:
The mongoose connection (connectionsubject) used in SubjectViews.js was neither defined nor required in
SubjectViews.js. Hence its undefined there.
However, this mongoose connection was defined in server.js and never used there.
Fix:
Move require db.js to  SubjectViews.js like this: var db = require('../../config/db');
This stepback (../../) can be avoided but it is ok just to keep the structure of the app and the blogpost in sync.
Also, move:
var mongoose = require('mongoose'); and
var connectionsubject = mongoose.createConnection(db.urlSubjectViews);
to SubjectViews.js
I have fixed this and made a pull request.

Verifying your observations now


Mainnet Validators page not updated

The mainnet validators page has not been updated since 2024-04-08 05:30
Steps to reproduce the behavior:

Go to https://app.telos.net/validators

Expected behavior
The validators page should be updated according to the https://explorer.telos.net/vote

Possibly related to https://github.com/telosnetwork/open-block-explorer/issues/866


Are Notification Action Buttons available for local notifications?

the buttons that come with a notification, since flutter_local_notification does not support that and there are many people needing that

Yes, all features works for local and push notifications. Some advanced layouts and schedule unfortunately are not working on iOS for a while, but all action buttons functionality are available for both platforms and for local and push notifications.
OBS: This plugin are not related to flutter_local_notifications and should not be used simultaneously with it.

Thank you so much @rafaelsetragni  for your work. I really mean it. Please continue developing it as flutter really lacks in this area. Thank you again !


Create Terraform vars for test/dev cluster, CP4D, etc for release branch 4.5

@aishwaryabk: Adding label do-not-merge/contains-merge-commits because PR contains merge commits, which are not allowed in this repository.
Use git rebase to reapply your commits on top of the target branch. Detailed instructions for doing so can be found here.

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: aishwaryabk
To complete the pull request process, please assign yussufsh after the PR has been reviewed.
You can assign the PR to them by writing /assign @yussufsh in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @aishwaryabk. Thanks for your PR.
I'm waiting for a ocp-power-automation member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: aishwaryabk, yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@aishwaryabk can you please check your commit for do-not-merge/contains-merge-commits ?

/ok-to-test

@aishwaryabk can you please check your commit for do-not-merge/contains-merge-commits ?

That was added initially because she had wrong target branch. Now it looks proper.

/cc @bpradipt

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: aishwaryabk, bpradipt, yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [bpradipt,yussufsh]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Handle bug in gridded groupby when dropping dimensions

In certain scenarios dropping dimensions in a gridded groupby would not behave correctly. This fixes the bug and adds some tests.

Ready.

Looks good and extra tests are always worthwhile. Merging.


Firefox Mobile error: WebGL warning: vertexAttribPointer: -1 is not a valid index

A bug in the API:

Phaser version(s): v2.8.4
Live example: Memory done following phaserjs.com's tutorial
What should happen: Phaser should select CANVAS since it is in auto when I try it under Firefox Mobile 55 (Android 7.1.1)
What happens instead: I see the Game view, but nothing happen when I click to pass the title screen. On the console I have the following:
Phaser CE v2.8.4 | Pixi.js | WebGL | WebAudio    " http://phaser.io "♥♥♥
Error: WebGL warning: vertexAttribPointer: -1 is not a valid index. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.
...

A problem with my own code (maybe)

I think it really is a bug in PIXI.js OR Firefox Mobile but since I know none of them...
Be nice. We do this for free. <3

If Firefox Mobile supports WebGL then Phaser will use it (for AUTO). You can try CANVAS instead and see what happens.

Please view filters/bacteria and see if it runs and if you get the WebGL warning in the console.
If you get the warning, please expand the trace and note it.

Animation is working but in the console I got:
loadPath ../  example.js:6:3
scale.boot() scaleMode 2  example.js:21:5
   Phaser CE v2.8.4 | Pixi.js | WebGL | WebAudio    " http://phaser.io "♥♥♥  phaser.js:35035:13
load.reset() load.path ../  example.js:15:5
Error: WebGL warning: Exceeded 2 live WebGL contexts for this principal, losing the least recently used one.  phaser.js:17190:14
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
load.reset() load.path ../  example.js:15:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:18818:9
Error: WebGL warning: vertexAttribPointer: -1 is not a valid `index`. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser.js:19813:5
Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings)  phaser.js:19813:5

If the animation is still running it seems the WebGL error isn't fatal.

Yep at first I thought it was the error blocking my game from working but in fact not.
Still seeing Error messages in the console (even non blocking ones) is concerning. I don't have those when I activate the "Ask the desktop page" option.
For the sake of checking when going on the page https://get.webgl.org/ I don't have anyting about WebGL.
Only this: using requestAnimationFrame  tdl-minified.js:28:213
The same error is repeated on 2 different lines:
phaser.js:18818:9 inside:
PIXI.WebGLSpriteBatch.prototype.flush
...
gl.vertexAttribPointer(shader.aTextureIndex, 1, gl.FLOAT, false, stride, 20);

phaser.js:19813:5 inside:
PIXI.WebGLFilterManager.prototype.applyFilterPass
...
gl.vertexAttribPointer(shader.aTextureCoord, 2, gl.FLOAT, false, 0, 0);

Don't think I could help you more on this one. Tell me if I should report it to PIXI or to Firefox.

It's likely a Phaser issue but it's hard to debug.
You can try
game.camera.fx.kill();
game.debug.sprite.kill();

to see if it makes any difference.

Same error but the evening (both with and without your code) I only see the error on line 18818:
Error: WebGL warning: vertexAttribPointer: -1 is not a valid index. This value probably comes from a getAttribLocation() call, where this return value -1 means that the passed name didn't correspond to an active attribute in the specified program.  phaser-test.js:18818:9 32 times
Just to be sure my code look like this:
window.addEventListener("load", function () {
	let game = new Phaser.Game(500, 500);
	game.camera.fx.kill();
	game.debug.sprite.kill();
	[...]
}


multiple nicehash accounts

Can I monitor some nicehash accounts? Thanks

This is not possible at this time. I've added this request to a list of others

Oops, didn't mean to close


ResearchOps: managing a roster of research participants

User story
As a ReportStream researcher, I want to complete the Managing a Roster of Research Participants section, so that current and future researchers have a centralized playbook to know how to effectively and securely store participant information for any research initiative.
Summary: Establishing how we as researchers should collect information from the participants that we recruit, and where to maintain that information securely and safely, as, perhaps a "roster".
Dependencies:

Reading through the Conducting Research section

Sub-sections:

N/A

Background
Prior ResearchOps documents were disjointed and spread among different teams and projects. Likewise, there is not yet one source of truth for ResearchOps strategies, and as such, any previous strategies are not widely practiced within the design team. Revisiting the ResearchOps documents will be helpful to understand which guidelines are still relevant for our team, what gap(s) in knowledge and/or strategy are occurring, and what new material(s) may need to be made.
Risks/Impacts/Considerations

The exact folder location where participant information should be stored may be adjusted over time, and should be audited with each adjustment to make sure safety and sanitization standards are being met
Any new paradigms here may require shifting around prior participant data in other folders to the correct, new location
Beginning work on some sections may be dependent on the completion of others (see ReportStream Design and Research: Quarterly Roadmap)

Open questions

Where should participant info live?
How much participant info should be visible? How much should we be protecting PII?
Are there any USDS or PRIME-wide standards we should be following?

Links

[WIP] CDC ReportStream ResearchOps
ReportStream Design and Research: Quarterly Roadmap

Acceptance criteria

[x] Adjust ticket estimation, task breakdown, and sub-sections as needed
[x] Create initial draft of section
[ ] Shareout of WIP as needed with Design Lead, Product, and Engineering for iteration
[x] >90% finalization of section (barring grammar, spelling, etc.)

Out of Scope

Working outside of this identified section - if your work seems to be spilling into other sections, please bring this up at any Design/Research meeting!

Ready to be reviewed by the Design team at the next available sync. cc @jillian-hammer @Andrey-Glazkv


Parttool should allow bypassing readonly flag (IDFGH-13017)

Is your feature request related to a problem?
We recently upgraded to a newer IDF and one of the features we want to take advantage of is the read only partitions to protect our factory set data.
However, we use parttool to set this info in the first place since it provides a nice interface to do so but parttool does not allow writing to readonly partitions. We can call esptool directly to do this instead of using parttool, but parttool provides an easier way to do this since it can address by name. We have multiple devices that get the same data to partitions with the same name, but they are not at the same address across devices.
Describe the solution you'd like.
I think the default behavior of not writing to read only partitions is good. However there should be an override flag the user can pass to allow writing to the read only partitions.
Describe alternatives you've considered.
Use esptool directly. This loses the better interface of parttool
Additional context.
No response

I think you are looking for passing the --force argument. Please see https://github.com/espressif/esp-idf/issues/8196#issuecomment-2141397908.

@dobairoland I think this is a new limitation in parttool introduced in https://github.com/espressif/esp-idf/commit/ab1eb37fe8c5624ed8efb0629747aa4c5d4ae0a8 (cc @adokitkat)
https://github.com/espressif/esp-idf/blob/8760e6d2a7e19913bc40675dd71f374bcd51b0ae/components/partition_table/parttool.py#L161-L167
so we don't even reach esptool.py, hence --force esptool argument is not applicable.

I can add the --force flag for parttool as well to suppress this error.

Perhaps something less generic, like --ignore-readonly or --write-readonly?
That is, unless the --force argument would also pass --force down to esptool, in which case it would mean "bypass all checks" rather than just "bypass readonly partition checks".


💥 [DevOps] Switch Seeding Off to Test Event Datetime Mutation

💥 DevOps
Switch Seeding Off to Test Event Datetime Mutation.

solved by #13