fix: ensure we don't loop while reading pod logs

see https://github.com/jenkins-x-plugins/jx-build-controller/issues/30
we used to mark the pod as "completed" before reading its logs. which means that a running pod was never marked as "completed" until the 2nd loop, which means that the logs are seen as "duplicated".
the fix here is to check if the pod is completed after reading its logs - which should be the case, because we're waiting for each container.

Hi @vbehar. Thanks for your PR.
I'm waiting for a jenkins-x-plugins or todo 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 jenkins-x/lighthouse repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj 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

/ok-to-test
/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jstrachan
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 [jstrachan]

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


Is this the demo that is installed in the shipping units?

The file system and display don't seem to work with this code. I can read the sensors etc but can you upload the latest code that is shipped?
thanks

I have updated the code, please try it.

thanks it works now but a bit different than the factory version - some flashing. I was able to develop my own working version for my purpose - great device - focusing on maximizing battery life, so the VOC warmup time (2 minutes?) makes it a bit tricker to go to deep sleep and wake up every so often but I think it seems to be preserving battery.

@augmentedtraffic any plans to publish your version? :)

https://github.com/augmentedtraffic/ALKAIRQV2_Public
Note it only send out via MQTT - but it lasts all day on the battery

https://github.com/augmentedtraffic/ALKAIRQV2_Public
Note it only send out via MQTT - but it lasts all day on the battery

It seems repo is private now :)
Mqtt is great, that's what original demo misses

..I bricked my device...

Was the bricking permanent or recoverable?

..I bricked my device...

Was the bricking permanent or recoverable?

You should be able to reflash the factory demo or try uploading the blink and example. These typically recover when you upload firmware that bricks he device

You should be able to reflash the factory demo or try uploading the blink and example. These typically recover when you upload firmware that bricks he device

I mean was your bricking recoverable?

Yes.  It's really difficult to truly brick an Arduino device

Ok, glad to hear it.


Rehype-prism-plus with @next/mdx & @mdx-js/loader

Hi, new to MDX. I am currently using @next/mdx, @mdx-js/loader and @mdx-js/react. My code looks like:
import mdx from "@next/mdx";
import rehypePrism from "rehype-prism-plus";

const withMDX = mdx({
  extension: /\.mdx?$/,
  options: {
    remarkPlugins: [],
    rehypePlugins: [rehypePrism],
  },
});

export default withMDX({
  reactStrictMode: true,
  pageExtensions: ["ts", "tsx", "js", "jsx", "md", "mdx"],
});

I keep getting TypeError: Converting circular structure to JSON     --> starting at object with constructor 'State'
Other rehype plugins like rehypeKatex work normally.
Is there some other remark or rehype plugin that needs to be integrated before or after rehype-prism-plus? Thanks.

Replaced rehype-prism-plus with @mapbox/rehype-prism and that also works normally.

Having the same problem. I'm using @mdx-js/mdx, @mdx-js/react, and @mdx-js/rollup.
I suspect the TypeError is a red herring; that comes from a JSON.stringify call which is part of the error logging after a failed attempt by source-map to validate the source map. The source map being incorrect is probably a sign for the underlying issue.

@ellcrev , after making my own "version" for debugging by copying this repository's src/generators.js (and using it directly instead of the package import), I've figured out a workaround.
Problem
It seems the problem is that, for whatever reason, the position fields of the nodes in the output syntax tree are causing something to fail. These fields are set by the rehype-prism-plus code, which modifies the input syntax tree named here.
I'm not sure why this would be a problem, but it's an easy fix:
Solution
By stripping the output tree's nodes of their position fields, everything seems to work again. Simply call the following function on the node at line 284.
const recursivelyStripPositions = (node) => {
  delete node.position

  if (!node.children || node.children.length === 0) return node

  node.children = node.children.map((x) => recursivelyStripPositions(x))

  return node
}

I believe this is a perfectly serviceable solution, as:

At least one other rehype plugin (starry-night, see the instructions on its readme for how to turn it into a rehype plugin) produces nodes which don't even have position fields, and2.
The position fields seem to have to do with the markdown instead of the final html, so it's not important, and3.
The position fields appear to have been incorrect to begin with, anyway. Even though rehype-prism-plus was setting the position.line fields correctly, it wasn't setting the position.column fields to anything other than 0.4.

There is of course, a "better" "fix": don't set the position in the first place. I just didn't want to dive too deeply into the code.
Explanation
I'm not qualified to comment on why the above is a problem (perhaps @timlrx could?), given my mere four hours of experience with unified and its ecosystem.

Great fix! Works perfectly now.

Thanks @zackchengyk for looking into it and proposing a workaround. The node positions are required to correctly identify elements that belong to the same line and assign them to the same div with an optional line number. position field is not required and was just added to satisfy the ts compiler. This position node mimics the behaviour of converting it to html and parsing it with rehype-parse again which adds positioning info.
starry-night or refractor, the prism equivalent does not need to do that. You are right that it is not required in the final output and can be removed.
Will check out the code again later in the week and see what's the underlying issue. Thanks for the patience.

Tried it out with other libraries - unified, mdx-bundler and it works fine so I think it might be something specific to @mdx/loader. In any case, rather than diving deeper, I just removed the positions in the final node as suggested by @zackchengyk.
Published the updated version as v1.4.2.

I pushed a new fix which adds the column field required by the node position, which seems to work fine with @mdx/loader. This means I can remove recursivelyStripPositions. This is published as v1.4.3. Let me know if you run into issues.


Copy engine name to player name field

In the Game Info panel, when you select an engine to play, Sabaki should copy the engine name from the menu into the player name field.

Only if the name is empty (not manually set) in my opinion.

Say you only have one engine attached. Even if you attached this engine to one colour, say black, Sabaki allows the user to generate a move on white's turn, by reattaching the engine to white. If people think Sabaki fills in the name for you automatically, they would expect Sabaki to change player names when reattaching. But this behaviour might not be desired.

Replying to mlopezviedma's comment: If you changed your mind and selected a different engine, I think you would still want it to copy the new engine name.  Perhaps Sabaki could detect manual changes to the player name and not do the copy in that case.
Replying to yishn's comment: In my experience playing chess engines, when you force the computer to generate a move, it essentially swaps the sides of the players for the rest of the game, or until you generate another move.  So, I would expect Sabaki to just swap the player names when you generate a move. This seems natural to me.

This sounds reasonable.

@raspingbard What about the following scenario: Say, we have a record of a game with names already saved on them and want to consult an engine for better moves. To do that we attach an engine as white. Since the names are already filled in, Sabaki won't override them. Now we browse through the game and want to find a better move for black. We press F5 to generate a move on black's turn.
In this scenario, flipping the player names is not desirable, isn't it?

Hi Yishuan, I checked the chess software I use and it requires you to start a new game if you want to play against the engine from a particular starting point in a game review.  Actually, most chess software, as well as Leela (the application), have an Analysis feature that runs the engine in the background and offers advice while reviewing a game.  It does this by highlighting the suggested squares or points on the board and optionally showing a list of moves in a separate window or pane.
Ideally, Sabaki would provide a similar Analysis feature.  Without this feature, the management of player names becomes a bit difficult.  I think you have three options:
Option A – don’t change the player names at all (except when the user selects an engine from the dropdown menu).
Option B – detect whether the user is playing a game or reviewing a game, and only swap player names for the first case.  (I don’t know if this condition can be safely detected in Sabaki.)
Option C – always swap the player names when the user generates a move (F5).
If option B is not practical, then I think option A is best.  The user must manually change the names if sides are swapped.  I don’t think option C is good for the reasons you mentioned.
(I noticed that Sabaki inserts the engine name in the player field when a move is generated.  I’m not sure this is a good idea with any of the above options unless the player name is stored on a per move basis, which it is not in the SGF file.)

Currently, Sabaki will display the name of the engine in the player bar in a monospace font if an engine is attached. On detaching the engine, the actual player name is displayed. This does not mean that Sabaki changes the player name in the SGF file.
Thanks for the detailed analysis! You're right that option B is inpractical...

Option A is now implemented.


External source map is not supported

Problem
Dependency files that:

include ESM dynamic imports
has sourcemaps associated (generated by TSC)

show up in Error stack traces:

with .js extension (as opposed to .ts)
with wrong line numbers
and with their real file path instead of the original path based on the sourcemap

i.e. their source maps are ignored.
Expected behavior
All dependency files that has sourcemaps associated should show up in Error stack traces with their original path, extension and line numbers.
Minimal reproduction URL
https://github.com/BenceSzalai/tsx-sm-issue
Version
v2.5.5
Node.js version
v18.17.0 / v20.5.1 (v16 is not affected)
Package manager
npm
Operating system
macOS
Contributions

[ ] I plan to open a pull request for this issue
[ ] I plan to make a financial contribution to this project

Notes
Originally opened against TXS, but it looks like it is an issue with ESM Loader.

Due to the fact that tsx doesn't support project references yet (https://github.com/privatenumber/tsx/issues/96) we tried to add our own loader on top of tsx that would esbuild each of our monorepo packages on demand. But then we run into this problem and none of the monorepo packages get source maps (confirmed that it does work ok in node 16).

I tried testing the latest tsx with this but the reproduction was actually not minimal.
Can you provide a StackBlitz reproduction with just one file with an inline source map, demonstrating it doesn't work with tsx?

:tada: This issue has been resolved in v4.11.1
If you appreciate this project, please consider supporting this project by sponsoring :heart: :pray:


Should Wxxxx codes to be marked as failed or still successful? - W3002

cfn-lint version: (cfn-lint --version)
tested in 0.44.7 and 0.46.0
Description of issue.
The design is
Exit Codes
cfn-lint will return a non zero exit if there are any issues with your template. The value is dependent on the sevirity of the issues found. For each level of discovered error cfn-lint will use bitwise OR to determine the final exit code. This will result in these possibilities.

0 is no issue was found
2 is an error
4 is a warning
6 is an error and a warning
8 is an informational
10 is an error and informational
12 is an warning and informational
14 is an error and a warning and an informational

