GMS fails with NPE when mysql is not setup correctly

Describe the bug
The following NPE is thrown while GMS instantiates if MySQL is not setup correctly (i.e. datahub db doesn't exist)
This error message gives no signal about what went wrong, making it very hard to debug and fix the issue.
ERROR ContextLoader Context initialization failed
 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataProcessDAO' defined in com.linkedin.gms.factory.dataprocess.DataProcessDAOFactory: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.linkedin.metadata.dao.BaseLocalDAO]: Factory method 'createInstance' threw exception; nested exception is java.lang.NullPointerException
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656)
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:484)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)

To Reproduce
Steps to reproduce the behavior:

Create a MySQL container without the datahub db
Run quickstart.sh
Notice that gms fails to start with the above error message

Expected behavior
It should clearly indicate that the db has not been setup correctly, so that the operator can go an fix the db.

Facing similar issue when setup with provided helm chart
version: 0.8.1

In addition, when I use docker/dev.sh on fresh git clone - periodically I get myslq-setup fail --> so mysql container does not have datahub db -> GMS fails.
Here are logs for mysql-setup:
2021/07/09 11:22:40 Waiting for: tcp://mysql:3306
2021/07/09 11:22:40 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:22:41 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:22:42 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:22:43 Connected to tcp://mysql:3306
-- create datahub database
CREATE DATABASE IF NOT EXISTS datahub;
USE datahub;

-- create metadata aspect table
create table if not exists metadata_aspect_v2 (
  urn                           varchar(500) not null,
  aspect                        varchar(200) not null,
  version                       bigint(20) not null,
  metadata                      longtext not null,
  systemmetadata                longtext,
  createdon                     datetime(6) not null,
  createdby                     varchar(255) not null,
  createdfor                    varchar(255),
  constraint pk_metadata_aspect_v2 primary key (urn,aspect,version)
);

-- create default records for datahub user if not exists
CREATE TABLE temp_metadata_aspect_v2 LIKE metadata_aspect_v2;
INSERT INTO temp_metadata_aspect_v2 (urn, aspect, version, metadata, createdon, createdby) VALUES(
  'urn:li:corpuser:datahub',
  'corpUserInfo',
  0,
  '{"displayName":"Data Hub","active":true,"fullName":"Data<EMAIL_ADDRESS>  now(),
  'urn:li:principal:datahub'
), (
  'urn:li:corpuser:datahub',
  'corpUserEditableInfo',
  0,
  '{"skills":[],"teams":[],"pictureLink":"https://raw.githubusercontent.com/linkedin/datahub/master/datahub-web/packages/data-portal/public/assets/images/default_avatar.png"}',
  now(),
  'urn:li:principal:datahub'
);
-- only add default records if metadata_aspect is empty
INSERT INTO metadata_aspect_v2
SELECT * FROM temp_metadata_aspect_v2
WHERE NOT EXISTS (SELECT * from metadata_aspect_v2);
DROP TABLE temp_metadata_aspect_v2;

-- create metadata index table
CREATE TABLE IF NOT EXISTS metadata_index (
 `id` BIGINT NOT NULL AUTO_INCREMENT,
 `urn` VARCHAR(200) NOT NULL,
 `aspect` VARCHAR(150) NOT NULL,
 `path` VARCHAR(150) NOT NULL,
 `longVal` BIGINT,
 `stringVal` VARCHAR(200),
 `doubleVal` DOUBLE,
 CONSTRAINT id_pk PRIMARY KEY (id),
 INDEX longIndex (`urn`,`aspect`,`path`,`longVal`),
 INDEX stringIndex (`urn`,`aspect`,`path`,`stringVal`),
 INDEX doubleIndex (`urn`,`aspect`,`path`,`doubleVal`)
);
ERROR 1130 (HY000): Host '<IP_ADDRESS>' is not allowed to connect to this MySQL server
2021/07/09 11:22:43 Command exited with error: exit status 1
2021/07/09 11:22:43 Command exited with error: exit status 1

And, in contradiction, to demonstrate the flaky nature of an effect - after couple of ./nuke.sh && docker.sh, I've got Mysql and GMS finally started
2021/07/09 11:52:44 Waiting for: tcp://mysql:3306
2021/07/09 11:52:44 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:45 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:46 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:47 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:48 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:49 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:50 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:51 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:52 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:53 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:54 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:55 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:56 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:57 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:58 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:52:59 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:53:00 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:53:01 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:53:02 Problem with dial: dial tcp <IP_ADDRESS>:3306: getsockopt: connection refused. Sleeping 1s
2021/07/09 11:53:03 Connected to tcp://mysql:3306
-- create datahub database
CREATE DATABASE IF NOT EXISTS datahub;
USE datahub;

-- create metadata aspect table
create table if not exists metadata_aspect_v2 (
  urn                           varchar(500) not null,
  aspect                        varchar(200) not null,
  version                       bigint(20) not null,
  metadata                      longtext not null,
  systemmetadata                longtext,
  createdon                     datetime(6) not null,
  createdby                     varchar(255) not null,
  createdfor                    varchar(255),
  constraint pk_metadata_aspect_v2 primary key (urn,aspect,version)
);

-- create default records for datahub user if not exists
CREATE TABLE temp_metadata_aspect_v2 LIKE metadata_aspect_v2;
INSERT INTO temp_metadata_aspect_v2 (urn, aspect, version, metadata, createdon, createdby) VALUES(
  'urn:li:corpuser:datahub',
  'corpUserInfo',
  0,
  '{"displayName":"Data Hub","active":true,"fullName":"Data<EMAIL_ADDRESS>  now(),
  'urn:li:principal:datahub'
), (
  'urn:li:corpuser:datahub',
  'corpUserEditableInfo',
  0,
  '{"skills":[],"teams":[],"pictureLink":"https://raw.githubusercontent.com/linkedin/datahub/master/datahub-web/packages/data-portal/public/assets/images/default_avatar.png"}',
  now(),
  'urn:li:principal:datahub'
);
-- only add default records if metadata_aspect is empty
INSERT INTO metadata_aspect_v2
SELECT * FROM temp_metadata_aspect_v2
WHERE NOT EXISTS (SELECT * from metadata_aspect_v2);
DROP TABLE temp_metadata_aspect_v2;

-- create metadata index table
CREATE TABLE IF NOT EXISTS metadata_index (
 `id` BIGINT NOT NULL AUTO_INCREMENT,
 `urn` VARCHAR(200) NOT NULL,
 `aspect` VARCHAR(150) NOT NULL,
 `path` VARCHAR(150) NOT NULL,
 `longVal` BIGINT,
 `stringVal` VARCHAR(200),
 `doubleVal` DOUBLE,
 CONSTRAINT id_pk PRIMARY KEY (id),
 INDEX longIndex (`urn`,`aspect`,`path`,`longVal`),
 INDEX stringIndex (`urn`,`aspect`,`path`,`stringVal`),
 INDEX doubleIndex (`urn`,`aspect`,`path`,`doubleVal`)
);
2021/07/09 11:53:03 Command finished successfully.
2021/07/09 11:53:03 Command finished successfully.

"ERROR 1130 (HY000): Host '<IP_ADDRESS>' is not allowed to connect to this MySQL server" --> This is interesting. Seems that MySQL container is somehow denied from accessing MySQL, as opposed to MySQL being down. Can you tell if that container is up when you see this issue?
How are you folks deploying DataHub? Docker compose, helm, etc?

"ERROR 1130 (HY000): Host '<IP_ADDRESS>' is not allowed to connect to this MySQL server" --> This is interesting. Seems that MySQL container is somehow denied from accessing MySQL, as opposed to MySQL being down. Can you tell if that container is up when you see this issue?
How are you folks deploying DataHub? Docker compose, helm, etc?

In my case it is just docker-compose run:
./gradlew build
cd docker
./dev.sh

MySQL is being running during that error, how evere there is no datahub database inside. And just to remind, this is pretty flacky. When I perform "./nuke.sh" and then "./dev.sh" it runs successfully after 1-2 tries

@jjoyce0510 I believe I have working hypothesys on this flake, it is connected with docker/docker-compose.override.yml:
services:
  mysql:
    container_name: mysql
    hostname: mysql
    image: mysql:5.7
    env_file: mysql/env/docker.env
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    ports:
      - "3306:3306"
    volumes:
      - ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
      - mysqldata:/var/lib/mysql

I may suppose, that when running docker/dev.sh it is not always guaranteed that override will be picked up for mysql service instead if pulling and starting container based on default mysql image without overrides. Looks like docker-compose bug maybe?

Thank you guys for the context!

@amorskoy Do you see any clear path to pushing a workaround back to the original dev.sh script? It might be useful for others as well

Hi @jjoyce0510. Sorry, I have lost the context as I belong to another company/project this year - there is no way for me to restore all this, sorry ((
But basically this post describes 100% of my local fix:

merge all docker-compose into one (to eliminate override buggy logic at runtime)
run DataHub using this pre-merged docker-compose.

My way is naive - I have inlined merge command into dev.sh, so merging each time. But it worked fine as I recall.
A better way would be to understand, why overrides were not always picked by the docker-compose tool. I tried that, but the community had no clear workaround.

As this is a very old issue which we don't have full context on now I'll close it. If this issue is still happening in latest releases we would love to have someone with full context add the details so we can work on it.


smooth scrollbar version issue :)

Hello, my English is not good enough.....ㅜ
There is a tabindex issue because the smooth scrollbar version is low.
I understand it's been resolved in version 8.4.0 Please refer to the link below.
https://github.com/idiotWu/smooth-scrollbar/issues/152
I love this package. Thank you. :)

@ripe-avocado I will rewrite the package soon and remove smooth scrollbar dependency.
You just install smooth scrollbar manually.

@ripe-avocado Please try the new 2.0.0 version. Let me know your feedback.


JSEnvs are only closed after all tests are run in aggregate project

As stated in the README

Executing test will open several browser windows and close them all before the end of the tests.

