[Collaboration] Main Menu Transition Animation Programming

Description
Task: Main Menu Transition Animation Programming
Feature: Optimisation of Crafting Functionality and Additional Features
The main menu transition animation is designed and added in order to make the game more coherent to play. It will also improve the game asethetic at the same time. The task is to play the 84 frames animation when the player click the start button, and then the game will start after the animation ends. At this stage, the player can press the ENTER key to skip animation at the end. We will see if there is necessary need to let the game automatically start right after animation ends. The animation will be built based on the Loading Transition Screen Implementation system made by @IsaacGraham128
Dependencies

[x] (#151)
[x] (#155)
[x] (#168)

Milestones
List of steps that need to be completed for this task.

[x] Understand and modify Team06's animation system code.
[x] Implement the transition animation into the game (Sept. 27)
[x] Connect the transtion animation with the start button (Sept. 28)
[x] Bind ENTER key to allow player to skip the transition animation (Aug. 29)
[x] Debugging (Oct. 1)

Completion Deadline: Oct. 2
Documentation

Main Menu Transition Code Implementation

Member

Yingzheng Cai (@Rey-666 ) (Rey-666)
Isaac Graham (@IsaacGraham128)
Elias Blanch (@ew-b)

Thanks for writing up the collaboration ticket <3

For context on the LevelTransition implementation, I created the basics of the classes and methods, Isaac then took over and did the majority of it, it has a problem of lacking the ability to use timers and relies on a button press to change screens when the animation is finished but I am glad it was adapted and used as a template for the main menu!

The main menu transitioning animation is implemented based on team 06's level transitioning code logics. They have both provided heaps of help along the way either.

Sprint 3 complete! Woohoo!


Variable explorer not ordering index / background color grayed-out

I noticed the following issues a couple of days ago:

Variable explorer doesn't sort the index if sorting done in any of its columns; there is also a miss-formating after sorting
The "background color" check-box is grayed-out

For issue #1, look at the DataFrame below (pre-sorting):

Now look at it when sorting by the last column (9/2/20) - see that the index column remained the same and there is some strange formatting happening (making it hard to navigate to the last column, sorting again etc):

Regarding issue #2, you can see on both pictures above that the "background color" button is grayed-out (so the whole DataFrame was a black background).
I've been using Spyder for a while now, so I'm not sure I missed something obvious from the latest updates. It doesn't appear to be an issue of an extremely large/complex DataFrame. Size here:

I have the same sorting issue on 4.1.5, testing on a simple dataframe:
df = pd.DataFrame(index=[1,2,3], data={'col1':[1,2,3],'col2':[10,20,30],'col3':[100,200,300]})

The sorting works for the columns, even sorting on index, but the index column does not update visually.
I don't see any formatting issue, but perhaps due to the simple format of the data and keys.

@rhkarls, thanks for reporting. This is a duplicate of issue #13544 and we'll try to fix it in a future release.

It is fixed? I have the same problem with the baggrund for Python 3.9


Query  term "DNA protection" what does it mean? (matrix intersection issue)

This term is defined
"Any process in which DNA is protected from damage by, for example, oxidative stress"
What does 'protection' mean exactly. To me 'protection implies that the damage does not happen?
But this term
is_a DNA metabolic process. which implies DNA is repaired?
so is the term referring to an event  which occurs pre or post damage?
It has been used with experimental annotation for the following gene products:
wormbase hda-3 and hda-2 (histone deacetylase?)
Flybase  Stwl  (3 annotations)
SGD TSA1 (thioredoxin)
Human CBS cystathionine beta-synthase activity
UniProt NUDT1
MTBBASE  lsr1,hup,GroEL
CACAO  dps1,DR_0282
GeneDB Tps1 (thioredoxin)
It sounds slight;y 'phonotype-y' but its very vague, I'm not really sure what it means. It clearly hasn't been used in any way consistently.

'DNA protection' probably refers to an assay rather than a real process. We obsoleted 'neuroprotection' for the same reason. Note there are a few more terms where the label contains 'protection', some sound legit but others may need looking at (e.g. 'anoxia protection').

Hi Val,
If you have a look at some of the pubs associated with the annotations, they fit the term definition. According to the abstract, Dps1 binds to DNA and protects it from hydroxyl radical damage. The TSA1 paper also implies that the DNA is protected from oxidation. I think the term is ok, but as you point out, I don't think it should be a child of DNA metabolic process because these gene products should prevent the damage. Instead it should maybe be a child of 'cellular response to DNA damage stimulus'. What do you think?

Hi @ValWood and @ukemi,
I've had a look at our original annotations for the two HDACs, hda-2 and hda-3, as well as one follow-up paper for those two genes:
Original reference: http://www.ncbi.nlm.nih.gov/pubmed/12600937
Newer paper: http://www.ncbi.nlm.nih.gov/pubmed/20463888
Looking at those two papers, I think the more appropriate annotation for the C. elegans HDACs is GO:0006974, 'cellular response to DNA damage stimulus'.
The exact mechanism for how hda-2 and hda-3 affect DNA damage response is not worked out, but I think this term is a better fit than 'DNA protection'.
As for the 'DNA protection' term itself, I do wonder if it really provides any more information than an annotation to 'cellular response to DNA damage stimulus'?
--Kimberly

It seems in this case cellular response to DNA damage stimulus is better.
But as David mentioned, some appear to be pre-damage, so they really do appear to be 'protective'
It is well established that Dps proteins confer resistance to reactive
oxygen species. This is achieved by removal of Fe2 from the
cytoplasm and storing this metal in the oxidized form inside the
protein cage, thereby reducing Fenton chemistry (4)
so its a type of
GO:0098869 cellular oxidant detoxification (to prevnt DNA damage)
not DNA metabolism.
So 2  different types of things appear to be annotated to this term....

I think we should remove the metabolism parents from the protection term. But is is a response to a stress? I guess if the response can be preemptive then that's ok. It's an evolutionary response. What do you think?

Hmm,
Remove metabolism, yes
Re "response to"  this sounds incorrect to me. The definition of response to is clearly
"......as a result of a stimulus. The process begins with detection of the stimulus and ends with a change in state or activity"
This is clearly different....it seems that a high level parent is required along the lines of
"protection against toxicity"
but then it would be useful somehow to link the concepts of  "protection from toxicity" and
"cellular detoxification"
but then I guess the above  example 'protective' process could also be described as
http://www.ebi.ac.uk/QuickGO/GTerm?id=GO:1990461#term=ancchart
GO:1990461 detoxification of iron ion
and maybe this is a more direct way to describe these processes than what is 'protected' downstream?
(thinking aloud)

I am tempted to make it simple a response to stress. Presumably the reason why it evolved was to protect the DNA from stress and it doesn't do it until the stress exists. The seat belts in my car keep me safe in response to an accident even though they are always there. They are there because we know accidents happen. Buy it?

OK, i think its wrong, but I have no idea what or how it should be described. I'll close it for now, can revisit if it causes problems later....


Add Travis CI Build Status

Show build status in Readme.

Added to Travis: https://travis-ci.org/ideaq/hapi-auth-jwt2 but waiting for build to run...

Passing.


how to put categories in to one model

Hello,thanks for your great work. I want to know how to  put all catgories into one model rather than training separate ones . Could you please give me some suggestions in detail? I am looking forward to your reply,thank you very much.

I also want to know


Removing bytes from a hex editor

CanRemove and RemoveBytes exist, but appear to be unused.

Inserting also seems to behave quite weirdly in general - so currently more or less everything but viewing and editing existing bytes appears to be broken. Unfortunately there's also no builtin resizable IBinaryDocument, though currently there wouldn't be much of a point anyways. I created my own using a List<byte>, could PR it if this gets fixed.
This screenshot shows some (but not all) of the weirdness, created by repeatedly typing A in varying locations:

It only really lets you edit one of the two half-bytes in insert mode.

This is correct. Currently the control only fully supports viewing and editing existing bytes. This is also one of the reasons there is no dynamically resizable binary document implementation yet. The interface methods are currently there as a WIP / future work.
Ideally, for a dynamically resizable document we should not use List<byte>, as this would result in insert and remove becoming O(n) operations, which is really bad for large documents of several 100s of megabytes to gigabytes.

Status update: Initial implementation of dynamic sized documents can be found in #11.

Implemented in #11, will be present in the next nuget version bump.


feat: JBang scripts

Fixes https://github.com/kestra-io/kestra/issues/2150

Can you change plugin examples to be full examples? (The team has recently agreed to always have full examples). I think for the wording, we may rewrite to "Execute a script written in Java" instead of "Execute a Java script" to avoid confusion with JS


Model predictions are erratic

Model predicts roughly the same probability for all tags.
This indicates an issue with the saving/loading of the weights on disk.

Can you share a script that replicates this so that it can be reproduced and resolved

Can you share a script that replicates this so that it can be reproduced and resolved

grants_tagger predict "Plant-based repellents have been used for generations in traditional practice as a personal protection measure against host-seeking mosquitoes. Knowledge on traditional repellent plants obtained through ethnobotanical studies is a valuable resource for the development of new natural products. Recently, commercial repellent products containing plant-based ingredients have gained increasing popularity among consumers, as these are commonly perceived as “safe” in comparison to long-established synthetic repellents although this is sometimes a misconception. To date insufficient studies have followed standard WHO Pesticide Evaluation Scheme guidelines for repellent testing. There is a need for further standardized studies in order to better evaluate repellent compounds and develop new products that offer high repellency as well as good consumer safety. This paper presents a summary of recent information on testing, efficacy and safety of plant-based repellents as well as promising new developments in the field." Wellcome/WellcomeBertMesh --threshold 0.5


Colorize icon of FAB

Hi,
I'm using Palette to generate several colours which I use on my app. My goal is to have white FAB + share icon whose colour is dynamic for each Activity.
I tried to apply it to background but it changed FAB color.
fab.getBackground().setColorFilter(getVibrantDarkColor(), PorterDuff.Mode.SRC_ATOP);
And applying this method to src is not possible.
Is there any way how to reach my goal?

Solved it with
fab.getDrawable().setColorFilter(getVibrantDarkColor(), PorterDuff.Mode.SRC_ATOP);
Sorry for senseless issue.


[docs] Use import * as React from 'react';

[x] I have followed (at least) the PR section of the contributing guide.

Linking #19802 for context


DeleteColumn for a range

It would be great if we could select a range of lines, then run :DeleteColumn or :CSVDeleteColumn to only act on those lines.
(I'm currently pasting data from a multi-page pdf, but obviously the copying isn't perfect, so I need to delete columns a page at a time.)

So something like :DeleteColumn 2-4?

I don't think so, but I'm not sure. That command would delete all three columns in the whole file, right? What I mean is to select columns in specific lines, e.g. those selected with Shift + V.
e.g. select lines 5–8 with 5ggV3j, then :DeleteColumn 2 to delete the second column, but only in those four lines.

Hm, you could transpose your csv file and then delete those columns and then transpose it back.

What brought this to my attention, was when I tried to copy-paste from a PDF. The imperfect copy meant that each PDF page had a variable number of columns. My thought was to selectively delete columns only for the last paste, so that I could normalise the number of columns in the final csv file.
I had just presumed that this would have worked in csv.vim. However, the lack of this function in csv.vim is certainly not a deal breaker, and there are definitely other ways to do it, e.g. paste into separate files, pipe through cut (or awk), etc., but I just thought it might be something useful for csv.vim to do. I'm not sure if my use case is a bit obscure, and if it's not particularly useful to others, so if you don't think it's very important, I'm happy to just close this. I just thought I'd bring it to your attention. Cheers.

okay, closing then.


Captive Portal

Is there an easy way to auto open the ConfigPortal via Captive Portal mechanism? I've seen it on e.g. https://github.com/tzapu/WiFiManager

Ok, related to #12. Sorry, didn't see this before. You may close this if this is too complex.
PS: I choose this lib because of the easy setup of additional params. Tx for your work!


[SPARK-36384][CORE][DOC] Add doc for shuffle checksum

What changes were proposed in this pull request?

Add doc for the shuffle checksum configs in configuration.md.
Why are the changes needed?

doc
Does this PR introduce any user-facing change?

No, since Spark 3.2 hasn't been released.
How was this patch tested?

Pass existed tests.

cc @mridulm @otterc Please take a look, thanks!

Test build #142038 has started for PR 33637 at commit 55bcbf9.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46550/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46550/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/46550/

Test build #142038 has finished for PR 33637 at commit 55bcbf9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142038/

Merged to master and branch-3.2.

Late LGTM, thanks for adding this @Ngone51 !

Thanks all!

Thanks all!


Error 20014

20014 | no provision profile | Ensure the existence of the 'skegn.provision' file.
What's skegn.provision?

You encountered this issue because you don't have access to our SDK free trial. Please check the readme file on how to get a free trial key for our SDK.

I got the free trial key today.
Error show when start record.

When running App, log:
LOG_ERROR |2024-12-10 16:10:35.823  config/sdkcfg/sdkcfg.cc#119 InitByPath() func:InitByPath(),open file failed....
LOG ([5.4.0~198-9cb5]:Collapse():nnet-utils.cc:1449) Added 1 components, removed 2

We didn't issue any SDK free trial key today. Please check if you're getting an API free trial key or an SDK free trial key.

We’ve checked your key, and it’s an API free trial key, not an SDK free trial key. For getting started with our API, please refer to this repo: link


cmd/compile: panic during dot-import function name collision

What version of Go are you using (go version)?

$ go version
go version go1.17rc1 linux/amd64

Does this issue reproduce with the latest release?
It reproduces with go1.17rc1 but not go1.16
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/zyedidia/.cache/go-build"
GOENV="/home/zyedidia/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/zyedidia/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/zyedidia/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/zyedidia/sdk/go1.17rc1"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/zyedidia/sdk/go1.17rc1/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.17rc1"
GCCGO="/usr/bin/gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3213770622=/tmp/go-build -gno-record-gcc-switches"

What did you do?
I created two files: test1.go and test2.go:
test1.go:
package main

import (
	. "fmt"
)

func test() {
	Println("foo")
}

test2.go:
package main

func Println() {}

func main() {}

Then I ran go1.17rc1 build. The names of the files are important for ordering.
What did you expect to see?
I expect to see an error telling me that a function from a dot-imported package collides with a function defined in the file, or maybe no error (this is the behavior of Go 1.16, but this also seems wrong). If alphabetical ordering of the files is swapped (by renaming test2.go to test0.go), I observe the correct behavior: Go 1.16 reports a number of errors, and Go 1.17rc1 reports the same ones:
./test1.go:4:2: Println redeclared during import "fmt"
	previous declaration at ./test0.go:3:6
./test1.go:4:2: imported and not used: "fmt"
./test1.go:8:9: too many arguments in call to Println
	have (string)
	want ()

What did you see instead?
However with the ordering from the original description above, Go 1.16 reports no issues (and successfully generates a binary) and Go 1.17rc1 fails with a panic:
panic: interface conversion: types.Object is nil, not *ir.Ident

goroutine 1 [running]:
cmd/compile/internal/typecheck.Redeclared({0x50, 0x0}, 0xc000419db0, {0xcec6ae, 0xd})
	/usr/local/go/src/cmd/compile/internal/typecheck/dcl.go:109 +0x2c5
cmd/compile/internal/typecheck.Declare(0xc00042aea0, 0x7)
	/usr/local/go/src/cmd/compile/internal/typecheck/dcl.go:77 +0x4d2
cmd/compile/internal/noder.(*noder).funcDecl(0xc0003ccc40, 0xc00040e060)
	/usr/local/go/src/cmd/compile/internal/noder/noder.go:584 +0x585
cmd/compile/internal/noder.(*noder).decls(0xc0003ccc40, {0xc00041c0a0, 0x2, 0xc0004100c0})
	/usr/local/go/src/cmd/compile/internal/noder/noder.go:331 +0x2c5
cmd/compile/internal/noder.(*noder).node(0xc0003ccc40)
	/usr/local/go/src/cmd/compile/internal/noder/noder.go:285 +0xb8
cmd/compile/internal/noder.LoadPackage({0xc00001e250, 0x3, 0x0})
	/usr/local/go/src/cmd/compile/internal/noder/noder.go:85 +0x358
cmd/compile/internal/gc.Main(0xd16418)
	/usr/local/go/src/cmd/compile/internal/gc/main.go:192 +0xb2e
main.main()
	/usr/local/go/src/cmd/compile/main.go:55 +0xdd

Go vet catches the error in both file orderings.

go1.16 accepts this program, sounds like we need a backport cc @mdempsky @griesemer
This does not happen on dev.typeparams with types2.

sounds like we need a backport

This needs to be fixed in Go 1.17, but we don't need a backport as Go 1.17 has not been released. Thanks.

sounds like we need a backport

This needs to be fixed in Go 1.17, but we don't need a backport as Go 1.17 has not been released. Thanks.

What I mean is that go1.16 accepts this program, it must not. Sounds like we need to backport a fix to go1.16 branch.

Okay, thanks. I missed that  Go 1.16 behaves correctly only with certain ordering of the files.

@gopherbot please consider this for backport to 1.16


CI: Fix issues with logs, channel order and versioning; prevent conflicting doubled workflows in PRs

Now workflows won't be triggered automatically by pushing changes to the branch (apart from the master), but it will be possible to run those CIs manually.

lgtm


Allow Update Compliance processing Value

Hi,
I followed these instructions, to enable "Allow Update Compliance processing" via Intune configuration profile.
I've included this in my profile:
"OMA-URI: ./Vendor/MSFT/Policy/Config/System/AllowUpdateComplianceProcessing
Data type: Integer
Value: 16"
What I found was that with this code the hex code is 10 and the decimal is 16. According to other website it should be hex 16 and dec. 22.
Regards.
(for example: https://www.thewindowsclub.com/enable-update-compliance-processing)

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

ID: 47a41574-4118-dff7-f9ae-047b2dbdf30f
Version Independent ID: 4f48d7a5-3965-60a4-221c-c519253bfc29
Content: Configuring Microsoft Endpoint Manager devices for Update Compliance - Windows Deployment
Content Source: windows/deployment/update/update-compliance-configuration-mem.md
Product: w10
Technology: windows
GitHub Login: @jaimeo
Microsoft Alias: jaimeo

@cinglis-msft can you advise?

@cinglis-msft can you advise?

I seem to have to set the value to 22.
I advise more testing by others then me to be sure. Also, the updates I make take 48 hours to come through in Log Analytics, so every error I make are visible after 2 full days.
This means it sets the decimal to 22, but the hexadecimal to the wanted 16.

@erottier Just now i enabled that policy using group policy  editor,  16 is correct for  decimal, and10  is for hexadecimal
here is the proof

I'm starting to wonder if both values are 'correct'. Since 22 decimal is higher then 16 decimal, maybe the system interprets both as valid?
As you can see, my values are working fine as well although they are different.

I am in agreement that the GPO values are probably the right ones.
As stated before, I had waited a little over the 24 hours the panel in Azure told me. I got nothing. After 48 hours data showed up, so my initial conclusion may be skewed.

16 decimal is what is required. This policy value actually goes into a bitmap on the backend. It does not yet affect data flow to Update Compliance. It was added a requirement pre-emptively so that folks have enough time to activate the policy before it is actually required for data to flow. Thus, that is why all values still technically "work"... It is essentially unused right now.

16 decimal is what is required. This policy value actually goes into a bitmap on the backend. It does not yet affect data flow to Update Compliance. It was added a requirement pre-emptively so that folks have enough time to activate the policy before it is actually required for data to flow. Thus, that is why all values still technically "work"... It is essentially unused right now.

Thanks! That explains a LOT.
The only thing which could be done is maybe clarify the doc that 16 is decimal? (for people using regedit) Or should it be clear enough since Intune (and the GPO) pushes decimals anyway?


没有做前置广告 暂停广告的插件？

中文用户请注意：请尽量用英文描述你的 issue，这样能够让尽可能多的人帮到你。
If you want to report a bug, please provide the following information:

The steps to reproduce.
A minimal demo of the problem via https://jsfiddle.net or http://codepen.io/pen if possible.
Which versions of DPlayer, and which browser / OS are affected by this issue?

没有前置广告  暂停广告的插件？


fix(docker): missing browse volume option [EE-7179]

closes EE-7179

I don't understand why your fix is changing anything. why is AccessDatatable related?

Because I noticed that the codebase for extendTableOption settings is not consistent throughout the project. Even in cases where there are "single extendTableOptions", you also have wrapped them with mergeOptions. Therefore, I believe it would be beneficial to add this wrapper to the remaining extendTableOption settings as well. Besides, it is intuitive for others to work on extendTableOption setting in the future.

@oscarzhou-portainer I don't see the added value. where we have it's because it used to be multiple values. but how does it fixes the issue?

@oscarzhou-portainer I don't see the added value. where we have it's because it used to be multiple values. but how does it fixes the issue?

The main fix for the issue can be found https://github.com/portainer/portainer/pull/11901/files#diff-ee4ca3e2b0441ac5ba3be0fa63c816a8f7df3597efba58805fdeea6086cac77dL72-R74. The problem was that two extend table options were added to the VolumesDatatable, but they were not wrapped with the mergeOptions function.
The reason why I suggest including mergeOptions in all extenTableOptions settings is that it makes it easier for other developers to grasp how to incorporate multiple values into extendTableOptions and reduces the likelihood of errors.
In this code snippet, you can see that the mergeOptions function is used even when there are no multiple values. You can find this example here: link. Another example can be found here: link. There are more instances of this usage in your original PR.

@oscarzhou-portainer you need to run yarn format on this pr


[housekeeping] - Rearranged fastfile steps to match github tag with latest commit in main

Description

Rearranged fastfile steps to match github tag with latest commit in main

Commit message

chore: Rearranged fastfile steps to match github tag with latest commit in main

Screenshot

Testing

[ ] Added unit tests
[x] Ran unit tests successfully
[ ] Added documentation for public APIs and/or Wiki

Code coverage
Total coverage: 95.50%

Powered by Slather

  Generated by :no_entry_sign: Danger


Add ability to extract comments from the grammar

All comments stored in the comments property of the grammar node.
This property is object with mapping start offset of comment to comment object, that looks like:
{
  text: 'text in the comment, just after // or /* and before */',
  multiline: true|false,// true for /**/ comments, false for // comments
  location: location()
}

What would this be useful for?

For example for creation of the full-featured editor for pegjs grammars. Assigning comments to the AST nodes is the task for separate pass which won't be a pegjs core part however for the work it demands or own grammar (why then a plug-in if everything needs to be rewritten?), or to have support from pegjs core. This PR provides such support.

For editor support wouldn't it be better to do this:
Rule
  = comment:Comment __
    name:IdentifierName __
    displayName:(StringLiteral __)?
    "=" __
    expression:Expression EOS
    {
      return {
        type: "rule",
        name: name,
        expression: displayName !== null
          ? {
              type: "named",
              name: displayName[0],
              expression: expression,
              location: location()
            }
          : expression,
        location: location(),
        comment: comment
      };
}

MultiLineComment
  = "/*" comment:$(!"*/" SourceCharacter)* "*/" {
    return { type: "MultiLineComment", value: comment, location: location() };
  }

MultiLineCommentNoLineTerminator
  = "/*" comment:$(!("*/" / LineTerminator) SourceCharacter)* "*/" {
    return { type: "MultiLineComment", value: comment, location: location() };
}

SingleLineComment
  = "//" comment:$(!LineTerminator SourceCharacter)* {
    return { type: "SingleLineComment", value: comment, location: location() };
}

You solution not cover all possible variants of comments. For example, that I am using:
// Do not forget about grammar-level comments

// One
// big
// rule
// comment
rule1 = ...;

rule2// rule comment
  // first alternative comment
  = ...
  // second alternative comment
  / ...
  ...
  ;

// or such:
rule3
  = 'a' /* sequence part1 comment */
    'b' /* sequence part2 comment */
    ...
  ;

My solution covers such cases. Other things being equal I prefer to have more information, than it is less.
Concerning impact -- I don't think that simple addition to a hash table somehow will worsen it (hash is used instead array because comment rules may be parsed multiply times in one position thanks to backtracking). The main work has to the parse itself.

Your right, some people prefer using line comments as block comments, so this would be better (applied to my above example):
Rule
    = comment:RuleComment __
    ...

RuleComment
    = head:SingleLineComment tail:(ws SingleLineComment)* {
        return tail.length ? {
            type: "CommentBlock",
            comments: buildList(head, tail, 1),
            location: location()
        } : head;
     }
    / MultiLineComment

ws = (WhiteSpace / LineTerminatorSequence)*

I'm not sure that having the parser also gather comments that are in other places (between the rule's name and assignment operator, between expressions, between literals, etc) is usefull as the only thing an editor can show a comment for is a refrence to a rule. I'm not saying having comments in those locations is bad (I also keep comments in random locations like that to keep track of stuff and leave notes to my self), it's just that an editor wouldn't really do anything with these comments, at least not one that I know of.
Also for speed impact, your right, the hash table does not add any impact to the parser's performance, but the lookup calls for the location do, and when creating a parser that will be used for an editor, I'd say the quicker the responce, the better, so ensuring less calls to the location function is better.
The idea though isn't a bad one, it's just this should be either an opt-in behaviour, or one that is added via a plugin. I'm brainstroming idea's on where to take PEG.js after 1.0, and one Idea that I'm juggeling around right now is adding another generator that would generate class based parsers, which would allow the generated parser's to be extendable. If I do go in this direction, then generating partial parser's that can be used to extend other parser's would be a good direction for this idea to take.

as the only thing an editor can show a comment for is a refrence to a rule.

Not only. For example, it is possible to fold the several lines of comments. It is obvious that it is possible to fold not only rule comments.
What - the decision with the partial implementation of an feature wouldn't be selected, in of course total it will lead to the fact that the thing which, apparently, can be made, made is impossible. I am very much baffled by similar finds.
I thought much on how to extract comments from the file. Finally suggested solution the simplest.

but the lookup calls for the location do
Costs for reading the hash table will be only once - a code it will be analyzed and place links in the AST nodes to the comments corresponding to them. But, as I already told, it will do in the separate pass.

What - the decision with the partial implementation of an feature wouldn't be selected, in of course total it will lead to the fact that the thing which, apparently, can be made, made is impossible. I am very much baffled by similar finds.

I'm sorry but due to your choice of words I don't quite understand, but I'm presuming your saying that it's not going to be a feature used because it wont be posiible to do what the original parser was generated to do due to the partial parser changing it's API, is that what your saying? If so, isn't that the point of an extendable parser? To more easily prototype and add feaures the orignal wasn't meant to do, or restrict what it does.

Costs for reading the hash table will be only once

Like I said above, the hash table doesn't affect the generated parser's performance, but calling location() alot can affect performance, especially right now as multi file grammars haven't been implemented yet (using the currently generated parser for PEG.js as an example):
// location() returns the result of this:
peg$computeLocation(peg$savedPos, peg$currPos);

// peg$computeLocation() then calls these:
var startPosDetails = peg$computePosDetails(startPos); // peg$savedPos
var endPosDetails = peg$computePosDetails(endPos); // peg$currPos

// location @ https://github.com/pegjs/pegjs/blob/master/lib/parser.js#L505
// peg$computeLocation @ https://github.com/pegjs/pegjs/blob/master/lib/parser.js#L584
// peg$computePosDetails @ https://github.com/pegjs/pegjs/blob/master/lib/parser.js#L549

As you can see from the source, peg$computePosDetails will pull the details from peg$posDetailsCache array, but only if details have been cached. As this PR will be adding the feature to extract comments with the location details, it means peg$computePosDetails() will be called for each comment twice, but since nothing else in the parser is looking up location details for the index's where the comments start and end, it means that the details will have to be computed every time. Although for small grammars this is fine, for large grammars this mean's a longer response time from the generated parser, and this can be a annoying thing to notice when your programming in an IDE/editor.
Like I said above, since the idea isn't bad, this feature should be an opt-in behaviour, as by default most developers wont be needing the comments:
MultiLineComment
  = "/*" comment:$(!"*/" SourceCharacter)* "*/" {
    return options.comments ? addComment(comment, true) : comment;
  }

MultiLineCommentNoLineTerminator
  = "/*" comment:$(!("*/" / LineTerminator) SourceCharacter)* "*/" {
    return options.comments ? addComment(comment, true) : comment;
  }

SingleLineComment
  = "//" comment:$(!LineTerminator SourceCharacter)* {
    return options.comments ? addComment(comment, false) : comment;
}

I'm sorry but due to your choice of words I don't quite understand

Sorry. These are the autotranslator's expenses. I try to correct it according to my knowledge, but not always it turns out. I just trying to say, that solution must be flexible and powerfull and allow say "B" when it allow say "A". There is nothing worse when you understands what because of foolish restrictions suddenly appears it is impossible to implement that, it seemed - has to be implemented easily.

As you can see from the source, peg$computePosDetails will pull the details from peg$posDetailsCache array, but only if details have been cached

Ah, this hashtable... Yes, now I understood.

this feature should be an opt-in behaviour,

Sounds reasonable. I update PR with option to enable comments extraction and also append README note. Spelling may be worse, so please, correct it if they need. I don't know English enough for writing correct texts.

Some comments?

Hi @Mingun, can you:

Remove the changelog entry. I'll add that my self when it's time to release 0.11
As this is an optional feature, using varyParserOptions in test/unit/parser.spec.js is overkill, as it is calling 48 tests 3 times in total. Only 1 test needs to be added, with the assertions inside confirming the result of a parse run with each of the options object similar to the ones in optionsVariants

If not to check all tests for all possible options of options, then how to guarantee that nothing breaks? I don't see any problems in executing 48 tests 3 times. Besides, I won't understand how you suggest to change a code and that it will test?
I remove chagelog entry. Also, the remark about changelog concerned only in Changelog.md or Readme.md too (I also want to pay attention that I have specially allowed editing pull request in order that you could correct the text in case of need)?

Most of the other 48 test's are testing some rule other then the grammar and don't even check the comments property in the root AST, so having them run multiple times is pointless. As this is an optional feature, the only tests needed are to check if it works and produces the correct result when options.extractComments is true.

I remove chagelog entry. Also, the remark about changelog concerned only in Changelog.md or Readme.md too (I also want to pay attention that I have specially allowed editing pull request in order that you could correct the text in case of need)?

Yes, only the changelog entry needed to be removed, thank you. As for the README.md, I will correct any spelling and grammar error's if needed, before or after the merge.


Add to Press Kit

Middleman app
https://presskit.thoughtbot.com/
https://github.com/thoughtbot/presskit/

The presskit has been merged into the Playbook.


[incubator/cassandra] Increase the max length of cassandra service name

Other services are limiting the service name to 63 char instead of the old 24 char limit.
For example DockroachDB and elasticsearch limit to 63: https://github.com/kubernetes/charts/blob/master/stable/cockroachdb/templates/cockroachdb-statefulset.yaml#L6
https://github.com/kubernetes/charts/blob/master/incubator/elasticsearch/templates/_helpers.tpl#L6

/ok-to-test

OK, latest version is rebased and I fixed the trailing space in values.yaml:49:18 but I am not really sure what to do with the selector/comments-indentation errors.

@mattfarina the indentation is fixed in the latest commit. Can you review it?

@Miouge1 It looks good on functionality now. But, there is a merge conflict. Can you resolve that?

@mattfarina sure. I rebased the branch onto master, no more merge conflict.


ACR: Remove opens to jackson from module info

ACR should not need to use Jackson unless users call BinaryData.from/toObject and then we just need to make models accessible to jackson. It was not the case for ManifestMediaType which had package-private constructor

/azp run java - containerregistry - tests


Use display: contents in wrapper div

The lme wrapper div's display should be set to contents so you can specify it's childs size

display: contents causes an element's children to appear as if they were direct children of the element's parent, ignoring the element itself. This can be useful when a wrapper element should be ignored when using CSS grid or similar layout techniques.

https://caniuse.com/css-display-contents

Hey @lukad good catch! Thanks 🎉

Released v0.1.4


[Backport] [2.x] Bump Netty to 4.1.114.Final (#16182)

Backport of https://github.com/opensearch-project/OpenSearch/pull/16182 of 2.x

@peternied mind approving this one as well? thank you


Engage batch

This pull request based on #113
Added batch for /engage
These changes will be checked for operability in the near future.
Is it normal if I simple copied tests track_batch and track_batch_integration to test/people.js and made small changes?

Thanks for the PR. Re: your question about tests, it would be preferable if you could DRY it out a bit by extracting the logic shared between your new tests and the existing ones (assuming it doesn't really harm legibility). Here's an example of a commit that pulls some copy-pasted test code into shared helpers: https://github.com/mixpanel/mixpanel-node/commit/2daa14b9640fdf267a67890fd3ab253127daa7d9 (though in your case, you'd need to extract to a separate module since it will be shared across different modules).


JDBC Duplicates

Looking for clarification on the JDBC driver as we want to make sure we're accounting for errors / dups accordingly.
When using BULK prepared statement operations, when looking at the rows coming back, this is our current logic, the question is are we correctly accounting for what the row's value will be?
Arrays.stream(rows).forEach(i -> {
    if (i >= 1) incrementSuccess();
    else if (i == 0) incrementDuplicates();
    else if (i == java.sql.PreparedStatement.SUCCESS_NO_INFO) incrementSuccess();
    else if (i == java.sql.PreparedStatement.EXECUTE_FAILED) incrementFailures();
    else incrementFailures();
});

Yes this look accurate, although the row count could be 0 for other reasons like: no document found.
I've also added this answer to your community post which is the right place for such questions.


How to proceed with links under  HTML elements?

Hi there,
I am facing an issue where I need to click a link which is represented like this:
some text
Cannot do this with Link, as it is span. Tried with Content, Field or Clickable, but not able to click it. Any advice will be much appreciated it.
Thanks.

Basically, Clickable<TOwner> should work for most cases:
using Atata;
using _ = SampleApp.SamplePage;

namespace SampleApp
{
    public class SamplePage : Page<_>
    {
        [FindById("project_Row1")]
        public Clickable<_> SomeLink { get; private set; }
    }
}

But I see onmouseover on . What element does it show on hover? Maybe you need to execute Hover() for this span and then click some other element that will be shown.


Error while getCurrentConnections()

Hey guys,
I need help with getCurrentConnections function. I need to get Promise back, I try to do if this way:
wifi.init({ iface : 'wlp3s0' });

wifi.getCurrentConnections().then(function (current) {
  console.log(current)
}).catch(function (error) {
  console.log(error)
})

I have this error instead:
/home//JavaScript/sandbox/main.js:8
wifi.getCurrentConnections().then(function (current) {
                            ^

TypeError: Cannot read property 'then' of undefined
    at Object.<anonymous> (/home/john/JavaScript/sandbox/main.js:8:29)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Function.Module.runMain (module.js:676:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3

But when I try to use it in my project, I get different error:
{ Error: Command failed: nmcli --terse --fields active,ssid,bssid,mode,chan,freq,signal,security,wpa-flags,rsn-flags,device device wifi ifname wlp3s0
Error: 'device wifi' command 'ifname' is not valid.

    at ChildProcess.exithandler (child_process.js:275:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Socket.stream.socket.on (internal/child_process.js:346:11)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:554:12)
  killed: false,
  code: 2,
  signal: null,
  cmd: 'nmcli --terse --fields active,ssid,bssid,mode,chan,freq,signal,security,wpa-flags,rsn-flags,device device wifi ifname wlp3s0' }

What can be wrong?

The problem is that nmcli expects a command with format:
nmcli device wifi [list [ifname ifname] [bssid BSSID]]
but the code is leaving out 'list' which it needs in order to have a valid command.

Thx for the PR.


Allow @inject() to use with property.

Is your feature request related to a problem? Please describe.
class Child extends Parent {
  constructor(@inject('something') private something: string) {
    super(); // This is required since this class has Parent.
  }
}

It's not convenient to describe deps in constructor if i have to call super(). I'd want to inject deps right in property
Alternate solutions
class Child extends Parent {
  @inject('something') private something: string
}

Much more cleaner

Could you please explain the reason?

The main reason is that so far, property injection isn't necessary, and results in the ability to do the same thing 2 different ways, which I'd like to avoid.
Also, on a lesser point, from the genesis of this project, we (@Xapphire13 and I) philosophically only wanted constructor injection (it's even in the description of the project) in order to keep things simple and allow us to focus on doing a few things well.

if you still want to use property injection, you can create a decorator like this
import { InjectionToken, container, inject } from 'tsyringe'

export type ForwardRefFn<T> = () => InjectionToken<T>

export function AutoWired<T>(target: any, propertyKey: string | symbol): void
export function AutoWired<T>(token: InjectionToken<T> | ForwardRefFn<T>): (target: any, propertyKey: string | symbol, parameterIndex?: number) => void
export function AutoWired<T>(token?: InjectionToken<T> | ForwardRefFn<T>, propertyKey?: string | symbol): ((target: any, propertyKey: string | symbol, parameterIndex?: number) => void) | void {

    if (typeof token === 'function') {
        return (target: any, propertyKey: string | symbol) => {
            Object.defineProperty(target, propertyKey, {
                get: () => {
                    const type = (token as ForwardRefFn<T>)()
                    return container.resolve(type)
                }
            })
        }
    } else if (token && propertyKey) {
        const type = Reflect.getMetadata('design:type', token, propertyKey)
        if (type === undefined) {
            // tslint:disable-next-line:no-console
            throw new Error(`failed to get design type of ${(token as any).constructor.name}'s ${String(propertyKey)}`)
        }
        Object.defineProperty(token, propertyKey, {
            get: () => {
                return container.resolve(type)
            }
        })
    } else {
        return (target: any, propertyKey: string | symbol, index?: number) => {
            if (index !== undefined) {
                return inject(token!)(target, propertyKey, index)
            } else {
                if (token) {
                    Object.defineProperty(target, propertyKey, {
                        get: () => {
                            return container.resolve(token)
                        }
                    })
                }
            }
        }
    }
}

and usage example
@singleton
class Foo {}

class Bar {
  @AutoWired foo!: Foo
}

Anyway I prefer constructor injection

However, I can see why it is worth injecting with property
the following case:
you have a controller in anglar, which injects services managed by an angular injector in the constructor
in this case, in order to inject a class created in pure typescript (which is sometimes used on the backend or in node), it should be injected as property
so in the shared part (used by frontend and backend) we have a class decorated by TSyringe
in the frontend part of the angular, we inject it through properets (because that's the only way we can)
in part, e.g. nest.js, we inject using property (because that's the only way we can)
Your decorator example solves the problem, but please consider adding this decorator to your library

yes, with RxJs it is incredibly useful, we should get value before controller run and use it in reactive definitions. This is why Angular added @inject and moved away from controller auto-injections. But yes, for any others cases controller is great place


SPA support questions

Why is onUpdate used to submit a form in SPA mode without +page.ts? https://superforms.rocks/concepts/spa#without-a-pagets-file
How to reset a form after it's submitted?
How to reset a form manually?

It's the most convenient point to modify the validation result before it's updating the form.
The resetForm option for superForm is default true and will reset the form automatically when a successful validation result occurs.
Use the reset method on the superForm object.

I mean, why is onUpdate used instead of onSubmit?

onSubmit happens when the form is submitted, so you can cancel the submission, modify its data, etc. Then the validation occurs, and the result is sent to onUpdate so you can use the form data in a call to an external API, which is common for SPA forms.

It does not make sense for me. Sending data to an external api should happen in onSubmit, no? Look at react formik https://formik.org/docs/overview#the-gist

No, it should happen when the data is valid and conveniently at hand, that's in onUpdate. onSubmit happens before the data is validated.

@ciscoheat i am confused. In regular (server side) forms, the data is sent to the server when user clicks <button type="submit">. I would expect the same behaviour from an SPA form: user fills all inputs and clicks on a "submit" button that would trigger an onSubmit event or something like that. I don't understand why you propose to submit data in an onUpdate event.

Without SPA:

Data is submitted to the server after the onSubmit event, so you can cancel the submission.
On the server, you call superValidate and eventually the server sends that result back to the client.
The result eventually ends up in the onUpdate event, where you can modify it before the form is updated.

Compare this to a SPA:

Data is submitted to the schema validation after the onSubmit event, so you can cancel the submission.
Schema validation runs (on the client) and returns the same result as superValidate would from the server.
The result eventually ends up in the onUpdate event, where you can modify it before the form is updated. For example by calling an external API and map the eventual errors from there to the result.

If you're still confused, read the SPA page and try harder to understand, many people are using it without problem. https://superforms.rocks/concepts/spa

While it's correct that many people are using superforms without problems and it's the preferred solution for svelte. That being said, if people are accustomed to client-side focused form libraries, onSubmit would be the most commonly associated function to use for handling form submission (even after validation), like in TanStack Form and React Hook Form. As you're going against common practise in this case, I think it could be ideally highlighted to a greater deal in the documentation.


deserialize_in_place fills skipped fields with default

Hi, thanks for this awesome library! I have some questions regarding in-place deserialization.
I'm wondering why we are filling skipped fields in deserialize_in_place(). Skipped fields are ignored for maps but not for sequences. Is there a reason for it or should the filling with default be removed? This is the relevant code that writes default values into the in-place struct:
https://github.com/serde-rs/serde/blob/03da66c805499a9e79a5b6cb11fa21ef6da636eb/serde_derive/src/de.rs#L805-L810
My use case is the following: I have a struct (MixedContent below) which contains fields that I want to serialize and fields that cannot be serialized and also don't implement Default. Something like this:
// serde_derive with Feature deserialize_in_place
#[derive(Deserialize, Serialize)]
struct MixedContent {
    #[serde(skip, default = "panic")]
    non_serializable: NonSerializable,

    serializable: Serializable,
}

fn panic() -> NonSerializable {
    panic!("deserialize not implemented")
}

struct NonSerializable {
    // ...
}

#[derive(Deserialize, Serialize)]
struct Serializable {
    // ...
}

Since I cannot implement Default for the NonSerializable but for Serializable, my idea was to use the deserialize_in_place functionality with skipped fields. With that I can create a custom constructor with more fancy logic and then use deserialize_in_place() afterwards on the struct. I think, using some DeserializeSeed is too complicated because it seems I need to implement it manually. Also custom home-grown derive macros doesn't feel right to achieve my scenario.
What I need to adjust from basic serde usage is

Generate a proper deserialize_in_place: Easy, just enable the feature flag
Disable the normal deserialize: Can be done via a serde(default = ...) attribute which never returns anything but fulfills the trait and makes the compiler happy
Deactivate all struct field writes of skipped fields: Doesn't work because the sequence code generation still contains them, see above

I'm willing to create a PR to remove the skipped field filling in sequences but wanted to make sure, nothing else gets broken by it (Chesterton's Fence). Do you have suggestions?

Working with skipped fields are broken in many cases, I'm working right now on fixing those issues and will make a PR in a few days


Remove logstash, update feature pull, remove Dockerfile.live

Remove Dockerfile.live
Pull features differently in Dockerfile (better caching)
Better support for local vs. remote development in shell script
Signed-off-by: Erin Schnabel<EMAIL_ADDRESS>

This change is

Reviewed 15 of 15 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Opentelemetry update

Upgrading opentelemetry to 0.35.0 required some code changes

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Alberto Fedrici seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


altsrc newYamlSourceFromFlagFunc example not working.

If I understand the purpose of the altsrc lib, it should use the passed in config file to populate flag parameters. I took the example for altsrc, fixed the gopkg.in compile errors, and passed in a yaml that looks like:
test: 10

Then compiled with:
go main.go --load file.yaml

But the flag is never set. I modified the Action func to look like:
fmt.Println("yaml ist rad")
fmt.Println(c.Int("test"))

If I pass it on the cli, it is set. e.g.
go main.go --test 10

Hi @jameskyle,
I'm having trouble reproducing this with the following:
package main

import (
        "fmt"
        "os"

        "gopkg.in/urfave/cli.v1"
        "gopkg.in/urfave/cli.v1/altsrc"
)

func main() {
        app := cli.NewApp()

        flags := []cli.Flag{
                altsrc.NewIntFlag(cli.IntFlag{Name: "test"}),
                cli.StringFlag{Name: "load"},
        }

        app.Action = func(c *cli.Context) error {
                fmt.Println(c.Int("test"))
                return nil
        }

        app.Before = altsrc.InitInputSourceWithContext(flags, altsrc.NewYamlSourceFromFlagFunc("load"))
        app.Flags = flags

        app.Run(os.Args)
}

Would you be able to provide the source of main.go?

Here is my main.go. Flags values are not retrieved from YAML.
package main

import (
	"gopkg.in/urfave/cli.v2"
	"gopkg.in/urfave/cli.v2/altsrc"
	"os"

	"path/filepath"
	"fmt"
)

const VERSION string = "0.1.0"

func main() {
	path := filepath.Join(os.Getenv("HOME"), ".cloudflare-cli")
	os.OpenFile(path, os.O_RDONLY|os.O_CREATE, 0666)

	app := &cli.App{}
	app.Name = "cloudflare-cli"
	app.Usage = "Command line interface for CloudFlare services"
	app.Version = VERSION

	globalFlags := []cli.Flag{
		altsrc.NewBoolFlag(&cli.BoolFlag{
			Name:  "verbose",
			Usage: "Display additional output",
		}),
		altsrc.NewStringFlag(&cli.StringFlag {
			Name:    "cf-api-key",
			Aliases: []string{"k"},
			Usage:   "CloudFlare API `KEY`",
		}),
		&cli.StringFlag{
			Name: "config-file",
			Aliases: []string{"c"},
			Value: filepath.Join(os.Getenv("HOME"), ".cloudflare-cli"),
			Usage: "Application config file `PATH`",
		},
	}

	generateConfigFlags := []cli.Flag{
		&cli.BoolFlag {
			Name: "dry-run, d",
			Usage: "Print YAML to STDOUT instead of writing to file",
		},
	}

	app.Flags = globalFlags

	generateConfigCmd := cli.Command{
		Name: "generate_config",
		Usage: "Generate application config file",
		Flags: append(app.Flags, generateConfigFlags...),
		ArgsUsage: " ",
		Action: func(c *cli.Context) error {
			fmt.Printf("%v\n", c.FlagNames())
			fmt.Printf("%v\n", c.App.VisibleFlags())
			return nil
		},
	}

	app.Commands = []*cli.Command{&generateConfigCmd}

	var beforeFunc cli.BeforeFunc = func(c *cli.Context) error {
		altsrc.InitInputSourceWithContext(globalFlags, altsrc.NewYamlSourceFromFlagFunc("config-file"))
		return nil
	}

	app.Before = beforeFunc
	app.Run(os.Args)
}

---
cf-api-key: "key_from_config_file"
verbose: true

Output:
[dry-run]
[--verbose      Display additional output (default: false) --cf-api-key KEY, -k KEY     CloudFlare API KEY --config-file PATH, -c PATH  Application config file PATH (default: "/Users/ievgen/.cloudflare-cli") --help, -h       show help (default: false) --version, -v        print the version (default: false)]

Hi @iiezhachenko,
Apologies for the delay.
altsrc.InitInputSourceWithContext(globalFlags, altsrc.NewYamlSourceFromFlagFunc("config-file"))

Actually returns a function to be called so you would need to call it in your function with something like:
return altsrc.InitInputSourceWithContext(globalFlags, altsrc.NewYamlSourceFromFlagFunc("config-file"))()

The typical usage of altsrc.InitInputSourceWithContext is something like:
app.Before = altsrc.InitInputSourceWithContext(globalFlags, altsrc.NewYamlSourceFromFlagFunc("config-file"))

Let me know if this helps!

Hiya! There's a known issue with the current implementation of the CLI, where altsrc is generally clunky and poorly documented. My current idea is that I'm going to move all of the altsrc functionality into the main package in some way, and that's how all of the "altsrc is weird and different???" issues people are having will get resolved. I'm tracking that work here => https://github.com/urfave/cli/issues/833


2.7.0 not rendering json for /v2/api-docs

I am trying to upgrade to 2.7.0 from 2.6.1 in my spring boot application but am unable to get the json to render in the browser at the /v2/api-docs endpoint (works correctly for the 2.6.1 version and is working for swagger-ui.html)
chrome error:
This page contains the following errors:
error on line 1 at column 1: Document is empty
Below is a rendering of the page up to the first error.
firefox error:
XML Parsing Error: not well-formed Location: http://localhost:8084/v2/api-docs?group=users Line Number 1, Column 1:

I think you might have perhaps a JAXB binding taking precedence over jackson. Try curling or using a rest client tool with Accept header of application/json and see what it gives you

Hi @dilipkrish, I also have this issue after I added jackson-dataformat-xml as a dependency. The problem is that the response body contains the JSON string as requested, but the content type is set to application/xhtml+xml;charset=UTF-8 since the browser originally requested Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8.
Do you know a solution/workaround such that I can open the URL in my browser?

Hi @dilipkrish, we are also encountering this error, exactly as @bpe has described, the body contains JSON but the content type is set to application/xml. We are running 2.7.0. When we rolled back to 2.6.1, the error disappeared and we were able to load JSON in the browser again.

Spring automatically adds message converters by looking at the class path. So in your case xml seems like the first one on the list.

Thanks @dilipkrish , it ended up being similar to what you described, the wrong object mapper (an internal xml one) was being used because of a bean misconfiguration. The only thing I'm still curious about is the reason why the api spec generation still worked on 2.6.1 but not 2.7.0, were there changes to the way springfox handles request responses or do you still think it was just a random classpath ordering?

It could be spring related. The versions of spring dependencies did change.

Hi @csbxvs  what changes did you make in your bean configuration? I am having this same issue.

Hi @dilipkrish, I'm currently using Spring boot 1.5.8/9 with Swagger 2.8.0, also using Jackson-databind-xml for consuming a XML webservice, but I still get the below issue when trying to access /v2/api-docs, any way to get around it other than removing jackson-databind-xml
This page contains the following errors:
error on line 1 at column 1: Document is empty

You need to send in an accept header of application/json or ensure that the jackson message converter has higher priority than xml.

how can we expect the result in browser?

@shafsongithub in json if the message converter that gets priority is the json message converter

Is there any real fix for this problem other than calling the endpoint in postman instead of the browser?

Forcing the accept content header does in fact fix the problem. But having the entire feature not functioning out of the box, if you have Jackson xml included as a dependency is in my opinion a fairly serious problem.
I would have never have figured out that Jackson xml was the problem had I not stumbled upon this issue thread.

@ahctang it is serious problem that the Swagger-ui is not sending in accept headers by default. Unfortunately thats not in the purview of this library.

it is still the same problem with 2.9.2 version of springfox
reproducible
https://github.com/huksley/spring-boot2-template

Could you create a simple project that illustrates the issue or may be create a breaking test. It seems like a lot of setup needs to happen to load up the project and launch it.

@dilipkrish
Here you are, I removed all not neccessary, just run TestSystem.testSwaggerAsRequestedByBrowser or mvn clean package
https://github.com/huksley/springfox-issue-1835
The problem appears when running with Accept header as in browser, i.e. then Accept header does not explicitely requests application/json.

@huksley thanks for that! I see whats happening. Im not aware of any mechanism to restrict the content negotiation machinery in spring mvc other than specifying the produces. Now we did fix the swagger-ui to send in the accept headers, that way it doesnt render arbitrary content based on the browser defaults.
In your case, it appears that the jackson-dataformat-xml is in the class path, which is why your test is failing as spring machinery finds the xml message converter based on the specified Accept header.

Thanks @dilipkrish !
As far as I understood, it will work now if I remove jackson-dataformat-xml from dependencies.
But your change, will it work now without removing it? Maybe in next release?

I dont think it will fix it, it seems like a spring fx issue. I'll ask, or may be you could in the spring framework project

@huksley Just curious, was a contentnegotiationManager implemented to get over it? Something similar to this?. You might have tried with this already but just wanted to make sure
@Override
	public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
		configurer.favorPathExtension(false)
		.favorParameter(false).ignoreUnknownPathExtensions(true).useRegisteredExtensionsOnly(true)
	     .defaultContentType(MediaType.APPLICATION_JSON);
	}

I have the same issue, i am simply running the sample spring boot starter project.
I didn't modify any file at all and I can reproduce the issue. /v2/api-docs link results in the empty page. looking forward for fixing/suggestions.

@vijayakumar-psg587 I havent fixed this bug.  As suggested by @dilipkrish removing jackson-dataformat-xml` should fix the bug

I have also described problem like author
I'm using springfox version 2.9.2
When I go to http://localhost:8080/v2/api-docs then error is returned:
This page contains the following errors: error on line 1 at column 1: Document is empty Below is a rendering of the page up to the first error.
But when I clicked "View Page Source" in Chrome then I can see all JSON body content with generated endpoints.
When I reverted springfox version to 2.6.0 the everything is ok. JSON is returned properly.

@vijayakumar-psg587 yes, I have a similar fix. But I thought that it should work out of the box and not do any content renegotiation so content type stays the same.

I tried removing the jackson-dataformat-xml from my dependencies but it did not help. Hence opted for the other solution

@vijayakumar-psg587 Check this out
https://github.com/huksley/spring-boot2-template/blob/master/src/main/java/com/github/huksley/app/system/SwaggerConfig.java#L172

Yes, jackson-dataformat-xml is definitely causing this issue. I couldn't remove it because it's needed; I just overrode and added a RequestMappingHandlerAdapter to force it to use JSON as the media type. (Note, this is for Spring Boot, if you have Spring MVC, then I think you have to override AnnotationMethodHandlerAdapter bean instead.
@Bean
public RequestMappingHandlerAdapter requestHandler() {
    RequestMappingHandlerAdapter adapter = new RequestMappingHandlerAdapter();
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    List<MediaType> mediaTypeList = new ArrayList<>();
    mediaTypeList.add(MediaType.APPLICATION_JSON);
    converter.setSupportedMediaTypes(mediaTypeList);
    adapter.getMessageConverters().add(converter);
    return adapter;
}

did we get any resolution to populate the /v2/apidocs with header application/json?

Yes, jackson-dataformat-xml is definitely causing this issue. I couldn't remove it because it's needed; I just overrode and added a RequestMappingHandlerAdapter to force it to use JSON as the media type. (Note, this is for Spring Boot, if you have Spring MVC, then I think you have to override AnnotationMethodHandlerAdapter bean instead.
@Bean
public RequestMappingHandlerAdapter requestHandler() {
    RequestMappingHandlerAdapter adapter = new RequestMappingHandlerAdapter();
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    List<MediaType> mediaTypeList = new ArrayList<>();
    mediaTypeList.add(MediaType.APPLICATION_JSON);
    converter.setSupportedMediaTypes(mediaTypeList);
    adapter.getMessageConverters().add(converter);
    return adapter;
}

Thank you, @raminsrad ! This worked for me.

Hello All,
I resolved this issue by updating jackson-dataformat-xml to version 2.9.4

jackson-dataformat-xml

how to updating jackson-dataformat-xml?

jackson-dataformat-xml

how to updating jackson-dataformat-xml?

by pom.xml

It's definitely jackson xml that introduces the problem (2.9.8 in my case) but I couldn't find out why Spring maps the response to XML as the Swagger2Controller clearly defines that it doesn't produce XML...
@raminsrad workaround didn't work for me as it broke request mappings with other media types than JSON so I ended up with this configuration that fixes it based on the swagger path:
@Configuration
public class SwaggerWebConfig {
  private static final List<MediaType> SWAGGER_MEDIA_TYPES = Arrays.asList(
    MediaType.APPLICATION_JSON, MediaType.valueOf("application/hal+json")
  );

  /**
   * Avoid swagger api being mapped to XML with jackson xml on the class path
   *
   * @param manager     Using the ready built content negotiation manager instead of
   *                    {@link org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer}
   *                    to not mess with other configurations
   * @param swaggerPath The path on which the swagger specs are served
   */
  @Autowired
  public void addSpringfoxContentNegotiation(
    ContentNegotiationManager manager,
    @Value("${springfox.documentation.swagger.v2.path:" + Swagger2Controller.DEFAULT_URL + "}") String swaggerPath
  ) {
    manager.getStrategies().add(0, webRequest -> {
      HttpServletRequest request = webRequest.getNativeRequest(HttpServletRequest.class);
      if (request != null && request.getServletPath().startsWith(swaggerPath)) {
        return SWAGGER_MEDIA_TYPES;
      }
      return ContentNegotiationStrategy.MEDIA_TYPE_ALL_LIST;
    });
  }
}

My workaround without code or pom modification:
You have to replace the "/v2/api-docs" path by a path with .json extension by setting up the following property:
springfox.documentation.swagger.v2.path=/v2/api-docs.json
Of course the URL to access the JSON will change by the new one.
To explain why a path with json works, the native ServletPathExtensionContentNegotiationStrategy will interpret the extension (.json) and set the MediaType as "application/json".

Yes, jackson-dataformat-xml is definitely causing this issue. I couldn't remove it because it's needed; I just overrode and added a RequestMappingHandlerAdapter to force it to use JSON as the media type. (Note, this is for Spring Boot, if you have Spring MVC, then I think you have to override AnnotationMethodHandlerAdapter bean instead.
@Bean
public RequestMappingHandlerAdapter requestHandler() {
    RequestMappingHandlerAdapter adapter = new RequestMappingHandlerAdapter();
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    List<MediaType> mediaTypeList = new ArrayList<>();
    mediaTypeList.add(MediaType.APPLICATION_JSON);
    converter.setSupportedMediaTypes(mediaTypeList);
    adapter.getMessageConverters().add(converter);
    return adapter;
}

Thank you.  That worked for me too (in Chrome only, not Safari) :-)


Improve update-version.sh

Description
A few small tweaks to update-version.sh for alignment across RAPIDS.
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.
[x] The cmake-format.json is up to date with these changes.
[ ] I have added new files under rapids-cmake/

[ ] I have added include guards (include_guard(GLOBAL))
[ ] I have added the associated docs/ rst file and update the api.rst

/merge


Unable to style encapsulated components

In the example below I use the list component and try to apply a background color on list items when the item is hovered. However _ngcontent attributes are added to my CSS selectors and some of the elements generated HTML seems to not receive this attribute making impossible to apply any style to it.
http://plnkr.co/edit/Sgr8DI9hWnOItPWR9Tva?p=preview
Original Style
I've tried different rules just in case...
  md-list-item:hover {
    background:red;
  }

  md-list-item:hover > div{
    background:green;
  }

  md-list-item > div:hover{
    background:blue;
  }

Injected Style
  md-list-item[_ngcontent-pgx-1]:hover {
    background:red;
  }

  md-list-item[_ngcontent-pgx-1]:hover > div[_ngcontent-pgx-1]{
    background:green;
  }

  md-list-item[_ngcontent-pgx-1] > div[_ngcontent-pgx-1]:hover{
    background:blue;
  }

Generated HTML
<md-list _ngcontent-pgx-1="" dense="" role="list">
	<md-list-item _ngcontent-pgx-1="" role="listitem" class="md-2-line">

				{{ ... }}

	</md-list-item>
</md-list>

I can't find a way to match the generated div.md-list-item from the component style.

We're still working on theming (see #123) and general strategy for component customization. Stay tuned for more info in the future!

You can get at them with either /deep/ or >>> (even though they are deprecated in CSS) angular supports them. see the page on styling on the angular.io site

Have noticed it does work once you switch from MaterialModule.forRoot() that taken from the demo project to simple MaterialModule inside your @NgModule:
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    MaterialModule <-- !
...

works fine for me.

Now also deprecated in Angular!

But you can still use ::ng-deep


Feat(eos_cli_config_gen): Add spanning_tree_guard to switched ethernet interfaces

Change Summary
Adding support for:
spanning_tree_guard: < loop | root | none >
to ethernet_interfaces
Related Issue(s)
Fixes #N/A
Component(s) name
arista.avd.eos_cli_config_gen
Proposed changes

Simple change to allow for "spanning-tree guard" config
Extended existing datamodel with additonal option:

ethernet_interfaces:
  <snip>
  spanning_tree_guard: < loop | root | disabled >

Skipped doc. update because other spanning-tree options are also not explicitly rendered in doc (besides in the config snippet)

How to test
Molecule test
Checklist
User Checklist

N/A

Repository Checklist

[x ] My code has been rebased from devel before I start
[x ] I have read the CONTRIBUTING document.
[o ] My change requires a change to the documentation and documentation have been updated accordingly.
[x ] I have updated molecule CI testing accordingly. (check the box if not applicable)

@ccsnw Can I ask you to add the same to port_channel_interfaces so we avoid too many deviations? Thanks

sure, coming up soon


react-native-slider accessibilityState disabled

Test Cases

Slider has disabled and accessibilityState={{disabled: false}}

CLICK TO OPEN TESTS RESULTS

  <Slider
    disabled
    accessibilityState={{
      disabled: false,
    }}
    onValueChange={value => this.setState({value: value})}
  />

https://github.com/facebook/react-native/pull/31001/files#r578827409

there is nothing stopping someone from setting disabled="true" accessibilityState={{disabled: false}} or vice-versa.

Test Cases
7.7 Wrong prop type disabled="not a boolean value" with flow on the master branch
CLICK TO OPEN TESTS RESULTS

  <Slider disabled="not a boolean value"  />

https://github.com/facebook/react-native/pull/31001/files#r578827409

there is nothing stopping someone from setting disabled="true" accessibilityState={{disabled: false}} or vice-versa.

Test Cases
7.6 Wrong prop type disabled="not a boolean value" with typescript
CLICK TO OPEN TESTS RESULTS

  <Slider disabled="not a boolean value"  />

https://user-images.githubusercontent.com/24992535/151469374-e36debf0-cc46-44b0-bab6-ecc4fca90b75.mp4

https://github.com/facebook/react-native/pull/31001/files#r578827409

there is nothing stopping someone from setting disabled="true" accessibilityState={{disabled: false}} or vice-versa.

Test Cases
7.5 Slider has disabled={false} and accessibilityState={{disabled:true}} on master
CLICK TO OPEN TESTS RESULTS

  <Slider
    disabled={false}
    accessibilityState={{disabled: true}}
    onValueChange={value => this.setState({value: value})}
  />

Test Cases
7.4 Slider has accessibilityState={{disabled:false}} on master
CLICK TO OPEN TESTS RESULTS

  <Slider
    accessibilityState={{disabled: false}}
    onValueChange={value => this.setState({value: value})}
  />

Test Cases
7.3. Slider has accessibilityState={{disabled: true}} on master
CLICK TO OPEN TESTS RESULTS

  <Slider
    accessibilityState={{disabled: true}}
    onValueChange={value => this.setState({value: value})}
  />

Test Cases
7.1 Slider has disabled and accessibilityState={{disabled: false}} on main
CLICK TO OPEN TESTS RESULTS

  <Slider
    disabled
    accessibilityState={{
      disabled: false,
    }}
    onValueChange={value => this.setState({value: value})}
  />

TO-DOS

[ ] Test iOS
[ ] Add test cases to react-native-slider pull request

PR https://github.com/callstack/react-native-slider/pull/354


Black Screen at Launch [VirtualBox]

Hyprland suddenly shows black screen at launch.
It was working fine until yesterday. I believe I updated Hyprland to 0.15.3 a few days before that.
I tried WLR_RENDERER_ALLOW_SOFTWARE=1 Hyprland yet it didn't work. In fact, I didn't even need this when it was working fine.
What's weird about this is that I think apps actually open, it's just the screen output is black.
Because I can press super + Enter then type poweroff and enter my password and hit enter and it WILL poweroff.
I am sorry if I missed something obvious, but I did go through every issues and faq guidelines on wiki that has any relevance to vm or black screen.
Here are my logs, and again, I'm sorry for my choice of colors and screenshot instead of actual text.

I do understand the devs hate vm and that's fair. But please understand it's my only laptop and i can't really afford to install this on a bare metal without learning through vm ;(

If this is a regression, please provide the faulty commit by doing a git bisect. You can input the good commit by using the last version that worked, the bad as HEAD and git will let you know which commits to test later.

If this is a regression, please provide the faulty commit by doing a git bisect. You can input the good commit by using the last version that worked, the bad as HEAD and git will let you know which commits to test later.

I'm not sure if what I did is right because this is the first time using bisect but I think I did it. It says Bisecting: 16 revisions left to test after this (roughly 4 steps)
Then it says a bunch of numbers and letters then goes check for same workspace in workspace rule.

You know what, I re-installed v0.15.2beta and now it's back to normal. I think I'll just use it like this until I get good enough to install on bare metal :)

@Dickby that would imply your matrix PR broke VMs


Any chance you could choose a license type for this?

Any chance you could choose a license type for this?
I might recommend MIT license as most likely to lead to more people using it 👍

What is the advantage of using a license? Everything I put on github is open to everyone

Actually, without a written license applied to the project the default copyright of the law applies. That is very restrictive.
See the "Your project doesn't have a license" section here:
https://www.nczonline.net/blog/2015/12/why-im-not-using-your-open-source-project/
Easy way to pick a license:
https://choosealicense.com/

Good to learn about this. Thank you for informing me.
I add the MIT license.
I will add licenses to my other github repo's during the Christmas clean up

Thank YOU, kind sir. And happy holidays!


Switch back to the upstream client-go

Description

<EMAIL_ADDRESS>contains a backport of https://github.com/kubernetes/kubernetes/pull/107311 -> https://github.com/kubernetes/kubernetes/pull/107336.
This should allow us to switch back from the forked github.com/projectcalico/k8s-client-go to the upstream client-go (k8s.io/client-go).
The forked client-go was introduced with https://github.com/projectcalico/calico/pull/5324 and https://github.com/projectcalico/calico/pull/5351.
Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[x] Release note

Release Note

Kubernetes dependencies are updated from v0.21.8 to v0.21.9.

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

/cc @fasaxc

/sem-approve

Thanks!


How to force a julia version using juliapkg.json?

I'm working in a conda environment and I need julia 1.5.
Following the documentation, I ran the following:
>>> juliapkg.require_julia("1.5")
>>> juliapkg.status()
JuliaPkg Status
/home/tesla-k20c/.conda/envs/ewatercycle_spyder/julia_env/pyjuliapkg/juliapkg.json
Not resolved (resolve for more information)
Julia (^1.5)
>>> juliapkg.resolve()
[juliapkg] Locating Julia ^1.6.1
[juliapkg] Using Julia 1.8.5 at /home/tesla-k20c/.conda/envs/ewatercycle_spyder/julia_env/pyjuliapkg/install/bin/julia

How can I specify the julia version exactly, instead of only giving a minimum requirement? And why does it try to locate ^1.6.1 and not ^1.5.1?
Thanks!

According to src/juliapkg/compat.py, no prefix is equivalent to ^ and the prefix '=' is supported.
The reason why it tries to locate ^1.6.1 is because juliapkg.resolve() somehow looks for juliapkg.json in my juliacall package. Adjusting it there works.


Installation command does not work

Hi guys,
The installation command on the front page does not work for me. I am using 2.3.0. Error message is "failed to download from all possible locations"
./bin/plugin -install index-termlist -url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-index-termlist/<IP_ADDRESS>/elasticsearch-index-termlist-<IP_ADDRESS>-plugin.zip
BTW, is it possible to access the list with Java API?
Thanks,
Cody

the command for installation is ./bin/plugin install  http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-index-termlist/<IP_ADDRESS>/elasticsearch-index-termlist-<IP_ADDRESS>-plugin.zip but I get the error message ERROR: Could not find plugin descriptor 'plugin-descriptor.properties' in plugin zip. I running es 2.2.3


Able to compare two project between them

Is your feature request related to a problem? Please describe.
It would be great to have the possibility to check identical code between two projects.
Describe the solution you'd like
npx jscpd project01/src project02/src
Would perform a check from the src of project01 against the src of project02 and not check for duplicate in project01.
Describe alternatives you've considered
None.
Additional context
Could help to justify/identify:

Cheat (copy) between students
Stolen code from college
Shared code between project that could be regrouped
etc...

Hi, the feature has already been implemented, you can read more about --skipLocal option.
https://github.com/kucherenko/jscpd/tree/master/packages/jscpd#skip-local
or just run the following command:
npx jscpd --skipLocal project01/src project02/src


chore: disable issues when releases fail (#608)

Backport
This will backport the following commits from 2.x to 1.x:

chore: disable issues when releases fail (#608)

Questions ?
Please refer to the Backport tool documentation

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 609

Questions ?
Please refer to the Backport tool documentation


extract declare_resource to a mixin and extend API

extract to its own mixin so it can be included without
method_missing and the rest of the resources DSL
add ability to inject different run_context
add ability to create_if_missing into the resource_collection

@chef/client-core and @thommay @coderanger and @jkeiser in particular, plus maybe @danielsdeleo
want to get thoughts on this.  i'll write specs if everyone is okay with it.
this is something that i've discussed with john before, which is pulling out declare_resource and build_resource into their own mixin so that classes could include them without pulling in the whole recipe DSL.   i've wanted this in my own classes that i've written.  i've also strongly considered adding this mixin to Chef::Resource and Chef::Provider directly (which i think was the direction dan wanted to take declare_resource and build_resource eventually).
by mixing this into Chef::Resource that is also one way to work around #4006 when you have a property called 'template' that overrides using the template resource in the DSL.
plus, there's the extensions to build_resource/declare_resource to better support writing accumulator patterns in resources instead of definitions.  this addresses #4117.  i was going to include a pointer to the multipackage resource that used this code, but i appear to not have pushed that remotely and my computer at home is powered down right now due to the windstorm power outage this AM...
comments?  suggestions?  better name for 'create_if_missing'?

which i think was the direction dan wanted to take declare_resource and build_resource eventually

Mostly I wanted to make the method_missing shim as thin as possible, and expose the functionality so people could do whatever crazy things they wanted with recipe macros in a more responsible way.
That said, I do like the idea of being able to use a thing that's in between the full recipe DSL (which has the problems you describe, things like template and file get mixed in) and having to do fully manual resource instantiation (this would be less of a pain if the resource constructors took blocks, though now we have a whole new layer of indirection there, which would be nice to wrap up).

Needs tests for the new bits

@chef/client-core new bits now have tests

:+1:


Fix/15086: Screen is flashing when changing focus between edit input

Details
When we move from 1 edit message input to another, the toggleReportActionComposeView is called, causing the ReportActionCompose to become visible, pushing the view upward and causing the glitch. We should only call toggleReportActionComposeView when the keyboard is completely hidden and this PR does that
Fixed Issues

$ https://github.com/Expensify/App/issues/15086
$ https://github.com/Expensify/App/issues/15086#issuecomment-1429062610
Tests

Login with any account
Try to select any report, send few messages, try to edit them but doesn’t press Save. Try to change the focus
Verify that the screen isn't flashing when switching focus between the edit fields.

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Login with any account
Try to select any report, send few messages, try to edit them but doesn’t press Save. Try to change the focus
Verify that the screen isn't flashing when switching focus between the edit fields.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/113963320/219302717-2b70111d-5a18-4b21-ac09-681aa27773ec.mp4

Mobile Web - Chrome
https://user-images.githubusercontent.com/113963320/219302946-a39f3dee-b425-493b-b2f7-64c124046d18.mp4

Mobile Web - Safari
https://user-images.githubusercontent.com/113963320/219302734-2abfe977-2343-4b44-bf54-d9a2a6048ca6.mp4

Desktop
https://user-images.githubusercontent.com/113963320/219302772-6e3cc6a0-54b8-4682-b336-10ebf0567c02.mp4

iOS
https://user-images.githubusercontent.com/113963320/219302690-e11e6e44-274e-4e4a-8285-c2601d095be4.mp4

Android

@thienlnam @mananjadhav One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Hi @mananjadhav @thienlnam, Please help to review this PR. Thanks

On my list today. Focused on email getOptions task for the time being.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/3069065/219766788-8674f11f-3487-4a77-9575-88bdc7ded82a.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/3069065/219766956-a37ec713-c958-4076-81d0-b29090e56f59.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/3069065/219767129-4cbc40a0-1b04-40d3-b6d8-3415728918ad.mov

Desktop
https://user-images.githubusercontent.com/3069065/219767174-f712e152-c6ed-4848-8031-5ce95a6afb28.mov

iOS
https://user-images.githubusercontent.com/3069065/219767225-15a091dd-9ed8-423c-b673-8c50bb36934d.mov

Android
https://user-images.githubusercontent.com/3069065/219767273-d9e94652-8549-49e4-8833-a132a364679c.mov

@thienlnam All yours.
@tienifr Quick suggestion, I saw last few commits had the same commit message. I would recommend writing meaningful messages that explains the context of the commit. Thanks for the quick PR on this one. Appreciate it.

🚀 Deployed to staging by https://github.com/thienlnam in version: 1.2.74-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.2.74-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Fixes #3998

Reference Issue
Fixes #3998
What does this implement/fix? Explain your changes.
MolFragmentToSmiles removes ring info but it makes no sense and also causes troubles. This PR removes the code.
Any other comments?

Hi @kazuyaujihara, unfortunately this isn't a great solution to the problem. These changes will result in the code also skipping kekulization of aromatic rings which are completely present in the fragment.
I'm working on the bug now and will do a PR to fix it via changes in the Kekulization code later this morning

I’m closing this since #4248 fixes the problem.
thanks for doing the PR @kazuyaujihara !


Updating to release a new Version

Improves in the Breakpoint browser.
Improves Class navigation
Cleaning Traits.

give me a minute. I want to add Christophe fix

Ok, I will wait!

Ok. It's done.
CI is not related