But my question is,
it is ok to get warning (start with W means warning, not error, right?), but don't mark it as failed with exist status code 4
$ cfn-lint template.yaml
...
W3002 This code may only work with `package` cli command as the property (Resources/LambdaHelloWorld/Properties/Code) is a string
template.yaml:53:7

$ echo $?
4

Could we still get exit status code 0? Because currently I run this command in pipeline. Not 0 exit codes are marked as failed.
and from above codes, exit codes 4, 8 12 could be 0

To clarify this problem. I share the Makefile i run with
validate: ## Validated CloudFormation Templates...
	docker run -ti --rm -v $(CURDIR):/data -w /data alpine/cfn cfn-lint template.yaml

So if I run make validate, this build will be marked as failed.
$ make validate
...
W3002 This code may only work with `package` cli command as the property (Resources/LambdaHelloWorld/Properties/Code) is a string
template.yaml:53:7

make: *** [Makefile:16: validate] Error 4

echo $?
2

Because make think it is failed (inside commands returns exit code 4) and reture 2 as error
here is the reference of Makefile return code:
2 | There was an error in the makefile.

http://www.opussoftware.com/manual/appendices/B1.htm

Discussed in https://github.com/aws-cloudformation/cfn-python-lint/issues/1586


Creating a Contributor's Guide

Hi everyone,
When fixing bugs in branch master, I found out too late that they were resolved in 0.12-release and 0.13-release. When wanting to PR other contributions, I could not find clear documentation that indicated which branch to PR too.
I'm wondering if a basic contributor's guide would be helpful to the project. Something that indicates workflow and/or any desired protocol. If the guide also included any style considerations, that would be helpful (our guide is under development but has been helpful so far).
Referencing our interest in cpp-netlib.

There is this:
http://cpp-netlib.org/process.html
But it seems that this not prominent enough. A file such as CONTRIBUTING.md in the source root is a good idea.

https://github.com/glynos/cpp-netlib/blob/master/CONTRIBUTING.rst

Excellent, thank you @glynos!
Closing as resolved in 56c1711030a250a8345c9a2c54d7b267ce282567

Bear in mind that the repo you should use for PRs in the future is https://github.com/cpp-netlib/cpp-netlib/.
Thanks for using our library!

Ahhh, I can't believe I missed that :blush: A million thanks for clarifying this! :smile: :+1:


ran cargo update

Updated packages to get rid of future incompatibility issues

Codecov Report

Merging #13 (e317f23) into main (a3821e4) will decrease coverage by 26.12%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             main      #13       +/-   ##
===========================================
- Coverage   73.02%   46.91%   -26.12%
===========================================
  Files          11       11
  Lines         482      243      -239
===========================================
- Hits          352      114      -238
+ Misses        130      129        -1

see 10 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add config parsing module

Add config parsing module implementing:
load() - returns a namedtuple with all the config values in
tuple form.
Available config values as for now:
config:

jenkins:

host
user_id
api_token

gerrit:

gerrit_host

Example:
>>> config.jenkins.host
jenkins.ovirt.org

Resolves #2
Resolves #5

Thanks Bell, merged with minor changes to the commit message and removing the unneeded whitespace change in test/gerrit_test.py as https://github.com/nirs/oci/commit/d5589fa1aeeb69083f09626d97116d05b041f5a8


Bump to 1.1.13

TimeSeries - Additional UDDC compatibility
TimeSeries - Add a create_instrumnet_variable argument to add_variable. Defaults to false for backwards compatibility.
TimeSeries - Add global attribute 'platform'.
TimeSeries - Adds URN as the platform ioos_code and long_name attribute if the passed in station_name is a URN.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


use ant-design-vue2.x Ignore build dist css incomplete

Describe the bug

Introducing ant-design-vue 2.x and using vite build will cause antd.css and windi more css dist packaging to be ignored
packaged dist css incomplete
main.ts
...
import 'ant-design-vue/dist/antd.css'
import 'virtual:windi.css'
import 'virtual:windi-devtools'
...

Minimal Reproductions

https://github.com/nshusr/antd-windi-bug-repo
Versions
"vite-plugin-windicss": "^0.12.2",
"vite": "^2.1.5",
"vue": "3.0.11",

Fixed in 0.12.5

@antfu
v0.14.6 This problem reappears in this version


BufferView ctor now uses correct members order.

tiny_gltf.h line 815
(Moved target(0) to second to last)

Thanks!


Using SingleDateAndTimePicker as a NumberPicker

is it possible to use this library to create a numberpicker with the same design?

I'm not sure what the author's response is, but I don't think this library should do that. Instead, since this library is open source, why don't you study it and use the ideas from this library to create a whole new library for a number picker library?

yes, to create this lib I forked an existing one,
this lib usage is only for dates picker
btw you can use or fork the WheelPicker library to create a NumberPicker :
https://github.com/AigeStudio/WheelPicker
(I think WheelPicker can just be used as it to hande your usecase)


Support foundation 5 (@include exports('grid') as example)