This behavior seems to cause spawning a lot of browser processes when running test in an aggregate project, which are only stopped after all tests have finished.
Since switching to Firefox  in https://github.com/softwaremill/tapir/pull/860 due to scala-js/scala-js-env-selenium#119/#105, this causes issues on memory constrained CI runners. Firefox seems to be a bit more memory hungry than Chrome, so we're only seeing this now but the behavior is the same in Chrome as well.
Is there a way to terminate browser processes after each test run or after the tests of single subproject have finished, when running test on an aggregate project in sbt?
Note that in parallel execution is already disabled in the build:
concurrentRestrictions in Global += Tags.limit(Tags.Test, 1),
Test / parallelExecution := false

Hmm seems I have a talent to always open issues in the wrong repo. ;)
Thanks @sjrd @gzm0. Executing test explicitly for each subproject works fine for now.

I have asked about this on sbt/sbt: https://github.com/sbt/sbt/discussions/6603

Note to self: We could build a heuristic that stops all JSEnvs (per TestAdapter) when all ongoing runs have terminated and a timeout has elapsed (whichever happens last). In the (unlikely) case where more testing gets invoked, we could just start the runners again.
This is less clean, but likely solves the problem.

After having attempted to build said heuristic, I'm not comfortable proceeding: From what I can see, it has the potential to worsen currently working use cases (notably the workaround to this very issue).


[flutter_tools] Skip version freshness check for non-standard remotes

This PR makes the tool skip checking for version freshness if the remote being tracked by the current channel/branch is "not-standard".
A standard remote is either https://github.com/flutter/flutter.git/git@github.com:flutter/flutter.git or the one set in the environment variable FLUTTER_GIT_URL.
This makes the tool check for freshness from the same repo it will fetch the updates when running the upgrade sub-command. Another added bonus, it prevents the unnecessary check for freshness from a user's forked repo, however the user can still configure FLUTTER_GIT_URL for freshness check anyway in that case.
Fixes #14120.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Adding to my comment here and my inference of the usage of globals.dart:
globals.flutterGit is only used twice in version.dart(it is also used in upgrade.dart, which this PR removes):
https://github.com/flutter/flutter/blob/cddd5524d46b38447094353d1ecf3e9757d57e7c/packages/flutter_tools/lib/src/version.dart#L274-L283
This will be redundant once this PR lands(and can be removed).