Constructions like @include exports('grid') not supported in 3.2.0, but correctly work in 0.9.5-rc1.
Example code in foundation _grid.scss:
...
@include exports("grid") {
  @if $include-html-grid-classes {
    .row {
      @include grid-row;
...

How to fix it?

exports mixin:
// IMPORT ONCE
// We use this to prevent styles from being loaded multiple times for compenents that rely on other components.
$modules: () !default;
@mixin exports($name) {
  @if (index($modules, $name) == false) {
    $modules: append($modules, $name);
    @content;
  }
}

Fixed by update foundation to latest version (5.5.2)


Use sheet actor for general tab swim/climb checks

It should probably also use the action objects instead of the old action functions.
game.pf2e.actions.get("swim").use({ event, actors: this.actor });

Are you sure those are available?

It's a Collection of Action objects keyed by the sluggified action name. The contents of the collection is build from this list: https://github.com/foundryvtt/pf2e/blob/master/src/module/system/action-macros/index.ts#L161

The type of the object in game.pf2e is Record.


Drg/feat/html search setup

HTML pages
Login page:

Contains :

 tag for Facebook sign-in

Form to email sign-in
Submit button for “Sign In”
Signup page:

Contains form with forename, surname, email and password inputs.
Use watercss for basic styling
Link to signup.js file

Members page:

Fetches the member name and displays an welcome message.
Provides anchor to logout.
Link to members.js file
Search page:
Form with exercise name, muscle group, equipment inputs
Link to search.js file
Results page:

  for each result exercise.

Button for marking as favourite in each
Link to results.js file

Favourite Exercises:

  for each favourite exercise. Dummy a href to exercises details.

Link to favourite-exercises.js file

Exercises-details page:

Dummy image for exercise picture
Dummy text for exercise description
Link to exercises-details.js file

All the pages feature:

Use watercss for basic styling
Use .less for further customize layout. Less file generates “style.css” file that the page is linked to.

Less  file now features:

Media query for mobile and desktop.
Mixins to address customization on forms style, logos, navbars, page title and anchors.

Future adds:

Correct links on favourite exercises page to send user on details page for the exercise.
jQuery files for each page to add functionality (listeners on buttons) on each page.

HTML pages
Login page:

 tag for Facebook sign-in

Form to email sign-in
Submit button for “Sign In”
Signup page:
Contains form with forename, surname, email and password inputs.
Use watercss for basic styling
Link to signup.js file

Members page:

Fetches the member name and displays welcome message.
Provides anchor to logout.
Link to members.js file
Search page:
Form with exercise name, muscle group, equipment inputs
Link to search.js file
Results page:

  for each result exercise.

Button for marking as favourite in each
Link to results.js file

Favourite Exercises:

  for each favourite exercise. Dummy a href to exercises details.

Link to favourite-exercises.js file

Exercises-details page:

Dummy image for exercise picture
Dummy text for exercise description
Link to exercises-details.js file

All the pages feature:

Use watercss for basic styling
Use .less for further customize layout. Less file generates “style.css” file that the page is linked to.

Less  file now features:

Media query for mobile and desktop.
Mixins to address customization on forms style, logos, navbars, page title and anchors.

Future adds:

Correct links on favourite exercises page to send user on details page for the exercise.
jQuery files for each page to add functionality (listeners on buttons) on each page.

HTML pages
Login page:

 tag for Facebook sign-in

Form to email sign-in

Submit button for “Sign In”

Signup page:

Contains form with forename, surname, email and password inputs.

Use watercss for basic styling

Link to signup.js file

Members page:

Fetches the member name and displays welcome message.

Provides anchor to logout.

Link to members.js file

Search page:

Form with exercise name, muscle group, equipment inputs

Link to search.js file

Results page:

  for each result exercise.

Button for marking as favourite in each

Link to results.js file

Favourite Exercises:

  for each favourite exercise. Dummy a href to exercises details.

Link to favourite-exercises.js file

Exercises-details page:

Dummy image for exercise picture

Dummy text for exercise description

Link to exercises-details.js file

All the pages feature:

Use watercss for basic styling

Use .less for further customizing layout. Less file generates “style.css” file that the page is linked to.

Less  file now features:

Media query for mobile and desktop.

Mixins to address customization on forms style, logos, navbars, page title and anchors.

Future adds:

Correct links on favourite exercises page to send user on details page for the exercise.

jQuery files for each page to add functionality (listeners on buttons) on each page.


pypi inited

changes
client -> lightning
swagger_client -> lightning_adapter

changes
client -> lightning
swagger_client -> lightning_adapter
also fixed #10 #11

Merging. However not sure how this is related to pypi. :)


output variables are causing issue with external resources

Summary
We have noticed that when we change the instance count out external drive mounts are flagged to be replaced. I tracked this back to how the output is being wrapped in function calls such as, compact. This function seems to always return a new list, which it seem that Terraform will then flag everything that uses it as being new. I feel these function calls served a purpose in the older version when the resource was separated but now I do not see a reason for them.
Example
module "test_cluster" {
  source  = "terraform-aws-modules/ec2-instance/aws"
  version = "~> v2.0"

  name           = "${var.network_name} Test Cluster"
  instance_count = var.resource_count

  ami                                = var.image_id
  instance_type               = var.resource_type
  key_name                      = var.key_name
  monitoring                    = false
  vpc_security_group_ids      = [aws_security_group.test.id]
  subnet_id                      = var.subnet_id
  associate_public_ip_address = false
}

resource "aws_ebs_volume" "test_data_volume" {
  count = var.resource_count

  availability_zone = module.test_cluster.availability_zone[count.index]
  size                      = var.data_remote_volume_size
  type                     = var.data_remote_volume_type
}

resource "aws_volume_attachment" "test_data_volume_attachment" {
  count = var.resource_count

  device_name = "/dev/xvdh"
  volume_id   = aws_ebs_volume.test_data_volume.*.id[count.index]
  instance_id = module.test_cluster.id[count.index]
}

When  var.resource_count changes, aws_volume_attachment and aws_ebs_volume are flagged to be replaced.
If I remove the function methods in the output.tf var the volume and attachments seem to keep between apply.

Possible Solution
I propose the following update to the output.tf file so that it is easier to use this module with external drives and null_resource steps.
locals {
  this_id                           = aws_instance.this.*.id
  this_availability_zone            = aws_instance.this.*.availability_zone
  this_key_name                     = aws_instance.this.*.key_name
  this_public_dns                   = aws_instance.this.*.public_dns
  this_public_ip                    = aws_instance.this.*.public_ip
  this_primary_network_interface_id = aws_instance.this.*.primary_network_interface_id
  this_private_dns                  = aws_instance.this.*.private_dns
  this_private_ip                   = aws_instance.this.*.private_ip
  this_placement_group              = aws_instance.this.*.placement_group
  this_security_groups              = aws_instance.this.*.security_groups
  this_vpc_security_group_ids       = aws_instance.this.*.vpc_security_group_ids
  this_subnet_id                    = aws_instance.this.*.subnet_id
  this_credit_specification         = aws_instance.this.*.credit_specification
  this_tags                         = aws_instance.this.*.tags
  this_volume_tags                  = aws_instance.this.*.volume_tags
  this_password_data                = aws_instance.this.*.password_data
}

Fixed by #135
v2.9.0 has been released.


elk7: 7.16.1 -> 7.17.4

Description of changes
I've bumped the versions, got the artifacts and their hashes, and checked if they build on my system (including -oss), but no further tests.
The current version of filebeat in nixpkgs no longer works with the current glibc. The problem is a new syscall being invoked while not being listed in the seccomp filter. [1] [2] -- This is solved in this PR -- And in the next one I hope to fix #168067
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

If this turns out to break anything, I would be happy to revert.
I don't think that we will get further testing unless we merge.
Of course if you disagree, let me know.

Oh, and thank you for making that PR!

There's a collection of plugins for elasticsearch in pkgs/servers/search/elasticsearch/plugins.nix, which refer to the exact version of elasticsearch. These should also be updated when updating elasticsearch itself https://github.com/NixOS/nixpkgs/blob/403db8d41c795d5db1bdb7ffe709897114a4907e/pkgs/servers/search/elasticsearch/plugins.nix#L41


(FACT-1646) Add fact specfics tests and TestRail ID's

Added fact specific tests for facterversion and productname
Added structured fact specific tests for dmi and partitions
Added a test for not getting errors when facter is run as a non-root user
Added TestRail ID's and risk tags

Tested on arista4-32a, centos7-64a, ciscoxr-64a%7Bhypervisor=vmpooler%7D, cisconx-64a%7Bhypervisor=vmpooler%7D, cumulus25-64a, debian8-32a, fedora25-32a, oracle7-64a, osx1012-64a, redhat7-64a, scientific7-64a, sles12-64a, solaris11-64a, ubuntu1610-32a, windows10ent-32a, windows2016-6432a + Sparc, AIX, Huawei

CLA signed by all contributors.


Allow users and rule authors to specify a reason per configured value

This PR is still somewhat WIP but I would like your input on it before giving it the final polish.
What does this PR address?
A few times there was the request to be able to specify a custom error message or a reason for certain setting. See #3501 for example. This will allow rule authors to enable this features for all rules that have configurable list of string values.
What I would like your input and feedback on?

I do not really like the nameof the ExplainedValues type and explainedValues config delegate. Any idea what we could call the combination of a configured value and the reasoning why the value is configured?
Do you agree on the representation in the config.yml (see detekt-core/src/test/resources/explained-values.yml)?
Should the reason be shown in the documentation? If so, any ideas on how to do that? (This would be a separate PR)

Thanks to @BraisGabin for collaborating on this.

I haven't looked into the code, but if I understand correctly it relies on a separate explained-values.yml file right?
I would rather move this file inside the config on a top level explanation: key or even move it closer to the rule config as a metadata addition

if I understand correctly it relies on a separate explained-values.yml file right?

No, that is not correct the explained-values.yml is only used in the tests to verify that the config parser can read those formats correctly. The idea is, that rule authors may decide that their rule supports values with reasons instead of values only. So instead of
  ForbiddenImport:
    active: true
    imports:
      - 'org.assertj.core.api.Assertions'

it could become
  ForbiddenImport:
    active: true
    imports:
      - value: 'org.assertj.core.api.Assertions'
        reason: 'import Assertions.assertThat directly'

The idea is, that rule authors may decide that their rule supports values with reasons instead of values only. So instead of

Gotcha 👍 Looks great then.

Could we add this feature with 1.21?

@marschwar I think that we can merge this. Could you fix the conflicts?

Ready to be merged from my point of view unless you would like me to add more tests?


loadbalancer: add fuzzer

Signed-off-by: AdamKorcz<EMAIL_ADDRESS>Please provide a description of this PR:
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Ambient
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[x] Security
[x] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[x] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@AdamKorcz: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test release-notes

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

@AdamKorcz: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test release-notes

lint_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test lint

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

@AdamKorcz: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test release-notes

lint_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test lint

gencheck_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test gencheck

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

@AdamKorcz: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test lint

gencheck_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test gencheck

release-notes_istio
5a41126bb9fb53a6fb40e036b769e8ad3be91d16
link
true
/test release-notes

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

@AdamKorcz: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test lint

gencheck_istio
5031e91ea94f542cda589f3eb74cf133169708a1
link
true
/test gencheck

release-notes_istio
5a41126bb9fb53a6fb40e036b769e8ad3be91d16
link
true
/test release-notes

unit-tests-arm64_istio
5a41126bb9fb53a6fb40e036b769e8ad3be91d16
link
true
/test unit-tests-arm64

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

/test unit-tests-arm64

/retest


tests/test_xpath.cpp doesn't build on visual studio using the c++20 standard

tests/test_xpath.cpp doesn't build on Visual Studio using the C++20 standard with the following error:
../subprojects/pugixml-1.12/tests/test_xpath.cpp(166): error C2039: 'random_shuffle': is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include\algorithm(40): note: see declaration of 'std'
../subprojects/pugixml-1.12/tests/test_xpath.cpp(166): error C3861: 'random_shuffle': identifier not found
../subprojects/pugixml-1.12/tests/test_xpath.cpp(195): error C2039: 'random_shuffle': is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include\algorithm(40): note: see declaration of 'std'
../subprojects/pugixml-1.12/tests/test_xpath.cpp(195): error C3861: 'random_shuffle': identifier not found

I assume this also happens using C++17, but I didn't test that.
The problem appears to be that the silly compiler doesn't define the standard __cplusplus macro correctly.  See https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-170 for details on that.  Looks like you've got workarounds for this in pugixml.hpp that use _MSC_VER.  Maybe this also needs something like that?  There's also _MSVC_LANG on VS >= 2015 update 3 which has correct __cplusplus values without requiring /Zc:__cplusplus (which actually fixes __cplusplus values on VS >= 2017 version 15.7).  See https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-170 for details on that.
[rant]I have no idea why M$ takes such pride in making everyone that tries to make something cross platform suffer so badly by ignoring standards.[/rant]

@bitrunner, I... genuinely thought we fixed this in Meson long ago, see https://github.com/mesonbuild/meson/pull/10323


Prompt embeds update for T2I, I2I and upscale.

the all the models worked nicely except timbrooks/pix2pix, when prompting use + or - after the word to increase the weight of the word in generation, you can add multiple ++ or -- to increase or decrease weight.

the inferencing time didnot change at all most of the time or was barely reduced for some cases.

example of prompt "a cat playing with a ball++" ,  here the ball has higher weight so it will be more focused when generating.

@ad-astra-video , i have cleaned up and rebased it using the main branch from ai-worker. In regards to the changing of embeddings from Compel to another is out of the scope of the bounty initially listed. We might have to add another bounty for that as it will require extensive testing with all the models and pipelines.
initial bounty > https://github.com/livepeer/bounties/issues/32


Avoid implicit heap allocations when using std::string

As of https://github.com/micropython/micropython/commit/c80e7c14e6305e50e3b39f97172d4d8fe1214d3b MicroPython's linker script includes a "greedy" heap, which attempts to use all free system RAM for MicroPython's heap.
Whereas previously we carefully avoided large heap allocations due to the very limited amount of heap available to C++ extensions, we must now avoid all allocations.
This changeset cleans up some uses of std::string which were implicitly allocating strings on heap. It does this by switching to string_view, wrapping the existing byte array and length returned by GET_STR_DATA_LEN instead of copying them into a std::string.
Additionally set_font() performs Hershey font lookups via a new if/else table, since the std::map<std::string, const *font_t> lookup table could not be used without constructing a string and risking a heap allocation.
Finally I have removed the completely ridiculous and unnecessary conversion to/from a std::string in our jpegdec binding's open_file functionality.
To make string_view available, all MicroPython builds needed to be forced to use C++17, this is achieved in their respective CMake files.
In all cases I believe std::string will implicitly cast to std::string_view so our examples will not break, and C++ code has always been set to C++17.

This is a pre-requisite to bumping all of our MicroPython builds to the latest edge commit and - indeed - keeping ahead of MicroPython changes so we can incorporate Bluetooth when it arrives.
Once merged, relevant commits from https://github.com/pimoroni/badger2040/tree/test/micropython-edge can be moved to https://github.com/pimoroni/badger2040/pull/2 (and the GitHub actions .yml targeted back at the main branch here)

Pico RGB Keypad, Pico Scroll and Pico Unicorn have all been converted to MicroPython class-style modules. init() changes to a new class instance. For example this:
import picounicorn

picounicorn.init()

Would become:
from picounicorn import PicoUnicorn

picounicorn = PicoUnicorn()

Looks like interstate75.py is not included in Pico W builds and should be. The MicroPython module .cmake files need tidying again since they've got quite out of hand.


Basic list of card's whole inheritance chain in schema editor

This PR introduces a very basic and crude list of inheritance chain of a selected module export (card). My reason for submitting a PR for this in such an early phase is because I think this is possibly a good foundation to build upon and there are many subtasks to implement from here on – we could split the work of porting the functionality from our old /code route, i.e. manipulating fields, adding, deleting, writing, showing realm assets and style the field relationships.
This is how it looks like (in the right column, when a card definition (.gts file) is chosen in the left menu):

This is the design that should be followed:

As you see, we are missing elements, such as field counts, realm icons, relationship icons, clickable code buttons, placing it into an accordion, etc. There are also TODO items in the inheritance chain data method–I'll make subtickets for all this so we can parallelize work in the schema editor feature.

just a note, the main conflict that you have arises from the this.cardResource.value changing to this.card in the code-mode.gts component.

I've made the changes suggested in the code review. I think this is now good to go.


Licencing clarification

Please can you confirm whether Microsoft Syntex Advanced Management is part of Microsoft Purview E5 Compliance or the full E5 suite. Or this is an add.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: e9aa1a91-e838-41c6-45cb-6a2a4dbf1a7a
Version Independent ID: 5f5c1b99-126f-2a70-20c8-f00136927e31
Content: Microsoft Syntex Advanced Management (Preview) overview - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/advanced-management.md
Service: sharepoint-online
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

I second @nikki-c for the licensing details. We are aware that it's an add-on, but I just can't find any proper license information about the "Syntex Advanced Management" itself. The features are well described though. Thanks!

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


Add ACMECertificate payload handling with Device Attestation

This adds support for handling the ACMECertificate payload.
Currently always requires configuration for the (fake) attestation CA to be supplied:
$ ./mdmb -uuids 2678F47F-7A0B-4E7E-BEBC-29C1DCAF28C6 devices-profiles-install -f acme-da.mobileconfig -cert attca.crt -key attca_key -pass password
...
$ ./mdmb -uuids all devices-profiles-list
profiles for UUID: 2678F47F-7A0B-4E7E-BEBC-29C1DCAF28C6
com.smallstep.acmedademo

Example ACMECertificate configuration, with attestation enabled (dropdown):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
	<dict>
		<key>PayloadContent</key>
		<array>
			<dict>
				<key>Attest</key>
				<true/>
				<key>ClientIdentifier</key>
				<string>2678F47F-7A0B-4E7E-BEBC-29C1DCAF28C6</string>
				<key>DirectoryURL</key>
				<string>https://<IP_ADDRESS>:8443/acme/appleacmesim/directory</string>
				<key>ExtendedKeyUsage</key>
				<array>
					<string><IP_ADDRESS>.<IP_ADDRESS>.2</string>
				</array>
				<key>HardwareBound</key>
				<true/>
				<key>KeySize</key>
				<integer>384</integer>
				<key>KeyType</key>
				<string>ECSECPrimeRandom</string>
				<key>KeyUsage</key>
				<integer>5</integer>
				<key>PayloadIdentifier</key>
				<string>com.apple.security.acme.cbdc6238-feec-4171-8784-98e576bbb814</string>
				<key>PayloadType</key>
				<string>com.apple.security.acme</string>
				<key>PayloadUUID</key>
				<string>cbdc6238-feec-4171-8784-98e576bbb814</string>
				<key>PayloadVersion</key>
				<integer>1</integer>
				<key>Subject</key>
				<array>
					<array>
						<array>
							<string>C</string>
							<string>NL</string>
						</array>
					</array>
					<array>
						<array>
							<string>O</string>
							<string>Smallstep ACME DA Demo</string>
						</array>
					</array>
				</array>
			</dict>
		</array>
		<key>PayloadDisplayName</key>
		<string>ACME DA Certificate</string>
		<key>PayloadIdentifier</key>
		<string>com.smallstep.acmedademo</string>
		<key>PayloadType</key>
		<string>Configuration</string>
		<key>PayloadUUID</key>
		<string>734EEACF-1334-4B65-8E8C-6AC07E9B79E5</string>
		<key>PayloadVersion</key>
		<integer>1</integer>
	</dict>
</plist>

The example ACMECertificate payload is configured to connect to a step-ca instance. Its configuration should be similar to what's described in hslatman/ios-acme-simulator.
Changes in https://github.com/jessepeterson/cfgprofiles/pull/2 need to be merged first for the com.apple.security.acme payload type to be recognized.
In its current state, some ACME flow details will be logged. I can remove that if requested, or change it so that log output is only shown when requested. I noticed https://github.com/jessepeterson/mdmb/issues/1, so maybe that needs to be taken into account for that.
The (fake) attestation CA configuration is currently always required when trying the ACMECertificate payload, because there's no other way for the Apple ACME client to prove control over ACME identifiers. @jessepeterson Configuration of the (fake) attestation CA is done through flags (without fallback). They're only required for the ACMECertificate payload and the (fake) attestation CA is injected through a context.Context. Are you OK with that approach, or would you like it to be passed around as a property of Device (similar to the DB instance) instead? I noticed https://github.com/jessepeterson/mdmb/issues/2, for which I think the context approach might help to a certain extent.

@hslatman bump :)

Oh wow, totally forgot about this one 😅
Are you OK with the things mentioned in the last paragraph, @jessepeterson? An alternative to having to provide the attestation CA is to generate and persist one, but that would require informing the user about where the root CA certificate is stored, as that's needed for attestation certificate validation.


Proposal to add an IconImage widget

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
Just like one can create ImageProviders from assets, network, and memory. There should be a way to create an image from IconData. It will save a lot of time and will be very convenient as the builtin icons can be directly used instead of downloading it as a png/jpg and adding it to the assets.
We already have a ImageIcon widget. Why not have something the other way around?
Example Use Case:
SwitchListTile requires activeThumbImage and inactiveThumbImage which need to be ImageProviders. I want to use pre-built icons that are already shipped with flutter, but unable to do so directly as there is no way to convert an icon into an image.
Proposal
An IconImage widget that provides Icons.heart (example) as an Image.

We already have a ImageIcon widget. Why not have something the other way around?

i don't think its trivial to do so as Icon is actually text + fontFamily. it'll be simpler to have 2 APIs, one for each. although i'll let with more experience others weigh in on this.

SwitchListTile requires activeThumbImage and inactiveThumbImage which need to be ImageProviders. I want to use pre-built icons that are already shipped with flutter, but unable to do so directly as there is no way to convert an icon into an image.

for this particular usecase, SwitchListTile.thumbIcon was recently added (PR), which enables using an icon for a thumb. (Switch has had this since a long time). although looks like its not in stable yet, so it'll be released soon.

Thanks for looking into it @werainkhatri and also for letting me know about SwitchListTile.thumbIcon which is my current use case.
Will definitely wait for a reply on ImageIcon from others.

@animator No need for a separate widget, you can use plain ol'  Image with an extra provider:
import 'dart:ui' as ui;

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

class IconImageProvider extends ImageProvider<IconImageProvider> {
  final IconData icon;
  final double scale;
  final int size;
  final Color color;

  IconImageProvider(this.icon, {this.scale = 1.0, this.size = 48, this.color = Colors.white});

  @override
  Future<IconImageProvider> obtainKey(ImageConfiguration configuration) => SynchronousFuture<IconImageProvider>(this);

  @override
  ImageStreamCompleter load(IconImageProvider key, DecoderCallback decode) => OneFrameImageStreamCompleter(_loadAsync(key));

  Future<ImageInfo> _loadAsync(IconImageProvider key) async {
    assert(key == this);

    final recorder = ui.PictureRecorder();
    final canvas = Canvas(recorder);
    canvas.scale(scale, scale);
    final textPainter = TextPainter(textDirection: TextDirection.rtl);
    textPainter.text = TextSpan(
      text: String.fromCharCode(icon.codePoint),
      style: TextStyle(
        fontSize: size.toDouble(),
        fontFamily: icon.fontFamily,
        color: color,
      ),
    );
    textPainter.layout();
    textPainter.paint(canvas, Offset.zero);
    final image = await recorder.endRecording().toImage(size, size);
    return ImageInfo(image: image, scale: key.scale);
  }

  @override
  bool operator ==(dynamic other) {
    if (other.runtimeType != runtimeType) return false;
    final IconImageProvider typedOther = other;
    return icon == typedOther.icon && scale == typedOther.scale && size == typedOther.size && color == typedOther.color;
  }

  @override
  int get hashCode => hashValues(icon.hashCode, scale, size, color);

  @override
  String toString() => '$runtimeType(${describeIdentity(icon)}, scale: $scale, size: $size, color: $color)';
}


Helm Hub Listing

Would someone from Kong be willing to accept/ verify a PR in helm/hub that added this repo to the listing? It would make the chart(s) here available on hub.helm.sh.

You mean this one: https://hub.helm.sh/charts/kong/kong?
You might be running into https://github.com/helm/hub/issues/287

That's the one! My bad - weird bug!


[android]: App Bundle contains native code, and you've not uploaded debug symbols

Figure our how to configure Gradle to generate native debug symbols.

It's easy: https://developer.android.com/studio/build/shrink-code#native-crash-support


Deleting non-existing email template gives 204 as the status code

Describe the issue:
When try to delete a Email-template using non existing id with REST API https://localhost:9443/t/carbon.super/api/server/v1/email/template-types/{template-type-id}/templates/{invalid-template-id}
does not gives expected 404 as response. Instead it gives 204.

How to reproduce:
Send a DELETE request to  https://localhost:9443/t/carbon.super/api/server/v1/email/template-types/{template-type-id}/templates/{invalid-template-id}. Here replace invalid-template-id with dummy value.
Expected behavior:
Delete non existing Email-template should give 404.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 6.0.0-m1
OS: MacOS 12.1
JDK: Oracle JDK 11.0.15

Hi @AnjanaSamindraPerera,
The APIs in IS are designed as below,

First DELETE: resource is deleted -> 204
Subsequent DELETEs: resource is already deleted or does not exist -> 204.
Rationale: DELETE should be idempotent. If you return 404 on a second DELETE, your response is changing from a success code to an error code. The client program may take incorrect actions based on the assumption the DELETE failed.

Therefore we can consider this as the expected behavior.

REST API act as intended. Hence, closing the issue.


python310Packages.canonicaljson: 1.6.4 -> 1.6.5

Changelog: https://github.com/matrix-org/python-canonicaljson/blob/v1.6.5/CHANGES.md
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 216715 run on x86_64-linux 1

8 packages built:

matrix-synapse
matrix-synapse-plugins.matrix-synapse-mjolnir-antispam
matrix-synapse-plugins.matrix-synapse-shared-secret-auth
matrixcli
python310Packages.canonicaljson
python310Packages.signedjson
python311Packages.canonicaljson
python311Packages.signedjson


Always set devMode to true for spec windows

Otherwise dev mode isn't enabled when running specs interactively, which can have unintended consequences.

This looks good to me! I can't think of any (sensible) reason why we would not want to do this.

:+1:


netopeer2-server prints unexpected warning message

Hi Michal,
We are starting netopeer2-server like /usr/bin/netopeer2-server -v 0 and expect only error messages to be printed t the syslog.
However we are still getting warning messages like:
May  1 16:23:37 A5-AF A5-AF warning netopeer2-server[647]: Identity "INSTALL_PROTOCOL_TYPE" has no derived identities, identityref with this base can never be instatiated.
May  1 16:23:37 A5-AF A5-AF warning netopeer2-server[647]: Identityref value is not derived from all its bases. (/openconfig-network-instance:identifier)
May  1 16:23:37 A5-AF A5-AF warning netopeer2-server[647]: Failed to resolve identityref "PIM". (/openconfig-network-instance:identifier)
May  1 16:23:37 A5-AF A5-AF warning netopeer2-server[647]: Previous warning generated by XPath subexpression[7] "identifier = 'PIM'".
May  1 16:23:37 A5-AF A5-AF warning netopeer2-server[647]: Identityref "identifier" comparison with identity "IGMP" without prefix, consider adding a prefix or best using "derived-from(-or-self)()" functions.
May  1 16:23:37 A5-AF A5-AF warning netopeer2-server[647]: Previous warning generated by XPath subexpression[7] "identifier = 'IGMP'".
May  1 16:23:37 A5-AF A5-AF warning netopeer2-server[647]: Identity "INSTALL_PROTOCOL_TYPE" has no derived identities, identityref with this base can never be instatiated.

There are literally thousands of these message, printed by netopeer2-server and start-up (most caused by openconfig yang models).
Would it be possible to really switch off all warning messages?
Ilja.

Hi Ilja,
I have just tried this and it worked correctly for me, are you using netopeer2 from devel-server?
Regards,
Michal

$ /usr/bin/netopeer2-server -V
netopeer2-server 1.1.25
compile time: May  1 2020, 06:34:07
Could it be so that these warnings come from libyang and are not affected by netopeer2-server -v 0 switch?
Ilja.

Hi Ilja,
yes, they do come from libyang but are affected by netopeer2 verbose level for my case, at least I think so. Anyway, could you please try the attached patch? I will commit it if it works for you.
Regards,
Michal
diff.patch.txt

Thanks, looks like it helps!

Ilja.

Hi Ilja,
yes, I just did.
Regards,
Michal

Thanks!


The cinder-csi couldn't be deployed when upgrade the kubernetes from v1.12 to v1.13

Hi,
I have deployed the cinder-csi in kubernetes v1.12 successfully, as the volume mount issue, now I have to upgrade the kubernetes from v1.12 to v1.13.
But after I upgrade the kubernetes to v1.13, all the related cinder-csi pods couldn't be started.
The only different for the cinder-csi-plugin deployed in v1.12 and v1.13 is the cinder-csi-plugin image:

The cinder-csi-plugin image, both versions images are latest, but the size is different.

In v1.3:

# docker images|grep csi
docker.io/k8scloudprovider/cinder-csi-plugin   latest              2db05ffa4d7c        9 hours ago         300 MB
quay.io/k8scsi/csi-node-driver-registrar                                    v1.0.1              4c7fa144c035        2 months ago        46.9 MB
quay.io/k8scsi/csi-provisioner                                              v1.0.1              2004b031bce2        2 months ago        48 MB
quay.io/k8scsi/csi-attacher                                                 v1.0.1              2ef5329b7139        2 months ago        50.2 MB
quay.io/k8scsi/csi-snapshotter                                              v1.0.1              c70168a8d1de        2 months ago        49.2 MB

In v1.12

# docker images|grep csi
docker.io/k8scloudprovider/cinder-csi-plugin                                latest              ad9688cdab83        4 days ago          326 MB
quay.io/k8scsi/csi-node-driver-registrar                                    v1.0.1              4c7fa144c035        2 months ago        46.9 MB
quay.io/k8scsi/csi-provisioner                                              v1.0.1              2004b031bce2        2 months ago        48 MB
quay.io/k8scsi/csi-attacher                                                 v1.0.1              2ef5329b7139        2 months ago        50.2 MB
quay.io/k8scsi/csi-snapshotter                                              v1.0.1              c70168a8d1de        2 months ago        49.2 MB

Other plugin images are all v1.0.1(attacher, provisioner)
The pod status are:
# kubectl get pod -n kube-system
NAME                                                               READY   STATUS             RESTARTS   AGE
csi-attacher-cinderplugin-0                                        1/2     CrashLoopBackOff   92         9h
csi-nodeplugin-cinderplugin-cch5f                                  1/2     CrashLoopBackOff   110        9h
csi-nodeplugin-cinderplugin-tz4pm                                  1/2     CrashLoopBackOff   110        9h
csi-nodeplugin-cinderplugin-vp7d7                                  1/2     CrashLoopBackOff   110        9h
csi-provisioner-cinderplugin-0                                     0/2     CrashLoopBackOff   110        9h

The error logs:

The external-attacher log:

# kubectl logs -f csi-attacher-cinderplugin-0 -n kube-system csi-attacher
I0301 15:02:04.708336       1 main.go:76] Version: v1.0.1-0-gb7dadac
I0301 15:02:04.712729       1 connection.go:89] Connecting to /var/lib/csi/sockets/pluginproxy/csi.sock
I0301 15:02:04.713213       1 connection.go:116] Still trying, connection is CONNECTING
I0301 15:02:04.713876       1 connection.go:113] Connected
I0301 15:02:04.713902       1 connection.go:242] GRPC call: /csi.v1.Identity/Probe
I0301 15:02:04.713910       1 connection.go:243] GRPC request: {}
I0301 15:02:04.716289       1 connection.go:245] GRPC response: {}
I0301 15:02:04.720946       1 connection.go:246] GRPC error: rpc error: code = Unimplemented desc = unknown service csi.v1.Identity
I0301 15:02:04.720978       1 main.go:214] Probe failed with rpc error: code = Unimplemented desc = unknown service csi.v1.Identity
I0301 15:02:05.721971       1 connection.go:242] GRPC call: /csi.v1.Identity/Probe
I0301 15:02:05.722026       1 connection.go:243] GRPC request: {}
I0301 15:02:05.723187       1 connection.go:245] GRPC response: {}
I0301 15:02:05.723587       1 connection.go:246] GRPC error: rpc error: code = Unimplemented desc = unknown service csi.v1.Identity
I0301 15:02:05.723598       1 main.go:214] Probe failed with rpc error: code = Unimplemented desc = unknown service csi.v1.Identity
I0301 15:02:06.723796       1 connection.go:242] GRPC call: /csi.v1.Identity/Probe
I0301 15:02:06.723843       1 connection.go:243] GRPC request: {}
I0301 15:02:06.724945       1 connection.go:245] GRPC response: {}
I0301 15:02:06.725322       1 connection.go:246] GRPC error: rpc error: code = Unimplemented desc = unknown service csi.v1.Identity
I0301 15:02:06.725333       1 main.go:214] Probe failed with rpc error: code = Unimplemented desc = unknown service csi.v1.Identity
I0301 15:02:07.725491       1 connection.go:242] GRPC call: /csi.v1.Identity/Probe
I0301 15:02:07.725544       1 connection.go:243] GRPC request: {}
I0301 15:02:07.726457       1 connection.go:245] GRPC response: {}
I0301 15:02:07.726835       1 connection.go:246] GRPC error: rpc error: code = Unimplemented desc = unknown service csi.v1.Identity
I0301 15:02:07.726846       1 main.go:214] Probe failed with rpc error: code = Unimplemented desc = unknown service csi.v1.Identity

The external-provisioner log, it's strange the logs shows the command line usage infor.

# kubectl logs -f csi-provisioner-cinderplugin-0 -n kube-system csi-provisioner
flag provided but not defined: -provisioner
Usage of /csi-attacher:
  -alsologtostderr
        log to standard error as well as files
  -connection-timeout duration
        Timeout for waiting for CSI driver socket. (default 1m0s)
  -csi-address string
        Address of the CSI driver socket. (default "/run/csi/socket")
  -dummy
        Run in dummy mode, i.e. not connecting to CSI driver and marking everything as attached. Expected CSI driver name is "csi/dummy".
  -kubeconfig string
        Absolute path to the kubeconfig file. Required only when running out of cluster.
  -leader-election
        Enable leader election.
  -leader-election-identity string
        Unique idenity of this attcher. Typically name of the pod where the attacher runs.
  -leader-election-namespace string
        Namespace where this attacher runs.
  -log_backtrace_at value
        when logging hits line file:N, emit a stack trace
  -log_dir string
        If non-empty, write log files in this directory
  -logtostderr
        log to standard error instead of files
  -resync duration
        Resync interval of the controller. (default 10m0s)
  -stderrthreshold value
        logs at or above this threshold go to stderr
  -timeout duration
        Timeout for waiting for attaching or detaching the volume. (default 15s)
  -v value
        log level for V logs