https://github.com/flutter/flutter/blob/cddd5524d46b38447094353d1ecf3e9757d57e7c/packages/flutter_tools/lib/src/version.dart#L634-L641
From what I can see, this is used for version resolution, before which the tool fetches in the newer tags. An interesting consequence of using FLUTTER_GIT_URL here that if the custom remote does not have the newer tags (which is the case for forks updated through git pull upstream master && git push origin master, and the wrong version is calculated(#15529).
I confirmed this by running FLUTTER_GIT_URL='https://github.com/RoyARG02/flutter/flutter.git' ./bin/flutter --version --verbose on a fresh clone of my fork which does not have the newer tags, and the tool gives me a version of  1.24.0-0.0.pre.7043 😱
Not sure if allowing FLUTTER_GIT_URL here would be considered a bug or feature, but we should remove globals.flutterGit here as well if it's the former.

Adding to my comment here and my inference of the usage of globals.dart:
globals.flutterGit is only used twice in version.dart(it is also used in upgrade.dart, which this PR removes):
https://github.com/flutter/flutter/blob/cddd5524d46b38447094353d1ecf3e9757d57e7c/packages/flutter_tools/lib/src/version.dart#L274-L283
This will be redundant once this PR lands(and can be removed).
https://github.com/flutter/flutter/blob/cddd5524d46b38447094353d1ecf3e9757d57e7c/packages/flutter_tools/lib/src/version.dart#L634-L641
From what I can see, this is used for version resolution, before which the tool fetches in the newer tags. An interesting consequence of using FLUTTER_GIT_URL here that if the custom remote does not have the newer tags (which is the case for forks updated through git pull upstream master && git push origin master), a wrong version is calculated(#15529).
I confirmed this by running FLUTTER_GIT_URL='https://github.com/RoyARG02/flutter/flutter.git' ./bin/flutter --version --verbose on a fresh clone of my fork which does not have the newer tags, and the tool gives me a version of  1.24.0-0.0.pre.7043 😱

Yeah, I don't think there's much we can do about this, other than deprecating the use of git tags for version resolution, which I would like to do but don't really have time for.

@christopherfujino to solve the issue you mentioned at https://github.com/flutter/flutter/pull/97202#discussion_r810218286, can we instead do https://github.com/flutter/flutter/pull/97202#discussion_r810451633 and using a different _flutterGit in VersionUpstreamValidator? So that would look like the following:
   VersionUpstreamValidator({
     required this.version,
     required this.platform,
-    required this.flutterGitSshUrl,
-    required this.flutterGitUrl,
-  });
+  }) : _flutterGit = platform.environment['FLUTTER_GIT_URL'] ?? 'https://github.com/flutter/flutter.git';

A similar change can be made(in a future PR) where FLUTTER_GIT_URL is used:
-  static GitTagVersion determine(ProcessUtils processUtils, {String? workingDirectory, bool fetchTags = false, String gitRef = 'HEAD'}) {
+  static GitTagVersion determine(
+    ProcessUtils processUtils,
+    Platform platform, {
+      String? workingDirectory,
+      bool fetchTags = false,
+      String gitRef = 'HEAD'
+    }) {
     if (fetchTags) {
       final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
       if (channel == 'dev' || channel == 'beta' || channel == 'stable') {
         globals.printTrace('Skipping request to fetchTags - on well known channel $channel.');
       } else {
-        _runGit('git fetch ${globals.flutterGit} --tags -f', processUtils, workingDirectory);
+        final String flutterGit = platform.environment['FLUTTER_GIT_URL'] ?? 'https://github.com/flutter/flutter.git';
+        _runGit('git fetch $flutterGit --tags -f', processUtils, workingDirectory);

@Jasguerrero can you take a look too?


Table Extraction Tool

Description
There is another tool for PDF table extraction recently, maybe this could be an option to embed?
https://github.com/ai8hyf/TF-ID

I will look into this, it'd be helpful if they published more benchmarks of their work. I'm also concerned on the relatively small amount of data it was trained on.


Changing version for EULA

@sayantancs,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


CSRF token not found

After successful login  csrf token written in response header called x-csrf-token didn't included in header afterwards in other requests

After receiving CSRF token in response headers:

Save it in local storage using localStorage.setItem('token', token)
Get token using localStorage.getItem('token')
Delete token using  localStorage.removeItem('token') after logout or when user's session already expired


Create a v1 => v2 migration guide

View the release notes for guidance on migrating => https://github.com/urfave/cli/releases/tag/v2.0.0

Here's a PR where @ffrank and @purpleidea make the v1 => v2 migration https://github.com/purpleidea/mgmt/pull/571

Here's a quirky example of someone moving from the very very old v2 branch, back to v1. https://github.com/sourcegraph/godockerize/pull/10
☝ I don't think that's the type of migration where's really looking to write documentation for? but it's interesting to look at

Here's another example migration PR https://github.com/google/cloud-print-connector/pull/470

I'm going to work on this as a part of https://github.com/urfave/cli/issues/952

In addition to working on this as a part of https://github.com/urfave/cli/issues/952, I've been progressively updating the v2 release notes => https://github.com/urfave/cli/releases/tag/v2.0.0 to include fine grain migration instructions. I'll add more as I find them!

#952 was closed, so I no longer intend on working on this

+1 migration PR => https://github.com/technosophos/dashing/pull/52

command line flag migration steps also need to be updated, at the very least to document the way command-line flag aliases now behave.
Previously you could define aliases liek:
cli.StringFlag{
  Name: "config, cfg"
}

however you now need to do
cli.StringFlag{
    Name: "config",
    Aliases: []string{"cfg"},
}

Here is a minimal repro
package main

import (
	"fmt"
	"os"

	// auto register pprof handlers

	_ "net/http/pprof"

	au "github.com/logrusorgru/aurora"
	"github.com/urfave/cli/v2"
)

func main() {
	// generate the actual cli app
	app := newApp()
	// runthe cli app
	if err := app.Run(os.Args); err != nil {
		fmt.Printf(
			"%s %s\n",
			au.Bold(au.Red("error encountered:")),
			au.Red(err.Error()),
		)
		os.Exit(1)
	}
}

func newApp() *cli.App {
	app := cli.NewApp()
	app.Flags = loadFlags()
	return app
}

func loadFlags() []cli.Flag {
	return []cli.Flag{
		&cli.BoolFlag{
			Name:  "bootstrap, bp",
			Usage: "bootstrap against public ipfs",
		},
		&cli.StringFlag{
			Name:  "config, cfg",
			Usage: "load the configuration file at `PATH`",
			Value: "./config.yml",
		},
	}
}

@bonedaddy 👍  I added these lines

Removed the ability to specify multiple entries in the Command.Name field

when updating, replace Name: "a, b, c" with Name: "a", Aliases: []string{"b", "c"}

@bonedaddy  I added these lines

Removed the ability to specify multiple entries in the Command.Name field

when updating, replace Name: "a, b, c" with Name: "a", Aliases: []string{"b", "c"}

sweet, thank you :rocket:

I kept notes as I did a recent conversion.  I think these are going to be the typical "first steps" for people (well... people like me!)

Import string changed

OLD: import "github.com/urfave/cli"
NEW: import "github.com/urfave/cli/v2"

Flag aliases are done differently.

Change Name: "foo, f to "Name: "foo", Aliases: []string{"f"}`
(Steal the examples in
https://github.com/urfave/cli/issues/921#issuecomment-570763084
...they are better)

Occurrences of []Command have been changed to []*Command

What this means to you:
a.  Look for []cli.Command{} and change it to []*cli.Command{}
Example:

OLD: var commands = []cli.Command{}
NEW: var commands = []*cli.Command{}

Compiler messages you might see:
commands/commands.go:56:30: cannot convert commands (type []cli.Command) to type cli.CommandsByName commands/commands.go:57:15: cannot use commands (type []cli.Command) as type []*cli.Command in assignment
b.  If you are building a list of commands, change to pointers

OLD: cli.Command{
NEW: &cli.Command{

Compiler messages you might see:
./commands.go:32:34: cannot use cli.Command literal (type cli.Command) as type *cli.Command in argument to

cli.Flag is now a list of pointers

What this means to you:
If you make a list of flags, add a & in front of each
item.   cli.BoolFlag, cli.StringFlag, etc

OLD:
      app.Flags = []cli.Flag{              cli.BoolFlag{

NEW:
      app.Flags = []cli.Flag{              &cli.BoolFlag{

Compiler messages you might see:
	cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
b.  appending to a list of commands needs pointers:

OLD: commands = append(commands, *c)
NEW: commands = append(commands, c)

Compiler messages you might see:
commands/commands.go:28:19: cannot use c (type *cli.Command) as type cli.Command in append

A command's Action: now returns an error

OLD: Action: func(c *cli.Context) {
NEW: Action: func(c *cli.Context) error {

Compiler messages you might see:
`
./commands.go:35:2: cannot use func literal (type func(*cli.Context)) as type cli.ActionFunc in field value

Those are good notes, thanks @TomOnTime ✨

Those are good notes, thanks @TomOnTime ✨

Thanks!
If I may be so bold: I think the typical user of urfave/cli would rather have a few conversion tips now than the perfect document in the future.  I would be honored if you published my notes as the starting point; people could send PRs with improvements over time.
It turns out that the conversion process is pretty easy, but I had been avoiding it because I didn't know how hard or difficult it would be.  Luckily I had some free time this weekend and decided to guess my way through the compiler errors and see if it would "just work".   Other people might not be so willing to "just try it".  A nudge in the docs would empower people to give it a try.

If I may be so bold: I think the typical user of urfave/cli would rather have a few conversion tips now than the perfect document in the future.

I'll follow up on this sometime soon 👍

I'm not sure if this is intentional, a side effect or something I have done wrong but after moving from v1 to v2, flags must come before args ie:
This will work
cli hello --shout rick

This will not
cli hello rick --shout

If this is intentional i couldn't find it documented anywhere and is a major gotcha for migrating.

I took a swing at this.  See https://github.com/urfave/cli/pull/1098

@nodefortytwo that change isn't specific to V2, it's an issue where the behavior flipped back and forth in V1 too. Here's an example of me changing some V1 code for this problem => https://github.com/urfave/cli/pull/872

@nodefortytwo if you have capacity, I would welcome contributors for more test cases here! It's never been 100% clear what the ideal behavior should be, which is why the behavior has shifted over time.

In cli.StringFlag type,
V1 expression is EnvVar: "XXXXX"
V2 expression is EnvVars: []string{"XXXXX"}

@guo1017138 ... please take a look at https://github.com/urfave/cli/pull/1137

Another change to document - c.GlobalBool(), c.GlobalString() and friends seem to have gone.

cli.Context.Parent() is gone, and seems to be replaced by cli.Context.Lineage


feat: add configure_mode & configure_devtool attributes to webpack_bundle and webpack_devserver

In some cases, users don't want the generated base config to touch mode & devtool

These can't be overridden in the user config files? We need to explicitly not set them? 🫤

These can't be overridden in the user config files? We need to explicitly not set them? 🫤

They can be but users might not pass config files or just want the default behaviour

How common is it to not have a config and not want default behavior? If it's rare I'd vote to not add more to the API. Or maybe add a single flag "use_defaults" or something like that? Then that flag can just swap between preset config files...

So far one request from a client but it is a low sample size so I don't think we can know how common it will be.
I considered use_defaults but the generated base config does have sane and useful defaults for infrastructureLogging, optimization & output that I don't think makes sense to be able to turn off. Just mode and devtool are the contentious ones for the client.


feat(celery): pipelines now functional

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


one more issue: NullReferenceException: Object reference not set to an instance of an object

It immediately crashs if AI modul was сonstructed
Player.log

AI Controlled Rockets DLC, another mods were off :)

seems to be fixed on AI Controlled Rockets: Game crash after recent update #5 but still something goes wrong

the crash came from an malfunctioning update, the latest version does not have this bug


Add LMY Token

Please add the Lunch Money token to the list of available tokens in metamask.
Official Website: https://lunchmoney.io/
Verified Token Source Code:
https://etherscan.io/address/0x66fd97a78d8854fec445cd1c80a07896b0b4851f#code
Token Explorer:
https://etherscan.io/token/0x66fd97a78d8854fec445cd1c80a07896b0b4851f
Thank you!

Hi @LunchMoneyToken  - I would like to merge this request but there is a new requirement that the logo has to be in SVG format. Can I ask you to add it as a replacement for the PNG one? Thanks

Hi @LunchMoneyToken - I would like to merge this request but there is a new requirement that the logo has to be in SVG format. Can I ask you to add it as a replacement for the PNG one? Thanks

Thank you. Replacing PNG for SVG now.

@xrn we have replaced PNG for SVG, please merge this request asap.

This is just PNG file embedded into SVG extension. I will merge it for now but please remember to update your logo when you will have the right SVG one.


AllContributorsSerializer changed to get and return JSON String

Please give me feedback if this is correct way. I can continue with this to close #91 but as I wrote in this issue, I think that serializers should only do one job, serialize to JSON without writing data to file. This can give us more flexibility to reuse serializers in other serializers.
Cheers!

Looks really good! I don't have any meaningful feedback regarding the implementation other than it's good stuff :) Thank you!


feat: Add support for specifying a list of existing namespaces

What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR allows users to specify a list of pre-existing namespaces rather than using the generated ones. It is important in scenarios where certain resources are restricted to only be deployed in specific namespaces.
Which issue(s) this PR fixes:
Fixes #2392
Special notes for your reviewer:

/ok-to-test
Looks good to me. Please sign CLA.

/lgtm
/approve


Create action-based player controller

For every action player class should receive event type
if player can act, needed action will be performed
should return true on success, then needed visual changes  will be made.

Right now actions are spread across index.js and other files


PXP-515: [CLI] Develop the config secrets diff command

Summary
This command will pull the latest development secrets file from Bunker, compare it with the local version, and display the diff if there are any changes made.

Usage
To use the command, simply run: wukong dev config diff

Ticket: PXP-515
What's Changed

[ ]  Implement wukong dev config diff command.
[ ] Add necessary utility functions to support the new command.
[ ] Moved common functions from config push to utils file

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

Need integration testing too. Other than that, LGTM! Good job! The dev config diff looks beautiful!

I'll also wait for the integration tests before review the PR again.

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

LGTM 👍 .
@jk-gan please re-review this PR again.

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

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jk-gan, mfauzaan
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

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

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jk-gan, mfauzaan
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


Line Formatting Between Atom and GitHub doesn't look the same. (Not Intentionally Having Sloppy Formatting)

Title more or less says it. I know it's a common issue, but I wanted it to be known that I'm not leaving lines out of order.
If you know a workaround to this issue I would greatly appreciate it.

I found the solution. Atom shows a tab as equivalent to two spaces, whereas github will show a tab as four spaces. So, when I would use a tab or space interchangeably in Atom, it would be formatted differently on github. A little confusing, if you didn't know otherwise.


fix: ensure that Rook Data will be cleanup when rook is removed

What this PR does / why we need it:
Currently, when we are removing Rook we are not removing the data.
That can cause problems mainly if Rook be re-installed on the cluster.
Also, uses space in disk which is no longer required.
Which issue(s) this PR fixes:
Fixes # [sc-70238]
Special notes for your reviewer:
See that we are also adding the check to the testgrid
Steps to reproduce

Does this PR introduce a user-facing change?

Fixes Rook data not been removed when Rook Ceph is removed from the cluster.

Does this PR require documentation?

I will wait for this pr to be merged before reviewing.

Moving forward since we got via the slack (private)  the OK from @laverya as well.


the default sprite.png has white instead of an transparent alpha channel.

When I look at old versions of uniform , the default sprite.png has a transparent background.  But with the new version the default sprint.png has a white background, which renders it sorta useless IMHO.
Thanks.

Apparently the issue was fixed in v2.1.2.


Custom image size supported.

While the intention is good, this PR has flaws. At first your description is non existing. What was the motivation, etc. In addition, what happens if the image is larger than the HUD?

Closing this PR for now. Please reopen if you have finished your work and rebased to the current master.


Fixes bug when shaving the same element multiple times

Problem: When shaving the same element multiple times with the spaces
option set to true, the space between the last word in the visible text
and the first word in the hidden text was being removed, causing the
two to be joined.
Solution: A space is added before the first word in the hidden text.

@setheid awesome work!
Thanks for the beautiful list describing the problem and solution as well.


initial block storage version 1.0

initial block storage version including

Team Publications
Useful Links
Reusable Assets

Hi in order to pass the CLA check you need to create a comment (like I'm writing right now) and just cope and paste
I have read the CLA Document and I hereby sign the CLA
Ill send you the agreement in Slack as the link above is broken

CLA Assistant Lite bot: Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.
I have read the CLA Document and I hereby sign the CLA
1 out of 2 committers have signed the CLA.✅ @AlexanderHodicke❌ @HeinzOracleYou can retrigger this bot by commenting recheck in this Pull Request

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA


Add timed-out metrics to dashboard for semaphore commands

Fixes #751

NetflixOSS » Hystrix » Hystrix-pull-requests #92 SUCCESS
This pull request looks good


Low-level API access

Should be linked #1232 and #1407
There've been a lot of feature requests over at magithub/hub#72 that would be best served by this idea of a API/authentication middleman.  Maybe something like
hub api get /repos/:owner/:repo/issues --owner=github --repo=hub
hub api patch /repos/:owner/:repo/issues/:number \
              --owner=github \
              --repo=hub \
              --number=1232
              --api-data='{"state":"closed"}'

and just return the response as the raw JSON for now.

That's a good idea, but I'm going to close this in favor of your other issue #1407, because they are about the same topic: providing a lower-level interface for script authors. Yes, I envision this interface to be both read and write.
In fact, several months ago I have started writing a hub api command that basically exposes GitHub's REST API (we call it API v3). Your proposal above is very close to what I was writing 😄  But, then GitHub announced GraphQL, which is still in beta, but I would like to start constructing this API functionality against that, since GraphQL is the future.
With GraphQL, we can fetch as much or as little data as we need using a single server request.


Remove planner task details get alias

Remove planner task details get alias as it was combined with planner task get.

PR merged. Thanks for your awesome work 👍
You Rock 🤩


Adopt to last changes in yiisoft/db

FYI: Package is currently broken because of this:

- yiisoft/db dev-master requires yiisoft/cache ^2.0 but composer.json require (^1.0).

Running `composer install`...
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - yiisoft/db dev-master requires yiisoft/cache ^2.0 -> found yiisoft/cache[2.0.0] but it conflicts with your root composer.json require (^1.0).
    - yiisoft/db 3.0.x-dev is an alias of yiisoft/db dev-master and thus requires it to be installed too.
    - Root composer.json requires yiisoft/db 3.0.x-dev -> satisfiable by yiisoft/db[3.0.x-dev (alias of dev-master)].

An error occurred during running `composer install`.
Package install aborted.


Need to opt out of MediaWrapper managing readonly state of editor

Request Type:
Feature (but kind of a bug)
Expected:
If I have a plugin/custom block type that manages readonly state of the parent editor (per Draft JS recommended practice), Megadraft components will not interfere with my control of readonly.
Actual:
MediaWrapper will set editor readonly to true onFocus and false onBlur. This means if the user clicks on or interacts with a component that cannot be bound events (like some divs), MediaWrapper will set the editor state back to readonly false with its onBlur event.
Recommendations:
Need an elegant way of doing one of the following:

Suppressing MediaWrapper onBlur and onFocus events with some sort of flag
Opting out of MediaWrapper wrapping the plugin entirely

This is kind of tricky because it raises a question about how the API should work. We could also do
3. Allow user to specify custom blockProps to pass to MediaWrapper.
Ideas are welcome, and I'm happy to make a PR for this.

Worked with @rocobl, he recommended that I use stopPropagation to resolve the issue.
I put these on my container elements
onFocus={e => e.stopPropagation()} onBlur={e => e.stopPropagation()}
and it prevented media wrapper from calling its focus and blur methods.

Awesome @cameackeSEL, I'm glad that it worked!


Fatal error: "Operations that change non-concurrent collections must have exclusive access" (System.InvalidOperationException)

I attempted to download all posts from a creator. I got up to "Downloaded 13343/13592" while downloading external images from googleusercontent, then I got this error message, and the app quit.
2022-07-17 18:26:27.6648 FATAL Fatal error, application will be closed: UniversalDownloaderPlatform.Engine.Exceptions.UniversalDownloaderPlatformException: Error while downloading https://c10.patreonusercontent.com/4/patreon-media/p/post/*redacted*/*redacted*/eyJwIjoxfQ%3D%3D/1.mp3?token-time=*redacted*&token-hash=*redacted*%3D&ext=.mp3: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
 ---> System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
   at System.Collections.Generic.Dictionary`2.FindValue(TKey key)
   at PatreonDownloader.Implementation.PatreonCrawledUrlProcessor.ProcessCrawledUrl(ICrawledUrl udpCrawledUrl, String downloadDirectory) in F:\Sources\BigProjects\PatreonDownloader\PatreonDownloader.Implementation\PatreonCrawledUrlProcessor.cs:line 207
   at UniversalDownloaderPlatform.Engine.DownloadManager.<>c__DisplayClass8_1.<<Download>b__0>d.MoveNext() in F:\Sources\BigProjects\PatreonDownloader\submodules\UniversalDownloaderPlatform\UniversalDownloaderPlatform.Engine\DownloadManager.cs:line 109
   --- End of inner exception stack trace ---
   at UniversalDownloaderPlatform.Engine.DownloadManager.<>c__DisplayClass8_1.<<Download>b__0>d.MoveNext() in F:\Sources\BigProjects\PatreonDownloader\submodules\UniversalDownloaderPlatform\UniversalDownloaderPlatform.Engine\DownloadManager.cs:line 109
--- End of stack trace from previous location ---
   at UniversalDownloaderPlatform.Engine.DownloadManager.Download(List`1 crawledUrls, String downloadDirectory, CancellationToken cancellationToken) in F:\Sources\BigProjects\PatreonDownloader\submodules\UniversalDownloaderPlatform\UniversalDownloaderPlatform.Engine\DownloadManager.cs:line 114
   at UniversalDownloaderPlatform.Engine.UniversalDownloader.Download(String url, String downloadDirectory, IUniversalDownloaderPlatformSettings settings) in F:\Sources\BigProjects\PatreonDownloader\submodules\UniversalDownloaderPlatform\UniversalDownloaderPlatform.Engine\UniversalDownloader.cs:line 204
   at PatreonDownloader.App.Program.RunPatreonDownloader(CommandLineOptions commandLineOptions) in F:\Sources\BigProjects\PatreonDownloader\PatreonDownloader.App\Program.cs:line 143
   at PatreonDownloader.App.Program.Main(String[] args) in F:\Sources\BigProjects\PatreonDownloader\PatreonDownloader.App\Program.cs:line 69

Options:
--descriptions --embeds --json --campaign-images --log-save --download-directory *redacted* --use-sub-directories

Should be fixed in latest version


Name of use_remote_address is confusing because it's actually about the proxy headers

Description:
While debugging mysterious behavior that turned out to be https://github.com/envoyproxy/envoy/issues/2638, I was very confused about how the use_remote_address field affected HTTPS behavior. It turns out that this field's true behavior is to set whether the X-Forwarded-* headers are trusted or not.
Given that incorrectly trusting these headers can be a security risk, and the strange interactions between require_tls and X-Forwarded-Proto, it would be nice if the use_remote_address field was renamed to something that more accurately described its purpose.
Ideas: trust_x_forwarded_for? trust_downstream_proxy? Something else in that direction?

The style guide doesn't allow for renaming of fields that have been frozen, see https://github.com/envoyproxy/data-plane-api/blob/master/STYLE.md. This is primarily due to JSON/YAML wire format compatibility concerns. Maybe we can improve docs to help reduce confusion, any suggestions here?

+1, let's not rename this field. It will cause too much pain. Doc improvements greatly appreciated. cc @brian-pane who has also worked in this area recently.


Cant renew: too many currently pending authorization

Hi,
Im running the letscenrypt extension on 1 of our servers. Ik have 2 subscriptions with each 230 domains. Last week 350 domains got renewed by the cron, but the last 150 have the "pending authorization" error.
When i look in /var/log/plesk/panel.log i see this error:

[2018-05-30 07:29:49.693] INFO [extension/letsencrypt] Renew certificate of domain 'doetinchemslotenmaker.nl': the certificate will expire in less than 30 days at 2018-06-25...
[2018-05-30 07:29:49.696] INFO [extension/letsencrypt] Register to ACME server 'https://acme-v01.api.letsencrypt.org/directory' using e-mail<EMAIL_ADDRESS>[2018-05-30 07:29:49.696] INFO [extension/letsencrypt] Validate ACME server using custom CA bundle: '/opt/psa/admin/plib/modules/letsencrypt/resources/ca/cacert.pem'.
[2018-05-30 07:29:49.696] DEBUG [extension/letsencrypt] Use existing registration from /opt/psa/var/modules/letsencrypt/registrations/195e649f02aed31a83540d908567b6ec99b5e443.json
[2018-05-30 07:29:49.696] INFO [extension/letsencrypt] Begin validation for domains: doetinchemslotenmaker.nl, www.doetinchemslotenmaker.nl, webmail.doetinchemslotenmaker.nl...
[2018-05-30 07:29:50.117] ERR [extension/letsencrypt] Domain validation failed for doetinchemslotenmaker.nl: Invalid response from https://acme-v01.api.letsencrypt.org/acme/new-authz.
Details:
Type: urn:acme:error:rateLimited
Status: 429
Detail: Error creating new authz :: too many currently pending authorizations: see https://letsencrypt.org/docs/rate-limits/
[2018-05-30 07:29:50.117] DEBUG [extension/letsencrypt] PleskExt\Letsencrypt\Acme\Exception\BadResponseException: Invalid response from https://acme-v01.api.letsencrypt.org/acme/new-authz.
Details:
Type: urn:acme:error:rateLimited
Status: 429
Detail: Error creating new authz :: too many currently pending authorizations: see https://letsencrypt.org/docs/rate-limits/
file: /opt/psa/admin/plib/modules/letsencrypt/library/Acme/Exception/BadResponseException.php
line: 38
code: 0
trace: #0 /opt/psa/admin/plib/modules/letsencrypt/library/Acme/Challenge.php(140): PleskExt\Letsencrypt\Acme\Exception\BadResponseException::create(object of type GuzzleHttp\Psr7\Response)
#1 /opt/psa/admin/plib/modules/letsencrypt/library/Acme/Challenge.php(35): PleskExt\Letsencrypt\Acme\Challenge->requestChallenges(string 'doetinchemslotenmaker.nl')
#2 /opt/psa/admin/plib/modules/letsencrypt/library/DomainValidation/AcmeDomainValidator.php(65): PleskExt\Letsencrypt\Acme\Challenge->solve(object of type PleskExt\Letsencrypt\ChallengeSolver\DomainDocRootHttpSolver, boolean false)
#3 /opt/psa/admin/plib/modules/letsencrypt/library/DomainValidation/AcmeDomainValidationTask.php(96): PleskExt\Letsencrypt\DomainValidation\AcmeDomainValidator->validateDomain(string 'doetinchemslotenmaker.nl')
#4 /opt/psa/admin/plib/modules/letsencrypt/library/Acme.php(226): PleskExt\Letsencrypt\DomainValidation\AcmeDomainValidationTask->run()
#5 /opt/psa/admin/plib/modules/letsencrypt/library/Acme.php(386): PleskExt\Letsencrypt\Acme->provideCertificate(array, object of type PleskExt\Letsencrypt\AcmeCertOrderContext, object of type PleskExt\Letsencrypt\ChallengeFailed\SkipChallengeFailedStrategy, object of type PleskExt\Letsencrypt\CertificateIssuance\CertSubjectsValidatorRequireNothing, array)
#6 /opt/psa/admin/plib/modules/letsencrypt/library/KeepSecured/KeepSecuredService.php(396): PleskExt\Letsencrypt\Acme->secureDomainAutomatically(string<EMAIL_ADDRESS>object of type PleskExt\Letsencrypt\Bridge\Domain, array, object of type PleskExt\Letsencrypt\CertificateIssuance\CertSubjectsValidatorRequireNothing, boolean true, boolean true, boolean false, boolean false)
#7 /opt/psa/admin/plib/modules/letsencrypt/library/KeepSecured/KeepSecuredService.php(255): PleskExt\Letsencrypt\KeepSecured\KeepSecuredService->renewDomainCertificate(object of type PleskExt\Letsencrypt\KeepSecured\KeepSecuredNotifier, string 'doetinchemslotenmaker.nl', object of type PleskExt\Letsencrypt\Bridge\Certificate, object of type DateTime, integer '30', boolean true, boolean false, boolean false)
#8 /opt/psa/admin/plib/modules/letsencrypt/library/KeepSecured/KeepSecuredService.php(134): PleskExt\Letsencrypt\KeepSecured\KeepSecuredService->renewDomainsCertificates(object of type PleskExt\Letsencrypt\KeepSecured\KeepSecuredNotifier)
#9 /opt/psa/admin/plib/modules/letsencrypt/library/KeepSecured/KeepSecuredService.php(90): PleskExt\Letsencrypt\KeepSecured\KeepSecuredService->renewCertificates(object of type PleskExt\Letsencrypt\KeepSecured\KeepSecuredNotifier)
#10 /opt/psa/admin/plib/modules/letsencrypt/scripts/keep-secured.php(19): PleskExt\Letsencrypt\KeepSecured\KeepSecuredService->keepAllSecured()

The strange thing is that i see this error block with this domain a serveral times. So i think it tries to renew more then once? Can someone explain how i can fix this? I also read about "Clearing pending authorizations", but when you do that, you probably first should fix bad behaviour of a buggy client.
And how does "Clearing pending authorizations" work?
Thanks!

Anyone?


Raw data dists not filled for HD coldbox data

I wanted to check raw ADC distributions for the recent HD cold box data but found the distributions are not filled for the the induction channels.

I suspect problem is that distributions are only filled if the flag is set to good and somwhere there is check that the ADC count is less that 4096 as would be true for 14 bit ADCs but the new data is 16 bit.
I wanted to check this with AdcDataDumper but it does not display flags--only raw and prepared data. I am adding the flag capability there.

AdcDataDumper now has the option to show flags and has LogLevel.

However i see that the flags are all 0 in hdcoldbox and so that is not the problem.
Looking at the code for AdcChannelPlotter, I see that it starts by making hists over the range (0, 4096]. I changed that to (0, 4*4096] and now I see distributions for all channels.

Build tests passed and mods are committed.


Call taskIsComplete() on CommandTask cancellation

@swift-ci please test

Before this change, complete is only being called inside the command closure here: https://github.com/apple/swift-llbuild/blob/6a38f64e1b1a3419b0030ca2df6a4d8f72b0d3d3/lib/BuildSystem/BuildSystem.cpp#L546-L548 -- since that isn't run for cancelled commands, it will never complete.

But that will call command.inputsAvailable(bsci, this) which should also be responsible for calling taskIsComplete even if the operation is cancelled, right? I'm wondering if there is another case where we are missing the completion, basically.

But the whole closure isn't called because we are not scheduling any further jobs after cancellation. I was wondering the same thing and will do a review of our other tasks to see if we are missing this in other places.

Just to close the loop for our future selves: #104 and #105 should take care of this, because we no longer simply skip tasks when cancelling and rather make sure we don't do much actual work.


amam/add admaxium iframe

Description

add amp-iframe
remove paul image and content

Type of change

[x] Bug fix
[x] New feature
[ ] Refactor code
[ ] Update translation text
[ ] Breaking change
[ ] Dependency update
[ ] This change requires a documentation update
[ ] Release

📝Changed routes:

/amp/components/_external
…/homepage/_our-clients

(view full size)
(view full size)

/amp

(view full size)

Commit 209f971d9c459421a5899ef8d99f0e8795be9658 (https://deriv-com-git-fork-mustofa-binary-amam-admaximum.binary.sx).


chore(master): release 1.2.11

:robot: I have created a release beep boop
1.2.11 (2022-04-14)
Bug Fixes

fix the error reported by the Editor component (7dc6d8a)
fix the error reported by the Editor component (90ef985)

Performance Improvements

add tagsViewIcon setting (d395f03)
add uniqueopened setting (b060319)

Build System

update plugins (2ee4954)

Styling

add layout background color (9b614fe)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/kailong321200875/vue-element-plus-admin/releases/tag/v1.2.11 :sunflower:


[AssetMapper] Add integrity hash to modulepreload

Hi,
I just fixed the "preloads" added by importmap().
Without this fix, a browser show this message in Console warning:

A preload for 'http://<IP_ADDRESS>:8000/assets/app-lFoIdGS.js' is found, but is not used due to an integrity mismatch.

That's because the integrity hash was not in the preload
https://symfony.com/doc/current/frontend/asset_mapper.html#the-app-entrypoint-preloading

Hi @pierreboissinot ! You were right to poke me, i had no notification on this fork 😅

Damn... i cannot find a setting to enable notifications here, sorry.
Ok! Tell me what/when, not sure what to start first as all is intertwined

Expose configuration settings

My idea here was to allow

integrity_hash (enabled / disabled)

probably something about current env (you don't want it for every functional test for instance)

probably something about the dev/server too ?

wdyt ?


Re-do #163: smtp: STARTTLS before querying auth mechanisms

This was not ported over with the rewrite.

How will this work if TLS is not available?

To clarify, this change did not carry over from the old AM because people reported issues with it. See #193.

How will this work if TLS is not available?

I’ve modified the pull request to check whether STARTTLS is announced by the server.

To clarify, this change did not carry over from the old AM because people reported issues with it.

The next time people report issues with features that I contribute, I’d be happier if you could notify me and give me a chance to fix the issues instead of effectively reverting my contributions.
I think what #193 is asking for is an option for specifying InsecureSkipVerify in the TLS config, which is orthogonal to what I’m implementing here. Of course, I do realize that the change I’m making has the side-effect of exposing broken configurations that used to work before.
How do you suggest we proceed? Should #193 be fixed before this can go in, or can we fix #193 independently?

By the time of your contribution the rewrite was already in process and I only carried over very few changes – and none that might have been source of issues.
So it was no intentional revert of your changes but it drowned in a lot of other work – sorry about that.
I'll take a look at the details tomorrow.

We can handle the other issue independently. It should just be done before the next release.

Added the flag. PTAL.

:+1:

:+1: Thanks, Herr @stapelberg :)


Better check for Railtie.

This narrows the Rails::Railties check in the startup loader.
Fixes include problems on "non-rails+railties" apps, like ActiveRecordOnlyTM CLI converters etc.

Call Kaminari::Hooks.init in your app If you want to use kaminari without frameworks. Also, please provide a minimal example of code to reproduce the bug otherwise it's hard for us to understand what you really want to do.


Improvements on SWE-bench docker

Setting the evaluate instance to base64 encoding of JSON can cause issues, especially when the patch is too large. This PR fixes it by allowing the evaluation script to mount the file directly into the eval docker.
It improves the git patch apply logic so that more patches can be applied
Add a script to re-tag docker images to push to another namespace for customization

Validation on (results included):

SWE-agent's GPT-4 output: no performance degradation at all.
Gold patch from SWE-Bench lite: 1 more golden patch missed (total 5). For some reason, I actually have 11 gold patches that did not pass before making these changes instead of 4 shown on the README.

Great job :pray:  The instance to base64 solution was somewhat of a hack, and I am surprised that no one has pointed this out earlier. If you want, you can change it so we always use the same directory name and avoid remapping these. Otherwise, we can merge this as it is.
I added some comments on the failed tests. They can't be affected by your changes and are more of a note to self to troubleshoot them.


Adding bucket notifications feature

Description
Notifications can be used to send information about changes to objects in your buckets to Pub/Sub.
Proposal
Integration with Pub/Sub will happen either with emulator APIs or GCP.
Information about Pub/Sub emulator can be found here.
To emulate the official Google Cloud bucket notification, the new routes will:

insert new bucket notification
delete bucket notification
get bucket notification
getbyid bucket notification

Existing route of upload will:

send notification to Pub/Sub topic whenever a object is inserted into a bucket

This is still a draft and there is a lot of study to do!
Official information about Pub/Sub notification for Cloud Storage can be found here.

Any chance this is happening? It would be a very useful addition.

Any chance this is happening? It would be a very useful addition.

Hi! Got busy at work an forgot about this, my bad. I will take a look to see what it needs for this pull request to be ready for review. If I am not mistaken, there are only some test methods to be done. It also needs documentation about the process of using it with the emulator. Hopefully is done by next week. :)


jrsonnet-evaluator 0.4.2 EvaluationState::stringify_err panics with empty source code

Thanks for the library - I've found it very powerful.
I've run into the following edge case when evaluating empty files. The following code panics, but it should correctly format the error.
use std::{
    path::{Path, PathBuf},
    rc::Rc,
};

use jrsonnet_evaluator::{EvaluationState, FileImportResolver, ManifestFormat};

fn main() {
    let vm = EvaluationState::default();
    vm.with_stdlib();
    vm.set_manifest_format(ManifestFormat::Json(0));
    vm.set_import_resolver(Box::new(FileImportResolver::default()));

    // println!("Evaluating 0");
    // run(&vm, "0");
    // println!("Evaluating syntax error");
    // run(&vm, "syntax error");
    println!("Evaluating empty");
    run(&vm, "");
}

fn run(vm: &EvaluationState, code: &str) {
    let source: Rc<Path> = PathBuf::new().into();
    let result = vm.evaluate_snippet_raw(source.clone(), code.into());

    match result {
        Ok(v) => eprintln!("  no error: {:?}", v),
        Err(e) => {
            eprintln!("  LocError: {:?}", e);
            eprintln!("  stringify_err:");
            eprintln!("    {}", vm.stringify_err(&e));  // This panics when code == "".
        }
    }
}

Stack trace:
Evaluating empty
  LocError: LocError((ImportSyntaxError { path: "", source_code: "", error: ParseError { location: LineCol { line: 1, column: 1, offset: 0 }, expected: ExpectedSet { expected: {"\"[\"", "\"{\"", "<number>", "\"(\"", "<string>", "<whitespace>", "<identifier>", "<unary op>"} } } }, StackTrace([])))
  stringify_err:
thread 'main' panicked at 'attempt to subtract with overflow', /home/huin/.cargo/registry/src/github.com-1ecc6299db9ec823/jrsonnet-evaluator-0.4.2/src/trace/mod.rs:101:26
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/panicking.rs:142:14
   2: core::panicking::panic
             at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/panicking.rs:48:5
   3: <jrsonnet_evaluator::trace::CompactFormat as jrsonnet_evaluator::trace::TraceFormat>::write_trace
             at /home/huin/.cargo/registry/src/github.com-1ecc6299db9ec823/jrsonnet-evaluator-0.4.2/src/trace/mod.rs:101:14
   4: jrsonnet_evaluator::EvaluationState::stringify_err
             at /home/huin/.cargo/registry/src/github.com-1ecc6299db9ec823/jrsonnet-evaluator-0.4.2/src/lib.rs:328:3
   5: jrsonnet_panic::run
             at ./src/main.rs:31:33
   6: jrsonnet_panic::main
             at ./src/main.rs:19:5
   7: core::ops::function::FnOnce::call_once
             at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/ops/function.rs:248:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

The commented out code (if uncommented) runs without a panic, for comparison.
It looks like the affected line has already been fixed in [df9bc99], so it's just pending a release.

I recommend using not yet released code for development, I think I'll prepare a new release (v0.5.0) after #82 is merged

Thanks, that works. I'll stay on 0.4.2 for now as this issue isn't causing me immediate problems.


ENJOYING_THIS_PROJECT="SayThankYou"

Here is the place to say thank you to folks who are working hard on this project.
« One of the greatest ways to show your appreciation to open source projects you enjoy is to open an issue that let people say thank you »
Disclaimer: I don't have any kind of connexion or personal interest with maintainers(s) of this project. Pure gratitude here.
Cheers!

Thank you! Love this project :-p

Thanks @pascalandy! Much appreciated.

+1

thanks! This project is great!

Great project, thanks for all the hard work!

I like the fact that's written in go, great to learn.
I like not having to do docker stats && docker logs && docker inspect... and having all that functionality in a terminal.
Ability to stop/pause/start containers shown is great too.

Thank you!!

Thanks for this nice tool!

Loving it as well! Unfortunately ctop has been a default package in ubuntu 20.04 LTS. See this: https://github.com/bcicen/ctop/issues/193

It's really good!  Thanks for taking the time to do this important work.  ctop helped me quickly get a handle on memory usage across containers.

Thank you!

I use this project all day it rocks! ❤


fix(icon-build): ensure that rebuilds of icons produce the same output

Description
I got fed up that rebuilding the icon files produced a massive diff every time, even if the inputs hadn't changed. This was because a timestamp (of now) was used in the file. I've changed this to instead use the timestamp of the last git commit in the icons/svg directory, which seems like a much better timestamp to use.

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots:
Before (If applicable):

After:

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation update
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@futurethang
Each icon gets mapped to a glyph in the font file, starting from a fixed point and then assigning glyphs sequentially in alphabetical order of icon names. So if you add an icon with a name beginning with a, all the icons get new glyphs, resulting in much bigger diffs.
We could fix that by:
a) choosing glyphs using a hash of the name, so it's consistent, but we'll get collisions so it's only mostly consistent
b) using the previous mapping as an input to the new mapping, but if you remove and then re-add an icon it'll still get a different glyph
But we have an scss file which provides the mapping of name to glyph, and we always use that to refer to icons anyway, so the only benefit we get is reducing the size of diffs (on generated files), and I don't consider that worth putting in the effort

@paulwitty @lismith2-cisco OK cool let's merge this, but please keep a sharp eye out for any Icon trouble in the chat spaces.


Kverno Policies which creates SA, Role, RB for any new NS

@parkand1 Any updates on this?

@parkand1 Are you still working on this? Could you provide an ETA to complete this?


Hatch Rest+ support

Thanks for adding this! Do you happen to know if the Rest+ would be supported?

I assume the sound machine of rest+ would be supported but I didn't add any of the light features.
I don't have a rest+ so i can't verify, but based on the reference implementation I used from node that is my expectation.

I second the thanks! Really cool integration for an obscure product. I'm wondering also about Rest (not +) and the Restore. Going to play around with this now.

I am also wondering about the Hatch Rest as well! I know it only has Bluetooth LE so it might be tricky. I did see a project that was trying to get the info through an esp32 and send it over wifi. ESPhome and hatch would be killer!

I'd be willing to test out any changes for the rest+

I would also be willing to test out changes for the Rest+. I currently am able to control my Rest+ sound machines/nightlights from Home Assistant through Homebridge, but ideally would like to be able to control natively and eliminate the need for this workaround. I have limited software development skills, but am glad to work on this with anyone who is interested.

I still haven't tested it. I was wondering if the newly announced Bluetooth and HomeKit support makes it easier to use Rest+ from HA?

Rest+ connects via wifi (I think the Rest is bluetooth). However, I need to learn more about the new HomeKit support and will post back with findings. As mentioned in my previous comment, my Rest+'s are currently connected to HomeAssistant via HomeBridge (which is essentially emulated HomeKit).

I got a rest+ for a beach trip, I've added the sound functionality https://github.com/dahlb/ha_hatch/commit/5571cc2be357131fca9646f702f227b5c52be0fb and hope to have the light added later this weekend

light support added, https://github.com/dahlb/ha_hatch/commit/70f61d74250849a1cc8997959ade0b0d6d3afa80

Amazing! I wonder if there is a scenes api.

wifi connectivity and battery level sensors added


Incorrect TLS cert configuration instructions for Intermediate CA on UCP

Problem description
If a customer has an intermediate CA, it should be provided in the CA certificate field not the Certificate field. Otherwise the customer will receive an error updating certs that states unable to load x509 key pair, the private key does not match the public key
Problem location

I saw a problem on the following URL: https://docs.docker.com/datacenter/ucp/2.0/guides/configuration/#/customize-the-ucp-tls-certificates

Project version(s) affected
UCP 2.0 and UCP 2.1
Suggestions for a fix
CA certificate - root CA followed by the intermediate CA
Certificate - server public certificate followed by any other intermediates (typically there aren't multiple)
Key - private key (make sure it is not encrypted with a password)
for encrypted keys, it should say ENCRYPTED in the first line

Claimed!

@clocklear let me know if you need help testing this out.

@clocklear is following up on this on #1168, but I think I know what happened here. The user put in the Server certificate field the intermediate + the public cert for their domain. The first cert should always be the one for the domain.
If you reverse this and put the intermediates or even CA at the start, UCP will try to validate if your private key belongs to that cert, and will tell you that it doesn't.


Radio list to use the key and not value for menu display

When creating the rad_list for a radio button, it displays the value instead of the key.

paging @punisherVX

This is be documented for how this works. The UI displays the value and not the key. The key is what is sent in the form submit


Config Consul with DNS for Service Discovery

HAproxy can resolve DNS by a consul to get the address of the service.
And the same, how to I can config to use consul to resolve DNS ?

@quyenhoang96 can you elaborate on this use case ? do you want to route to a backend represented as a FQDN ?

Hi @arkodg . For now, I have a HAProxy. When the client calls API, it calls HAProxy. Then HAProxy calls Consul to resolve DNS to retrieve the IP of the Backend Service; then it uses IP that to forward traffic upstream. For now, I want to migrate HAProxy to Envoy proxy by the Envoy gateway. The first step is to send traffic to envoy-proxy, then envoy-proxy call to Consul to resolve DNS to get the IP of the Backend Service.

Hi @zirain. That's right


How i can edit with decimals ?

Hi masters,
How I can edit with 2 decimals? Maybe other times I will need to 3 decimal, or more ...
Any examples or help please ?
Thanks in advance !
Carlos.

It's not that simple, unfortunately.
You need to create a new editor in slick.editors.js (you could base it on IntegerEditor), see [here] (https://github.com/mleibman/SlickGrid/wiki/Writing-custom-cell-editors).
You can keep the number of decimal places as a 'static' property of the editor by saying FloatEditor.decimalPlaces = 3; after your FloatEditor definition. This wouldn't allow customisation of decimal places per-column though, you could add a column property if you needed that (a slightly messier approach).

Hi 6pac,
Slickgrid for me is fantastic and very powerful. Strange that such a basic need does not exist. Anyway will study your advice and keep searching the solution, but for users who are not experts in JavaScript is more complicated.
Thank you for your advice.
Carlos.

Hi Carlos,
I added a FloatEditor to my repository. You'd be better off using my ['Alternate Master repo'] (https://github.com/6pac/SlickGrid/wiki) anyway - it has a lot of bug fixes to the main code trunk (which is no longer maintained), including updates to the latest jQuery versions.
To use the FloatEditor just specify it as the column editor. By default it doesn't force any number of decimal places, it allows any number. However if you want to enforce a fixed number of decimal places you can either specify a editorFixedDecimalPlaces property for an individual column, or set the FloatEditor DefaultDecimalPlaces property to set it for all FloatEditors on the page.
So in example3-editing, you would put:
{id: "duration", name: "Duration", field: "duration", editor: Slick.Editors.Float, editorFixedDecimalPlaces: 2 },

to fix the decimal places to 2 just for that column, or set
Slick.Editors.Float.DefaultDecimalPlaces = 2;

to set the default for all editors on the page. The column setting will override the default.

Hi Ben,
Great ! it's works and the code is very clear. I modifieed the formatter of this way for if someone want to use.
function FloatFormatter(row, cell, value, columnDef, dataContext) {

  var nDecimals =  2;

  if ( typeof columnDef.editorFixedDecimalPlaces == 'number' ){
	  var nDecimals = columnDef.editorFixedDecimalPlaces ;
  }

  return Number(value).toFixed( nDecimals );
}

Thanks for your help !  :-)
Carles.


Update instance.py

Documentation is wrong, change to right attribute name.

@vasichkin please release this.


Security Vuln: Auth'd RCE w/ escalation to root (Webmin 1.920)

The version of Webmin packaged in this image (1.920) is vulnerable to CVE-2019-15642.
Put simply, a call to the unserialise_variable function (and an associated eval statement) via a specially crafted POST request allows the attacker to pass shell commands directly to the container which are executed as root.
I've attached two screenshots demonstrating the ability to obtain RCE and ultimately a fully interactive reverse shell on the Docker container.
I'd strongly recommend updating the image to contain the latest release of Webmin.

This has been marked stale, but it is still a real issue. There is an existing pull request to fix this and it should be addressed sooner rather than later.

Yeah this is still an issue. I'd recommend moving to another Docker image for a DNS solution. I was able to switch over to PiHole, added my own domain entries, etc. with a down time of about 30 seconds. Took all of 5 minutes. If @sameersbn can't even find the time to respond to issues, he's not gonna take the time to update his image.
TL'DR - Move on to something that's actually supported and doesn't have gaping security vulns. Not worth the risk, IMO.

You could download the files, make the appropriate modifications and build it yourself. This way you can keep it up to date. You could even host your own registry and manage updates that way.
If that's outside of your wheelhouse then yes, do find another image/solution.
If you're not familiar with Dockerfile or docker-compose it is worth the effort.


How to hide the root field?

I always load an object, so I don't want to show the root field. How can I do that?

+1

Hi, any updates on this one? I know you can change the root by setting a title, but I want to disable it totally.

@AdelineBlum Looks like this project is no longer maintained and has been moved to https://github.com/json-editor/json-editor


del comments/default value ()

when format the file ,it will remove comments and also will remove some variables' value like conditions = ()

Could you share the file that got comments removed?
I don't quite understand why one wants to write conditions = (). Would you enlighten me?

@ThisIsManta
this's part of the code.
$media_queries = {
  xs: 'only screen and (max-width: 374px)',
  sm: 'only screen and (min-width: 375px) and (max-width: 7678px)',
  md: 'only screen and (min-width: 768px)',
  lg: 'only screen and (min-widht: 1366px)'
};

$media($breakpoint) {
  conditions = ();//this is the line

  for $breakpoint in $media_queries {
    push(conditions, $media_queries[$breakpoint]);
  }

  contions = join(',', conditions);

  @media conditions {
    {block};
  }
}

Could you make your sample code above work in http://stylus-lang.com/try.html, please?
Would you confirm if writing conditions = (); means an empty array?

@ThisIsManta that's just some conditions string words and join the array items from $breakpoint, because there are no default empty value in the stylus,so define it as a empty mixin.
the origin code is here.

This is fixed in version 2.7.0.
@cddsgtc, sorry that it took so long to fix this bug. I was terribly busy.

@ThisIsManta im waiting this for so lang and get it and update at first time, it help me a lot ,thank you so much too.
you should take a rest at the new year days.
新年快乐！happy new year!
but i still working π_π。

I am experiencing this on Atom - do I need to do anything special to have this working?

Bad news. Even though Atom package (extension) is mentioned in our official website, we stopped updating Stylus Supremacy engine many months ago.


Crash

Forge: <IP_ADDRESS>55
Version: 1.12.2-<IP_ADDRESS>
Crash on loading. I have tried deleting the configs but still have the same crash.
gist link

Strange. Should be an easy fix though.


【Dynamic Regions】tikv panic after drop big table

Bug Report

What version of TiKV are you using?
./tikv-server -V
TiKV
Release Version: 6.0.0-alpha
Edition: Community
Git Commit Hash: https://github.com/tikv/tikv/commit/95c4d0ed36369c254b1bee36eb007004ee834948
Git Commit Branch: heads/refs/tags/v6.1.0-nightly
UTC Build Time: 2022-04-21 10:58:55
Rust Version: rustc 1.60.0-nightly (1e12aef3f 2022-02-13)
Enable Features: jemalloc mem-profiling portable sse test-engines-rocksdb cloud-aws cloud-gcp cloud-azure
Profile: dist_release
2022-04-24T10:07:55.070+0800 INFO k8s/client.go:107 it should be noted that a long-running command will not be interrupted even the use case has ended. For more information, please refer to https://github.com/pingcap/test-infra/discussions/129
./pd-server -V
Release Version: v6.1.0-alpha-40-g1d8eba0
Edition: Community
Git Commit Hash: 1d8eba08d9907ef1a6fdebd1ebf6b218b9338d91
Git Branch: feature/region_monitor
UTC Build Time: 2022-04-22 12:21:42
2022-04-24T10:07:55.245+0800 INFO k8s/client.go:107 it should be noted that a long-running command will not be interrupted even the use case has ended. For more information, please refer to https://github.com/pingcap/test-infra/discussions/129
./tidb-server -V
Release Version: v6.1.0-nightly
Edition: Community
Git Commit Hash: 571d97bb16f6f69fcbcf74648380da3c2e80a3fb
Git Branch: heads/refs/tags/v6.1.0-nightly
UTC Build Time: 2022-04-20 23:02:41
GoVersion: go1.18
Race Enabled: false
TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306
Check Table Before Drop: false
2022-04-24T10:07:55.385+0800 INFO k8s/client.go:107 it should be noted that a long-running command will not be interrupted even the use case has ended. For more information, please refer to https://github.com/pingcap/test-infra/discussions/129
What operating system and CPU are you using?
8core、16G
enable-region-bucket = true
region-bucket-size = "128M"
region-max-keys =<PHONE_NUMBER>00
region-max-size = "1.3GB"
region-split-keys =<PHONE_NUMBER>0
region-split-size = "1GB"
Steps to reproduce
[cmd="sysbench --mysql-user=root --db-driver=mysql --time=0 --report-interval=10 --mysql-db=sysbench_64_7000w --mysql-host=tc-tidb.glh-dynamic-regions-jw8pv --mysql-port=4000 --threads=512 --tables=64 --table-size=70000000 --mysql-ignore-errors=2013,1213,1105,1205,8022,8027,8028,9004,9007 --rand-type=special oltp_insert run"] [nodename=benchtoolset]
[2022/05/02 12:57:22.814 +08:00] [INFO]
after running 3days+，drop two big database

What did you expect?
all pods are normal
What did happened?
tikv-0 panic
level="FATAL" log="[lib.rs:468] ["assertion failed: (left == right)\n  left: 1,\n right: 6"] [backtrace="   0: tikv_util::set_panic_hook::{{closure}}\n             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tikv_util/src/lib.rs:467:18\n   1: std::panicking::rust_panic_with_hook\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:702:17\n   2: std::panicking::begin_panic_handler::{{closure}}\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:588:13\n   3: std::sys_common::backtrace::__rust_end_short_backtrace\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/sys_common/backtrace.rs:138:18\n   4: rust_begin_unwind\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:584:5\n   5: core::panicking::panic_fmt\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/panicking.rs:143:14\n   6: core::panicking::assert_failed_inner\n   7: core::panicking::assert_failed\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/panicking.rs:182:5\n   8: raftstore::store::worker::split_check::Runner<E,S>::scan_split_keys::{{closure}}\n             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/worker/split_check.rs:432:21\n      core::result::Result<T,E>::map\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/result.rs:756:25\n      raftstore::store::worker::split_check::Runner<E,S>::scan_split_keys\n             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/worker/split_check.rs:368:9\n   9: raftstore::store::worker::split_check::Runner<E,S>::check_split_and_bucket\n             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/worker/split_check.rs:279:23\n      <raftstore::store::worker::split_check::Runner<E,S> as tikv_util::worker::pool::Runnable>::run\n             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/worker/split_check.rs:494:18\n      tikv_util::worker::pool::Worker::start_impl::{{closure}}\n             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tikv_util/src/worker/pool.rs:450:25\n      <core::future::from_generator::GenFuture as core::future::future::Future>::poll\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/future/mod.rs:84:19\n      yatp::task::future::RawTask::poll\n             at rust/git/checkouts/yatp-e704b73c3ee279b6/5f3d580/src/task/future.rs:59:9\n  10: yatp::task::future::TaskCell::poll\n             at rust/git/checkouts/yatp-e704b73c3ee279b6/5f3d580/src/task/future.rs:103:9\n      <yatp::task::future::Runner as yatp::pool::runner::Runner>::handle\n             at rust/git/checkouts/yatp-e704b73c3ee279b6/5f3d580/src/task/future.rs:387:20\n  11: <tikv_util::yatp_pool::YatpPoolRunner as yatp::pool::runner::Runner>::handle\n             at home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tikv_util/src/yatp_pool/mod.rs:104:24\n      yatp::pool::worker::WorkerThread<T,R>::run\n             at rust/git/checkouts/yatp-e704b73c3ee279b6/5f3d580/src/pool/worker.rs:48:13\n      yatp::pool::builder::LazyBuilder::build::{{closure}}\n             at rust/git/checkouts/yatp-e704b73c3ee279b6/5f3d580/src/pool/builder.rs:114:25\n      std::sys_common::backtrace::rust_begin_short_backtrace\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/sys_common/backtrace.rs:122:18\n  12: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/thread/mod.rs:498:17\n      <core::panic::unwind_safe::AssertUnwindSafe as core::ops::function::FnOnce<()>>::call_once\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/panic/unwind_safe.rs:271:9\n      std::panicking::try::do_call\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:492:40\n      std::panicking::try\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:456:19\n      std::panic::catch_unwind\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panic.rs:137:14\n      std::thread::Builder::spawn_unchecked::{{closure}}\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/thread/mod.rs:497:30\n      core::ops::function::FnOnce::call_once{{vtable.shim}}\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/ops/function.rs:227:5\n  13: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/alloc/src/boxed.rs:1854:9\n      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/alloc/src/boxed.rs:1854:9\n      std::sys::unix::thread::Thread::new::thread_start\n             at rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/sys/unix/thread.rs:108:17\n  14: \n  15: clone\n"] [location=/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/raftstore/src/store/worker/split_check.rs:432] [thread_name=background-

/type bug
/severity major
/assign 5kbpers

/remove-severity major
/severity critical

cc @tonyxuqqi

/label affects-6.0


v1.3.7 Not on Homebrew

OS
Mac
VERSION
v1.3.6/1.3.7
ISSUE DESCRIPTION
Tells me to update to v1.3.7 via manual download or brew cask reinstall however using Homebrew the latest version is 1.3.6.
$ brew cask reinstall another-redis-desktop-manager
==> Downloading https://github.com/qishibo/AnotherRedisDesktopManager/releases/download/v1.3.6/Another-Redis-Desktop-Manager.1.3.6.dmg
# ...
==> Verifying SHA-256 checksum for Cask 'another-redis-desktop-manager'.
==> Uninstalling Cask another-redis-desktop-manager
==> Backing App 'Another Redis Desktop Manager.app' up to '/usr/local/Caskroom/another-redis-desktop-manager/1.3.6/Another Redis Desktop Manager.app'.
==> Removing App '/Applications/Another Redis Desktop Manager.app'.
==> Purging files for version 1.3.6 of Cask another-redis-desktop-manager
==> Installing Cask another-redis-desktop-manager
==> Moving App 'Another Redis Desktop Manager.app' to '/Applications/Another Redis Desktop Manager.app'.
🍺  another-redis-desktop-manager was successfully installed!

https://github.com/Homebrew/homebrew-cask/blob/master/Casks/another-redis-desktop-manager.rb
official repo has already updated to 1.3.7, maybe some cache not refreshed, try again later


thanks your project, support

project name call ngx-echarts or angular-echarts, might be more appropriate

@jackboys000 I can't agree more! Thank you~


Fix edge case in RichTextField when string is falsey value

If you don't enter anything in a RichTextInput, the sent string is undefined and will break removeTags. I fix it by returning an empty string for any falsey value.
Obviously, a robust form will avoid this by validating against such values, but this doesn't hurt either and is probably the expected behavior.

Thanks!


EQUELLA logs HTTP referrer incorrectly if HEAD method is issued.

Describe the bug
When using Microsoft Edge to access EQUELLA attachments, sometimes a HEAD method request is issued by Edge before making a GET request to the file.
In this case, since the HEAD request is initiated by Edge itself, there is no HTTP referrer.  The HTTP referrer only presents during the GET request.
While EQUELLA is in SMART logging mode, it logs the HEAD requests with null HTTP referrer.  As this creates a valid session, it does not log the GET request with HTTP referrer again.
To Reproduce
Steps to reproduce the behavior:

Open an EQUELLA file attachment in Moodle with MS Edge
Verify the HEAD request presents in the web server log
Check audit_log_entry table

Expected behavior
HTTP referrer should be logged as the Moodle URL.
Screenshots
If applicable, add screenshots to help explain your problem.
Stacktrace
If applicable, a stacktrace to help explain your problem.
Platform:

OpenEquella Version: 6.6
Browser: Microsoft Edge

Additional context
Chrome and Firefox did not send HEAD method request and do not have this issue.
It would be good to ignore HEAD and OPTION method in audit logging.

@nelson-edalex Is this still required?

Yes, this error happens on Microsoft Edge and some clients are using it as default browsers.

I’m not sure if we would want to stop logging a HEAD request.  A HEAD may not be followed up by a GET, in which case we missed the fact the user is viewing the content. (would only apply if user has already viewed it recently and it’s in their cache, and so also only affects NORMAL logging)

Proposed fix is that we still audit HEAD and OPTIONS requests, but for the purposes of “smart” logging we don’t register it as a viewing.  Therefore any follow-up GET request will also be logged, along with the referrer header.


BatchAVLProver new features and optimizations

[ ] Allow to create proof for some modification without modifications itself
[ ] Notify about deleted elements, to allow to remove them from database in PersistentBatchAVLProver

@catena2w is it done?

Already fixed in version 2.1.1


100x times larger stock price than actually is for 6098.T on 2020-10-30

First, thank you for this great module.
Where does  yfinance get the data for Japanese tickers from? I noticed clearly wrong quote (about 100 times bigger, see below on 2020-10-30).

import yfinance as yf
t=yf.Ticker("6098.T")
t.history("1mo")
Open      High       Low  ...   Volume  Dividends  Stock Splits
Date                                      ...
2020-10-05    4162.0    4179.0    4136.0  ...  2595400          0             0
2020-10-06    4207.0    4274.0    4180.0  ...  2805600          0             0
2020-10-07    4226.0    4279.0    4202.0  ...  2630900          0             0
2020-10-08    4296.0    4322.0    4281.0  ...  2252900          0             0
2020-10-09    4348.0    4348.0    4267.0  ...  2668100          0             0
2020-10-12    4281.0    4291.0    4250.0  ...  1416200          0             0
2020-10-13    4288.0    4337.0    4268.0  ...  2112600          0             0
2020-10-14    4325.0    4330.0    4283.0  ...  2496400          0             0
2020-10-15    4300.0    4314.0    4252.0  ...  2156300          0             0
2020-10-16    4236.0    4272.0    4202.0  ...  1811900          0             0
2020-10-19    4294.0    4344.0    4271.0  ...  1869400          0             0
2020-10-20    4287.0    4358.0    4280.0  ...  1998000          0             0
2020-10-21    4380.0    4406.0    4340.0  ...  2474800          0             0
2020-10-22    4362.0    4366.0    4255.0  ...  1851600          0             0
2020-10-23    4266.0    4284.0    4213.0  ...  1525800          0             0
2020-10-26    4210.0    4228.0    4151.0  ...  1522900          0             0
2020-10-27    4032.0    4150.0    4002.0  ...  2771300          0             0
2020-10-28    4125.0    4138.0    4091.0  ...  2244500          0             0
2020-10-29    4099.0    4099.0    4033.0  ...  2156200          0             0
2020-10-30  409100.0  409100.0  397000.0  ...  3064400          0             0
2020-11-02    4009.0    4161.0    4000.0  ...  2981700          0             0
2020-11-04    4328.0    4378.0    4287.0  ...  4607700          0             0
2020-11-05    4356.0    4375.0    4333.0  ...  3783700          0             0

[23 rows x 7 columns]
The correct price can be found on https://www.google.com/finance/quote/6098:TYO?sa=X&ved=2ahUKEwjzttrL4evsAhWkY98KHZ4kAMYQ3ecFMAB6BAgEEBk.

I believe yfinance gets its data from the Yahoo finance website. It seems that the same error appears here: https://finance.yahoo.com/quote/6098.T/history?period1=1603670400&period2=1604102400&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true
Not sure exactly how to fix it, other than perhaps reporting the error to Yahoo: https://help.yahoo.com/kb/report-problems-feedback-ideas-yahoo-finance-sln28397.html


ALVR consistently crashing on launch after 5s (hasn't been fixed)

Application crashes after 5s after the GUI opens.
crash_log.txt empty.
Found a warning in event viewer
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}
and APPID {15C20B67-12E7-4BB6-92BB-7AFF07997402}
to the user UMBRA\daleb SID (S-1-5-21-2483201085-4075341960-4090943041-1001) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.
I tried poking around in Component Services but I couldn't find the reference it is pointing to (I guess it's due to the application crashing and Component Services only showing running services.
Could be an issue with services during the installation phase?
Restarting PC seems to remedy the issue for a single instance however if I close ALVR it will simply not remain open again.  Maybe a simple fix to have a minimise or temporarily disable the option to close the application to the system tray instead of the windows shutting down the application completely.
CPU: Ryzen5 3700x
GPU: GTX1070ti
ALVR 16.0 for the quest 2
SteamVR: 1.20.4
OS: Windows 11 Build 22494.1000

Manage to navigate into Settings -> Extra -> Log session to session_log.txt and found this
Failed to init OpenVR client to update Chaperone boundary! Error: 119

I get the same exact error. It's a SteamVR issue but in what way I don't know. The only reliable way to fix this is to restart my PC as of yet.

The same. App just closes after 5s every time. Any fix/workaround?

Reinstalling SteamVR fixed the crash on startup. Now I got the point of connecting to a server from headset but server crashes with following error:
Failed to init OpenVR client to update Chaperone boundary! Error: 119

Sometimes have same issue, as workaround you should try

complete system restart.
in \Steam\config delete "chaperone_info.vrchap" and "steamvr.vrsettings", note you may loose your SteamVR settings

This is still a problem, marking issues as stale to tuck them away or sweep them under the rug just because there is no progress or new information is a pretty backwards practice.

Still a problem.

@Swyter It's just a bot that marks issues as stale. If no dev got to this issue yet is because no one had the time to.

So far the workaround I'm using is just to create and use a different Windows account for this stuff. But that's not a fix.
There must be some per-user stale data or configuration/Registry key that breaks it. Absolutely bananas.

FYI @zarik5 this issue happens on v19 nightly but does not on v18.2.3
Can get nightly to work because of it