The csi-nodeplugin-cinderplugin log:

# kubectl logs -f csi-nodeplugin-cinderplugin-wz5nj -n kube-system node-driver-registrar
I0301 15:10:07.732547       1 main.go:111] Version: v1.0.1-0-g27703026
I0301 15:10:07.732721       1 main.go:118] Attempting to open a gRPC connection with: "/csi/csi.sock"
I0301 15:10:07.732748       1 connection.go:69] Connecting to /csi/csi.sock
I0301 15:10:07.733131       1 connection.go:96] Still trying, connection is CONNECTING
I0301 15:10:07.734290       1 connection.go:93] Connected
I0301 15:10:07.734310       1 main.go:126] Calling CSI driver to discover driver name.
I0301 15:10:07.734356       1 connection.go:137] GRPC call: /csi.v1.Identity/GetPluginInfo
I0301 15:10:07.734389       1 connection.go:138] GRPC request: {}
I0301 15:10:07.737887       1 connection.go:140] GRPC response: {}
I0301 15:10:07.738372       1 connection.go:141] GRPC error: rpc error: code = Unimplemented desc = unknown service csi.v1.Identity
E0301 15:10:07.738392       1 main.go:131] rpc error: code = Unimplemented desc = unknown service csi.v1.Identity

The cinder container log:

# kubectl logs -f csi-attacher-cinderplugin-0 -n kube-system cinder
I0301 14:44:15.303565       1 driver.go:49] Driver: csi-cinderplugin version: 0.2.0
I0301 14:44:15.304003       1 driver.go:80] Enabling controller service capability: CREATE_DELETE_VOLUME
I0301 14:44:15.304043       1 driver.go:80] Enabling controller service capability: PUBLISH_UNPUBLISH_VOLUME
I0301 14:44:15.304050       1 driver.go:92] Enabling volume access mode: SINGLE_NODE_WRITER
I0301 14:44:15.304360       1 server.go:108] Listening for connections on address: &net.UnixAddr{Name:"/csi/csi.sock", Net:"unix"}

Thanks for any suggestions.
Thanks
Darcy

Seems the cinder-csi driver version is wrong, now the version is 0.2.0.
But it's strange as I pull the latest cinder-csi-plugin images, but it gets the v0.2.0 version.
# docker images|grep csi
docker.io/k8scloudprovider/cinder-csi-plugin                                latest              2db05ffa4d7c        20 hours ago        300 MB

:
# kubectl logs -f csi-attacher-cinderplugin-0 -n kube-system
Error from server (BadRequest): a container name must be specified for pod csi-attacher-cinderplugin-0, choose one of: [csi-attacher cinder]
[root@dzhou-3-control-01 ~]# kubectl logs -f csi-attacher-cinderplugin-0 -n kube-system cinder
I0301 13:55:36.948453       1 driver.go:49] Driver: csi-cinderplugin version: 0.2.0
I0301 13:55:36.948586       1 driver.go:80] Enabling controller service capability: CREATE_DELETE_VOLUME
I0301 13:55:36.948594       1 driver.go:80] Enabling controller service capability: PUBLISH_UNPUBLISH_VOLUME
I0301 13:55:36.948598       1 driver.go:92] Enabling volume access mode: SINGLE_NODE_WRITER
I0301 13:55:36.948930       1 server.go:108] Listening for connections on address: &net.UnixAddr{Name:"/csi/csi.sock", Net:"unix"}
^C

Hi
Got the same issue here, how did you resolve the problem ?

secure-k8s-coreos12-q53vksyzypjz-master-0 cinder-csi-plugin # kubectl logs -f csi-attacher-cinderplugin-0 -n kube-system cinder
I0318 14:35:26.578495       1 driver.go:49] Driver: csi-cinderplugin version: 0.2.0
secure-k8s-coreos12-q53vksyzypjz-master-0 cinder-csi-plugin # grep image *
csi-attacher-cinderplugin.yaml:          image: quay.io/k8scsi/csi-attacher:v1.0.1
csi-attacher-cinderplugin.yaml:          imagePullPolicy: "IfNotPresent"
csi-attacher-cinderplugin.yaml:          image: docker.io/k8scloudprovider/cinder-csi-plugin:latest

Hi,
The image version should be compatible, if you use the csi-attacher v1.0.1 version, the csi-cinderplugin should use the lastest image.
v1.0.x | v1.0.x | v1.0.0 docker image: k8scloudprovider/cinder-csi-plugin:latest | v1.13+
-- | -- | -- | --

CSI version | CSI Sidecar Version | Cinder CSI Plugin Version | Kubernetes Version
-- | -- | -- | --
v1.0.x | v1.0.x | v1.0.0 docker image: k8scloudprovider/cinder-csi-plugin:latest | v1.13+

The problem is that when I use "latest" it's 0.2.0 that gets pulled
secure-k8s-coreos12-q53vksyzypjz-master-0 cinder-csi-plugin # grep image *
csi-attacher-cinderplugin.yaml:          image: quay.io/k8scsi/csi-attacher:v1.0.1
csi-attacher-cinderplugin.yaml:          imagePullPolicy: "Always"
csi-attacher-cinderplugin.yaml:          image: docker.io/k8scloudprovider/cinder-csi-plugin:latest
csi-attacher-cinderplugin.yaml:          imagePullPolicy: "IfNotPresent"
csi-nodeplugin-cinderplugin.yaml:          image: quay.io/k8scsi/csi-node-driver-registrar:v1.0.1
csi-nodeplugin-cinderplugin.yaml:          imagePullPolicy: "IfNotPresent"
csi-nodeplugin-cinderplugin.yaml:          image: docker.io/k8scloudprovider/cinder-csi-plugin:latest
csi-nodeplugin-cinderplugin.yaml:          imagePullPolicy: "IfNotPresent"
csi-provisioner-cinderplugin.yaml:          image: quay.io/k8scsi/csi-provisioner:v1.0.1
csi-provisioner-cinderplugin.yaml:          imagePullPolicy: "IfNotPresent"
csi-provisioner-cinderplugin.yaml:          image: docker.io/k8scloudprovider/cinder-csi-plugin:latest
csi-provisioner-cinderplugin.yaml:          imagePullPolicy: "IfNotPresent"
csi-snapshotter-cinderplugin.yaml:          image: quay.io/k8scsi/csi-snapshotter:v1.0.1
csi-snapshotter-cinderplugin.yaml:          imagePullPolicy: Always
csi-snapshotter-cinderplugin.yaml:          image: docker.io/k8scloudprovider/cinder-csi-plugin:latest
csi-snapshotter-cinderplugin.yaml:          imagePullPolicy: "IfNotPresent"
is there another tag I can use ?

ok I get it, the example files should be modified to use k8scloudprovider/cinder-csi-plugin:1.13.x
instead of quay,

The 1.13x corresponds to the CSI Sidecar Version as v0.3.x, v0.4.x but v1.0.1, so still need to use the latest tag.
Delete the old images and pull again?
or maybe you could try to change the example files from imagePullPolicy: "IfNotPresent" to imagePullPolicy: "Always"

Ok It worked with imagePullPolicy: "Always"
very strange as I never mentioned 0.20 and that is a fresh install.
thanks a lot for your help, very kind of you.

Hi @dricoco ,
Have you ever met the issue #535, as now I have tried in five clusters and all have the same issue, did you meet it?
Thanks

hi @darcyllingyan,
not for the moment I'm running into other issues that prevents the provisionner to work like #312


Sparrow dom/staking approve call

replace the mockOgn dev contract with our actual live contract
adds stakeWithSender function to singleAssetStaking contract
to be confirmed this is ok adds a web3-eth-abi npm package
make the dapp use the approveAndCallWithSender also in dev mode

Issues:

the testing account 0x17BAd8cbCDeC350958dF0Bfe01E284dd8Fec3fcD receives total supply of Ogn. Don't yet know why

Contract change checklist:

[ ] Code reviewed by 2 reviewers
[ ] Unit tests pass
[ ] Slither tests pass with no warning
[ ] Echidna tests pass (not automated, run manually on local)

I'm thinking we need to add tests for using the OGN whitelist with this.

Did we need to commit a changed package.lock file for this commit? Was that an error, or did something change?

Yeah I added a npm package in there. But per @franckc 's suggestion that npm package can be scrapped.

Slither tests now pass but with disabling the following detectors: controlled-array-length,weak-prng,divide-before-multiply

the controlled-array-length in contracts/contracts/utils/InitializableAbstractStrategy.sol [line 193] seems to only be called at initialise and by the governor from what I can tell
the weak-prng in contracts/contracts/oracle/UniswapLib.sol[line 49] looks like a false positive to me
the divide-before-multiply in contracts/contracts/utils/StableMath.sol [line 31 & 33] also looks like a false positive

Would love some feedback & code review from @tomlinton @DanielVF @crazybuster

@sparrow regarding the slither warnings you mentioned in discord:

controlled-array-length in contracts/contracts/utils/InitializableAbstractStrategy.sol [line 193]
Since the method _setPTokenAddress is only called at initialization or by the governor, I think we can safely ignore this warning.
weak-prng in contracts/contracts/oracle/UniswapLib.sol[line 49]
This file was removed. Pull from latest master.
divide-before-multiply in contracts/contracts/utils/StableMath.sol [line 31 & 33]
Looks like a false positive to me.

thanks @crazybuster will add more tests tomorrow after we merge this in


As a user I would like to deploy TESK on clouds supported by EBI Cloud Platform

Deploy cpa-kubernetes --> Embassy
Deploy cpa-kubernetes --> CSC
Deploy cpa-kubernetes + TESK --> Embassy
Deploy cpa-kubernetes +TESK --> CSC


Support pre-sizing the RlpEncoder buffer

Module
RLP
📝 Description
Add support for pre-sizing the buffer to avoid re-allocating during encoding. One way to do this is to add rlpSize(): Int function to RlpEncodable interface, which returns -1 by default. Subclasses can then override this function and provide actual size of the encoded type. This size is then used in toRlp() function to create a pre-sized encoder. In RlpEncoder#toByteArray() we can then return the internal ByteBuffer buffer (buffer.array()) directly since it will be correctly sized already.
In rlpEncode functions we would also need to provide sizing information when calling encodeList/startList functions to avoid copying when encoding length of size.
Alternative implementation could be to make RlpEncoder and interface and adding a new type which would just collect type sizes on first rlpEncode call, and use that information to correctly size the actual encoder buffer. This option needs a bit more exploration to better understand if it would be feasible.
The overall goal is to keep implementing the RLP encoding for types as simple as possible, while improving performance by avoiding redundant array copying and resizing.

Another, less complex alternative: just override RlpEncodable#toRlp function where pre-sizing is desired.


Add qc workflow

It would be cleaner to use record types instead of parallel lists, for example:
type: record
fields:
  sample_id: string
  sample_type: string
  sample_sex: string
  simplex_bam: File
  duplex_bam: File
  collapsed_bam: File
  uncollapsed_bam: File
  ...

Perhaps we can refactor this

@ionox0 not sure what record types would look like. I am just using what rabix outputs by default. feel free to refactor though

I still need to add the general_stats_parse.py step to the main workflow

todo:

[ ] make sure outputs are structured ok
[ ] fix biometrics files not being found
[ ] test on multiple samples


[Code health] Rename on* functions

We have some functions throughout the app that are called on...Result... on...Click... and similar. These names are really opaque and do not convey anything about the actual behavior that's happening when the function is called. It'd be better to convey semantics in these names instead of intended/current call site use, e.g. onTakePhoto --> startPhotoCapture, onSignInButtonClick --> attemptUserSignIn etc.

We have some functions throughout the app that are called on...Result... on...Click... and similar. These names are really opaque and do not convey anything about the actual behavior that's happening when the function is called. It'd be better to convey semantics in these names instead of intended/current call site use, e.g. onTakePhoto --> startPhotoCapture, onSignInButtonClick --> attemptUserSignIn etc.

I saw a related ToTT about naming recently, and I partly disagree with the idea that naming handler methods as such is necessarily a bad thing. Like setters and getters, they're such a common pattern that a consistent naming convention can add clarity. For additional clarity, those methods could call "action" methods that actually do things (eg startPhotoCapture()) rather than implementing that logic themselves. Also, on* is such a pervasive naming pattern in Android SDK and related APIs that even if we try to eliminate it from our own classes, we'll still end up having references to onClickListener and the likes in our code. Change my mind! :)

It is a definite tradeoff. The on* style conveys, in the context of the enclosing class, that we basically intend that functionality to be used in a handler. OTOH, it conveys nothing at point of use in e.g. the fragment layout:
class ... {
  // oh cool, this is a handler
  fun onSignInButtonClicked() ...
}

// elsewhere..........

// Huh? What does this do?
onClick = frag.onSignInButtonClicked()

Contrarily, giving more semantic names doesn't convey the handler intention within the enclosing class, but it gives readers in the layout fragment way more context:
class ... {
  // ok this attempts a sign in, where's it used exactly?
  fun attemptSignIn() ...
}

// elsewhere..........

// oh cool, we'll attempt to sign in when this button is pressed
onClick = frag.attemptSignIn()

So I think it depends on what we think is more valuable. I'd also argue that the naming scheme overemphasizes a shared property that isn't important. Knowing that all the various action handlers we have are ui handlers doesn't really benefit us since it's rare that we'd ever modify all of these functions based on this shared characteristic, in spite of this, the naming scheme really puts this shared characteristic front and center.
I think names with terms like button in them are also problematic because it means we'll need a rename if we ever happen to change the control component we bind the behavior to.
Maybe we can get the best of both worlds by adopting a nice suffix instead of a prefix, and by dropping references to buttons etc. What about, e.g. attemptSignInAction, takePhotoAction -- this would convey more meaning at call sites while still making this class of methods nice and control f-able.
As for the android terminology, I think that's necessary and makes sense given android's role as the platform. I think it makes less sense for application logic to mirror this approach. In fact, listeners are another example where using the on... pattern just states the obvious and is redundant most of the time .setOnClickListener(onButtonClick()) v. setOnClickListener(uploadMedia())
Just my 2c, the tott is what inspired this. I'd be happy to drop it if we don't feel strongly, but I did touch the photo fragment recently and felt that it'd have been easier to reason through what was happening if the On.... had more meaningful names. Instead, there were a bunch of onSelectPhoto that then calls onPhoto that in turn calls onBlah so it became quite confusing.

Ok, I'm convinced: As I read your response I realized I was thinking of event handlers as the primary means of documenting the result of a particular UI interaction. However,  with both Compose and XML Data Bindings handlers are already described in a discoverable, non-ambiguous way. In that case adding another level of indirection is unnecessary.
The one potential exception I can think of is when an event triggers multiple semi-related actions. In that case we have to option of putting all the effects in the method name  (showConfirmationDeleteTheThingAndAddTheOtherThing()), or regressing to the handler method naming style. That said, I assume actions can usually be generalized in a way which doesn't expose all the sub-routines involved, so this edge case may just be a hallucination rather than an actual issue.


0.19.9 release?

Hi, any chance of a v0.19.9 release soon?

HI @carlosfunk at the moment I have no date when to release the new version. Are you waiting for something specific?

Hi, yeah just waiting on #2011 thats all.
Thanks

Yes that would be nice !! I'm waiting for #2015
Even a simple update of the /dist directory would be awesome 👍

I'll go ahead and +1 this.

You can use my fork, it has build with all recent changes.
"angular-ui-select": "Greenek/ui-select#header-footer-2"

I'm unfortunately using webjars so this isn't a solution I can use :/
On Mon, Oct 30, 2017 at 10:43 AM, Paweł Golonko<EMAIL_ADDRESS>wrote:

You can use my fork, it has build with all recent changes.
"angular-ui-select": "Greenek/ui-select#header-footer-2"
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/angular-ui/ui-select/issues/2062#issuecomment-340465656,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABjyfR8S812ZzC1wSv5zmCE6ee5X4lqUks5sxeCugaJpZM4P3u7O
.

+1, I'm also waiting for #2015. Using Greenek's fork for now...

Im assuming this release is dead?


pspopt demo - need to clear plan cache before re-running demo with perfmon.

current instructions from readme.md for pspopt demo: https://github.com/microsoft/sqlworkshops-sql2022workshop/blob/main/sql2022workshop/03_BuiltinQueryIntelligence/pspopt/readme.md
...
See a PSP problem for a single query execution

Set the actual execution plan option in SSMS. Run query_plan_seek.sql twice in a query window in SSMS. Note the query execution time is fast (< 1 second). Check the timings from SET STATISTICS TIME ON from the second execution. The query is run twice so the 2nd execution will not require a compile. This is the time we want to compare. Note the query plan uses an Index Seek.
In a different query window set the actual execution option in SSMS. Run query_plan_scan.sql in a query windows in SSMS. Note the query plan uses an Clustered Index Scan and parallelism.
Now go back and run query_plan_seek.sql again. Note that even though the query executes quickly (< 1 sec), the timing from SET STATISTICS TIME is significantly longer than the previous execution. Also note the query plan also uses a clustered index scan and parallelism.

See a workload problem for PSP

Setup perfmon to capture % processor time and batch requests/second.
Run workload_index_seek.cmd 10 from the command prompt. This should finish very quickly. The parameter is the number of users. You may want to increase this for machines with 8 CPUs or more. Observe perfmon counters.
Run workload_index_scan.cmd. This should take longer but now locks into cache a plan for a scan.
...

Between those two demos, attendees will need to clear the proc cache again so that the second demo does not start by using the parallel scan plan.

Very nice catch. Added a script called clear.sql and put in the readme


refactor🎨:优化sys_config相关代码

[中文版模板 / Chinese template]
🤔 This is a ...

[x] Code style optimization

🔗 Related issue link

💡 Background and solution

📝 Changelog

Language
Changelog

🇺🇸 English

🇨🇳 Chinese
refactor🎨:优化sys_config相关代码

☑ Self-Check before Merge
⚠ Please check all items below before review. ⚠

[x] Doc is updated/provided or not needed
[x] Demo is updated/provided or not needed
[x] TypeScript definition is updated/provided or not needed
[x] Changelog is provided or not needed

@wenjianzhang 麻烦看一下


#35 fix code not int tag v1.2.3

#35 fix code not int tag v1.2.3, can you release new tag for that?

Sorry, this is now available in v1.2.4


[DPE-3927] Multiple databases

Adding wildcard database to be able to connect to multiple databases from PGB
Adding limits to the number of PGB instances we spawn
Adding Landscape test

There's still collection of read only DBs to do, in a follow up PR.

@rajannpatel we are merging this PR in edge to continue moving forward and improve edge based on your feedback.


Updated authorize function with unit tests

The updated authorize() makes it simper to use (I think) and makes it possible to write unit tests for it.

Can one of the admins verify this patch?

@hyi and @selimnairb Please review.

I will be updating code to not allow superuser to create resource version.

Can someone review this?

@pkdash I'm traveling and working on another project, so won't be able to look at this until this afternoon, or tomorrow.

@selimnairb Sounds good. Thanks.

@pkdash I have finished first round of code review and had a few comments for you to consider/address.

@hyi Thanks for the comments. I will soon be addressing those.

@pkdash This looks good overall (aside from some minor suggestions).  Could you suggest a strategy for applying the tests you've developed to the REST API without me duplicating a lot of the test code?  I want to make sure that REST and internal APIs give the same answer for all authentication cases.

@selimnairb Need to think a little on this. The strategy would also apply to unit tests for the view functions used by the web interface. I will be writing unit tests for these view functions soon. Hope will have a better idea then.

@hyi I think now I have addressed all the comments.

@pkdash I have a couple of further comments after reviewing it again. After they are addressed, a +1 from me.

@hyi See if you can +1. It looks like until Monday Jenkins won't be able to run tests for this PR. @mjstealey We should merge this only after we see the passing test results from Jenkins.

We should merge this only after we see the passing test results from Jenkins

You could run the tests locally and post back success or failure to this issue thread.
If the tests do fail, add the error output, otherwise a tests passing note seems sufficient to me.

@mjstealey I have never been able to get the number of tests run under local to be same as the number of tests reported by Jenkins (Jenkins number of test is correct). In local test run, the number of test run is much less. I think if I do import of tests in the init.py for each each of the apps then I may get the same number of tests. I guess I will wait for Jenkin test results on Monday.

@pkdash I have a couple of comments regarding super user testing for deleting published resources. After they are addressed, I can +1. Of course, it'd be the best to get a green check from Jenkins before merging just to be sure.

+1

Will wait to merge until Jenkins reports success units test run.


CEX-570 add onBlur event to input component

What does this PR do? (please provide any background)
Adds an handleBlur prop to the Input component. This will allow us to run functions when a user has finished interacting with an input field. Currently there is only a handleChange prop which will run whenever a user types.
What tests does this PR have?
test/components/input-test.jsx
How can this be tested?
I've created the toolkit-blur-test branch in the react-car-reg-lookup for testing this. npm-link the toolkit, run an npm run build and you will be able to test these changes in that repo.
When you blur on the input field you will see a console.log with the value of the input field
Screenshots / Screencast

What gif best describes how you feel about this work?

[ ] I have checked our general contributing document and the project specific contributing document (if present) and I'm happy for this to be reviewed.

Reviewers
Review 1

[ ] :+1:

Review 2 *

[ ] :+1:

Review 3 (optional)

[ ] :+1:

By adding a +1 you are confirming you have...

Witnessed the work behaving as expected (this could be on the author's machine or screencast).
Checked for coding anti-patterns.
Checked for appropriate test coverage.
Checked all the tests are passing.

*  for HX this review must be completed by an SE, SA or Project Guru

I'm going to close this as the change is no longer needed


Multi-part sankey?

I implemented a multi-part sankey that allows for the individual links to be split into categorized pieces. Probably be nice to fold that into the base implementation so people have access to the functionality.
https://github.com/emeeks/d3.sankey-multipart/

Is this different than giving as input a graph where there are multiple links between the same pair of nodes? For example:
sankey({
  nodes:[
    {name:"A"},
    {name:"B"},
    {name:"C"}
  ],
  links:[
    {source:0, target:1, value:100, color: "red"},
    {source:0, target:1, value:80, color: "green"},
    {source:0, target:1, value:50, color: "blue"},
    {source:0, target:2, value:50, color: "red"},
    {source:0, target:2, value:40, color: "green"},
    {source:0, target:2, value:20, color: "blue"}
  ]
})

Which might look like:

The thing I could imagine that’s missing is a constraint that the links are drawn in a certain order.

Pretty sure I made it because I thought the sankey layout didn't support parallel edges. It's been a while, if there was another reason and I remember, I'll post it, otherwise yeah, just the ability to determine draw order would be useful.

It occurs to me that the requested feature, then—control over the order of links—was already implemented in #19. Hooray.


Runner: use a Block if the sql file contains a CONCURRENTLY instruction

Codecov Report

Merging #7 into master will increase coverage by 0.08%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master       #7      +/-   ##
==========================================
+ Coverage    96.1%   96.19%   +0.08%
==========================================
  Files          13       13
  Lines         514      525      +11
  Branches       71       74       +3
==========================================
+ Hits          494      505      +11
  Misses         10       10
  Partials       10       10

Impacted Files
Coverage Δ

django_north/management/runner.py
90.52% <100%> (+1.24%)
:arrow_up:

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 9a7b2a0...b3b8d21. Read the comment docs.


Play event doesn't go to preroll on Android

Given a plain vanilla videojs 5.3 player and a basic ima set up (using the config in the simple example), when the video has a preroll Android rejects playback of the preroll with an error:
Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture.
You can see an example here:
https://jsfiddle.net/q5onb63p/2/
we set up a basic videojs player. When the user clicks the videojs big play button the request to  ima.initializeAdDisplay() and requestAds() is called, but Chrome on Android fires back with that "Failed to execute 'play'...." error.
Any advice?
I noticed the iPhone sample DOES play the preroll, but that's kind of a bunk example, since it's not using videojs at all, but rather creating a vanilla video tag that plays a preroll on click.

Hi there,
There's currently a known issue with the non-iPhone samples and Android devices (see #142). The iPhone sample is still using a full video.js player - we go through the same workflow as the other samples (create a video tag and then pass its ID to the video.js constructor) so it's using a video.js player, not just a vanilla video tag.

Hmmm, I'm still looking into is, but it seems to me the issue boils down to if you create the videojs player based on a click/tap event and then request the ima stuff the preroll works.
If the videojs player is created BEFORE a user taps a button, the ima play call throws the error above and times out.
I'll let you know if I find any other details.
Note that we had our QA dept. report this behavior also happened in videojs 4.12.* (I've yet to confirm that).

That specific error is caused when you call initializeAdDisplayContainer but not as the result of a user action. Is that expected behavior with your current code?

We call initializeAdDisplayContainer in the videojs play handler. So the expectation is the user comes in, clicks the big play button and then the on('play') event fires and initializes the ima stuff.

OK that is the issue then - "play" is not fired as the result of a user action. You need to listen for the "click" or "tap" event itself.

Ok, so the user has to touch an element that directly creates the ima object? The intention gets lost somewhere in the callbacks that the big play button makes?

The only thing that must be done as the result of a user action is the call to initializeAdDisplayContainer - you can create the IMA object any time you want before that. You can do this as the result of a click or tap on the play button, but it must be in an event listener for "click" or "tap" - the "play" event doesn't count.

Gotcha, thanks.

Just wanted to confirm, in android I added a div over the player and button that calls the same function that's called by the videojs player.on('play') (so essentially covered the poster image and play button with a transparent div that calls the same handler).
Works great, thank you for your help!


bug: when disconnecting user through exit message, name disappears and user is no longer stored with box after activation

cannot reporoduce anymore, so fixed


⚠ Bofrost.be has degraded performance

In 37e36db, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1055 ms

Resolved: Bofrost.be performance has improved in 6cd5e85 after 8 minutes.


Add in custom error message handler

Hello,
It would be super useful to be able to add in custom error messages (e.g. why the upload failed). A handler for returning a custom message would be really useful in this case. For example when returning a 422 unprocessable entity, I would like to display why it's unprocessed.

onErrorMsg = (error, message[, response, file]) => {
    if (response && error === 'labelFileProcessingError') {
        return response.body;
    }
    return message;
}

error = error key from labels
message = default error message also from labels
response = when there was a response from the server that wasn't a 200
file = the file that couldn't be uploaded if it exists
or something to that respect, it could be we'd need to return a promise or resolve a promise for the message. In case the response is json encoded.

Hmm, just updated to latest version and the current label function only provides the "error" argument as does the "process-error" event which is used to trigger the label call. The action creating the error doesn't pass through any error handling so the body of the message is just set to the statusText from the response object...
My response although a 422 does return error information on why the upload failed or why the file could not be processed:
{"error": "Upload failed, invalid JSON"}

I appreciate that I could add a plugin to check the file before upload... however I would still need to perform the server side validation anyway. It would make sense that instead of validating the file multiple times to be able to just parse the response body, pull out the error message and show that. Saves having two teams maintaining the same validation logic as well.
I will create a plugin for the mean time to handle the logic, but I still believe this would be a good feature to include in the future. When life is less CRAZY BUSY! 8-)

You can additionally use the onerror on the server.process object to filter out the request. I think that should give enough flexibility?

Yes, I missed that bit scanning through the code. Using the onerror on the server object has allowed me to decode and return an appropriate message.
Example below for others:
<FilePond
  acceptedFileTypes={['application/json']}
  server={{
    process: {
      onerror: (json) => {
        const result = JSON.parse(json);
        return _.get(result, 'error', null);
      }
    }
  }}
  labelFileProcessingError={(error) => error.body}
/>

It should be obvious that I will also need to add in some error handing around parsing the JSON etc to ensure it doesn't fall over in case of a very bad response.
Thanks again @rikschennink !

No problem @madrussa , sorry the docs are not more clear about this, will improve in the future 👍


Logo is too large in the toolbar

(I think there should be margin above and below like https://facebook.github.io/react/ ;) )

It looks to me that this was done intentionally as the proper flow logo has been cropped like this here: https://flowtype.org/assets/flow-logo.png

yeah, the full bleed is intentional


add Github Action to check links

I would love to see the results of the action before I review it :p

https://github.com/dholbach/kured/runs/632265356?check_suite_focus=true


A little refactor

Add missing tags to phpdocs.
Add some fully-qualifed function calls.
Add return types.
Optimize some code.
Add access modifiers of some constants.

Pull Request Test Coverage Report for Build 164

8 of 8 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.009%) to 95.532%

Totals

Change from base Build 159:
-0.009%

Covered Lines:
449

Relevant Lines:
470

💛  - Coveralls

@Lutacon add the PGP-CS-fixed to the pipeline can be an options for all of this stuff but we'll need some custom rules

@jorge07 Yes I think that would be better. I'm gonna add it later

Keep it here, so we've the tool that fixes the style in the same PR

Needs rebase ;)

@jorge07 take a final look. I just added the CS Fixer to the pipeline. We could do some improvements on CS-Fixer but for now, it's fine.

Awesome @Lutacon