ESGtoolkit package no longer on CRAN

Hi,
first of all: thank you so much for working on this package and contributing all this work to the community. It is greatly appreciated and this issue is not to be understood as any kind of demand. I just want to understand what is happening.
I have found this repo after the ESGtoolkit package on CRAN has been archived (since the CDvine package has been archived). I could not find any information on why this is the case neither do I know the general process of archiving packages on CRAN. Noticing this, I have googled a bit and found this repository. What I also noticed is that you fixed the problem by using the VineCopula package.
My question is: will this change make it to CRAN eventually? And generally, what is the state of this project? On CRAN I can see that the original package was released in 2014 and then the next update was in August of this year. Are you maintaining this package from now on?
Thank you so much!
Alexander

Hi,

"after the ESGtoolkit package on CRAN has been archived": this is a very long story. Very long story of absurd email exchanges (that I kept) and arbitrary decisions. They litterally tried to confiscate it or block the updates, for a reason which is not clear to me.

"the general process of archiving packages": https://cran.r-project.org/web/packages/policies.html (note that, you can't get your code back, even if you want)

I'm not "maintaining from now" on (it's already pretty advanced though, no plan to include calibration features, are a lot of packages do just that). I've created it and I've been maintaining it since Adam & Eve.

Best.

Hi,
sorry, for some reason I thought you did not create the package. My bad. I should have read more carefully.
Also: Thank you for the quick answer! In some sense, not changing the code of this package in any major way is helpful to us since we depend on the results not changing and are already more than happy with the feature set.
Still very helpful for us to clear this up and quite sorry to hear the problems you had to deal with.
I am closing this for now. Should be good information for anyone else trying to figure out what is happening.
Best
Alexander

Would that be too much to ask, if I asked you to email me how you're using it? How am I supposed to not break the API if I don't know how people are using it, and it's just blocked by someone for obscure reasons?
"for some reason (...)" sounds like a chorus to us.
Best,
T.

Sure, I just need some time to go through our code and find the right places. I will send you an email.
Best
Alexander


💡 [REQUEST] - Add new resources

[x] I am from GSSoC23.
[x] I would like to be assigned this task.

fill [x] to check the boxes.

want to add resources for the frameworks
Add - 1) Angular
-  2)Three-js
- 3)Node-js

as angular is much popular it must be present in the resources
and three js is the upcoming boom so we must include that too
Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x] I follow the Contributing Guidelines of this project.
[x] I have checked the current issues for duplicate problems.
[x] I have read the readme of this repository.

@bhartik021 please assign me with this i will qucikly do the needful and file the pr

@k-deepak04 go for it. 👍

okay @Alkaison , please review and merge my previous pr, else i would need to create new branch


readinessProbe required in kube-apiserver

So this only an idea for improving the Shoot creation flow, an this would be a nice to have feature to troubleshoot provisioning issues and and early break before creating resources that could not be used.
Multiple time we had shoot's kube-apiserver failing to reach to the etcd (still investigating the root cause).
Currently charts/seed-controlplane/charts/kube-apiserver/templates/kube-apiserver.yaml doesn't have a readinessProbe.
And the WaitUntilKubeAPIServerReady step is not really meaningful without a readiness probe since if a Container does not provide one, the default state is Success. So that is not really checking for Readiness but only existence of the container.

Which kind of readinessProbe do you suggest for the kube-apiserver deployment? It does not expose a /ready endpoint but only a /healthz route. /healthz/etcd could be an option?!
But what is the expected outcome of that? When it reports that it is not ready, then it won't get any traffic. Hence, in the end the behaviour is the same compared to now - no operation involving it will work.

If the current /heathz endpoint runs below checks, isnt it already quite suitable for readiness as is:
[+]ping ok
[-]etcd failed: reason withheld
[+]poststarthook/generic-apiserver-start-informers ok
[+]poststarthook/start-apiextensions-informers ok
[+]poststarthook/start-apiextensions-controllers ok
[+]poststarthook/bootstrap-controller ok
[+]poststarthook/rbac/bootstrap-roles ok
[+]poststarthook/ca-registration ok
[+]poststarthook/start-kube-apiserver-informers ok
[+]poststarthook/start-kube-aggregator-informers ok
[+]poststarthook/apiservice-registration-controller ok
[+]poststarthook/apiservice-status-available-controller ok
[+]poststarthook/apiservice-openapi-controller ok
[+]poststarthook/kube-apiserver-autoregistration ok
[+]autoregister-completion ok

Sure, but I've not understood what you expect to happen. When the readiness probe in Kubernetes fails then no traffic will be routed to the underlying pods. Hence, the outcome of the operation Gardener wants to perform is the same as it is now - it won't work / it won't get better. Or do you only suggest to use it for improving the step in which the operation fails (WaitUntilKubeAPIServerIsReady instead of a following)? That we could definitely do, agreed!

Although there isn't any direct api on apiserver(say /ready), and /healthz is only health endpoint and doesn't mean apiserver is completely ready to accept and process request,  I think having readiness probe using /healthz makes sense. This will halt the flow at WaitUntilKubeAPIServerIsReady step. And help in early detection of error like etcd issues.
Said that, this surely doesn't solve the problem completely though, cause there are always chances on apiserver passing health check i.e new readiness probe at WaitUntilKubeAPIServerIsReady but failing it before next step like reconcilemachines which will end up not registering root cause in shoot status for that iteration of reconciliation.

From @rfranzke:

Sure, but I've not understood what you expect to happen. When the readiness probe in Kubernetes fails then no traffic will be routed to the underlying pods.

Since there is only a liveness probe and no readiness probe, as soon as the container is started, it immediately transitions into Ready state, after some time Liveness probe will fail and restart the kube-apiserver, until then kube-apiserver will be assumed ready to serve. WaitUntilKubeAPIServerIsReady checks for Ready state not Liveness. Having a readiness probe will block flow at WaitUntilKubeAPIServerIsReady, and we won't see indirect errors reported at later steps. e.g currently in one of our clusters we never had a really Ready kube-apiserver, it kept being restarted as result of liveness prove, but flow is not blocked at WaitUntilKubeAPIServerIsReady step, and eventually blocked on ReconcileMachines step as there is no Healthy apiserver's to reach.

OK, thank you for the elaboration. Will incorporate it! Great feedback @bergerx!


[stdlib] Use default collator instead of root collator on collating unicode

This PR changes to use default collator instead of root collator.
http://icu-project.org/apiref/icu4c/ucol_8h.html said about ucol_open()'s  locale parameter as:

loc	The locale containing the required collation rules. Special values for locales can be passed in - if NULL is passed for the locale, the default locale collation rules will be used. If empty string ("") or "root" are passed, the root collator will be returned.

Default locale will be picked up by uprv_getDefaultLocaleID() in icu:
https://github.com/unicode-org/icu/blob/4c4f79b52308d87ccc97958779766cbce18d0426/icu4c/source/common/putil.cpp#L1489

Resolves SR-530.

@jpsim While I appreciate your work on this, IMO it's not the best way for us to get consistency between Darwin and Linux.  We shouldn't rely on the UCA (and thus, collators) at all for ordinary strings.  Please see the string manifesto for more detail

@dabrahams Sorry, I didn't read the string manifesto.
Hm, it seems that the string manifesto says "Swift string sorting will not be compatible with Foundation sort order".
Is that correct with that understanding?

on Fri Apr 14 2017, Norio Nomura <notifications-AT-github.com> wrote:

@dabrahams Sorry, I didn't read the string manifesto.
Hm, it seems that the string manifesto says "Swift string sorting will not be compatible with
Foundation sort order".
Is that correct with that understanding?

Yes, non-localized String sorting will not work the same way in Swift as
it does in Foundation.  We intend to try very hard to keep localized
sorting in sync, though.
--
-Dave

Thank you for clarifying. 🙏
I'm closing this.
Is there JIRA that can follow the progress of String Manifesto?


Can the aspectRatio only affect the corner stick?

Is there a way to only make the aspectRatio affect the corner stick?
Something like this:
https://www.loom.com/share/da58f62d89f94488bc6ea5e57c60d270

it's not supported now, but I will try to make that possible in this week, maybe add some new props

it's supported now. add  :aspectRatioSticks="[tl, tr, bl, br]" to just affect the corner sticks,
now you can choose the certain sticks that will be affected by aspectRatio
props aspectRatioSticks will work only when :aspectRatio="true"
try in demo!
also added Grid feature

wow. thank you so much! this looks great!


RViz segfault on macOS (v. 10.13.2) with latest master

Following the change from static to dynamic linking, on Apple (on Linux and Windows this problem doesn't occur) RViz crashes at startup with a segfault.
The problem was traced back to the params["externalWindowHandle"] = Ogre::StringConverter::toString(window_id); line, in render_system.cpp (line 428). When it is commented out, the segfault doesn't happen, but, of course, RViz starts with the render window detached from the application window.
Proposed Solution: apparently, updating to the latest version of Ogre fixes the problem.

After simply deleting the install and build folders and building everything again, RViz works fine again, and no segfault occurs. It is not clear what the reason behind this behaviour is.

@botteroa-si, I believe @Martin-Idel-SI said it was possibly a race condition, so maybe you just got lucky after rebuilding? Can you confirm that it never happens anymore?

@wjwwood, before rebuilding the segfault would happen 95% of the times I tried to launch RViz. After rebuilding yesterday afternoon, it hasn't happened again yet, and I have launched and used RViz quite some times since then.

@wjwwood, I have now deleted the install and build folders and rebuilt three times, and all three times I have experienced no segfault.

Cool, thanks for following up. In that case, I'll close this until someone else runs into it.


changes made for 90 Days and 30th April scenario

Please review and merge this code or let me know if any changes or improvements need to be done

@nmohammednawaz-egov where is the amount reversal logic, after 90 days if you are creating a new PI, then the amount which is deducted from the funds that has to be released.


disable pan and zoom

el.panZoom(false) not disabling pan, it disables only zoom functionality

For particular functionality I need to disable pan.

https://jsfiddle.net/nkpd/pqa97L1m/24/
Here is the example,
if I call "draw.panZoom(false)" in line number 34(in setTime out function) it will works , but when I call in line number 15( i.e on panEnd function) it will not disable pan.

https://github.com/svgdotjs/svg.panzoom.js/blob/master/src/svg.panzoom.js#L137
Move that line down so it sits at the end of the body of the function. It should work now. Please report back.

Thank you.

But this is not working

There is no function like this atm. You would need to register or unregister the events yourself

Thanks a lot.

Feel free to make this little change a PR. I think its useful for other peoples, too


Error while parsing literals with backslash

Describe the bug
Can't properly parse the statement when

Backslash is the last character of a literal;
The literal is not the last value of a sequence.

To Reproduce
Steps to reproduce the behavior:

Example:  CCJSqlParserUtil.parseStatements("""INSERT INTO "a"."b"("c", "d", "e") VALUES ('c c\', 'dd', 'ee\')""") (Kotlin)
Exception:

net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "dd" <S_IDENTIFIER>
    at line 1, column 53.

Was expecting one of:

    "&"
    ")"
    ","
    "::"
    "<<"
    ">>"
    "COLLATE"
    "["
    "^"
    "|"

Note that CCJSqlParserUtil.parseStatements("""INSERT INTO "a"."b"("c", "d", "e") VALUES ('c c', 'dd', 'ee\')""") won't trigger the exception.

Expected behavior
The literals 'c c\' and 'dd'should be properly parsed.
System

Database: Oracle
Kotlin Version: 1.4.21-release-IJ2020.2-1
Java Version: 1.8
JSqlParser version: 4.0

First of all a proper documentation of the challenge in H2:
VALUES ('c c\', 'dd', 'ee\');

returns

C1
C2
C3

c c\
dd
ee\

But JSQLParser complains:

I will look into that, there is also another similar case.

The problem is simple: JSQLParser treats both characters ' and \ as escape character (which should be a good thing):
-- correctly parsed with JSQLParser
select 'c c\\', 'dd', 'ee\\'
from dual

Unfortunately, this is not the interpretation by Oracle or H2:

'CC\'
'DD'
'EE\'

c c\
dd
ee\

So as stated in another issue, we would need to define an Parser Configuration Feature, which allows only one Escape character at a time (preferably ').

@wumpz: I read through a lot of stuff in order to find a solution. My current suggestion was to

define only one Quoting Character inside the Grammar (an maybe that might be the \)
move the Configuration of Quoting Characters outside of the Grammar into the Abstract Parser or Parser Utils
there we handle/replace the Quoting Character BEFORE parsing and  after parsing.

And if you ask me, we should do the same for the squared brackets and any other phony stuff, because at least to me this looks terrifying:
{ if ( !configuration.getAsBoolean(Feature.allowSquareBracketQuotation) && matchedToken.image.charAt(0) == '[' ) {
         matchedToken.image = "[";
         for (int i=0;i<CCJSqlParserConstants.tokenImage.length;i++) {
            if (CCJSqlParserConstants.tokenImage[i].equals("\"[\"")) {
                matchedToken.kind = i;
            }
         }
         input_stream.backup(image.length() - 1);
       }
    }

And I also suspect that it might have performance implications.
Please let me know what you think about that kind of PRE/POST processing. I could easily implement that but only when you did not oppose to the idea.

Thanks for your insights! @manticore-projects
To temporarily fix this problem, I replace all \ with \\ before parsing the SQL and replace them back after the parsing process. Do you think this is a feasible workaround?

Yes, this was exactly what I have suggested to the @wumpz.
As kind of Pre-Processing and Post-Processing outside of the Parser
itself.
On Mon, 2021-05-24 at 21:06 -0700, Xingcan Cui wrote:

Thanks for your insights! @manticore-projects
To temporarily fix this problem, I replace all \ with \ before
parsing the SQL and replace them back after the parsing process. Do
you think this is a feasible workaround?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@manticore-projects To be honest I have no idea how you want to externalize this, since that would result in some kind of optional tokens. There was a huge discussion about this at least for square brackets  (#677). For this escaping you have to change token definition. So it would a great benefit to do it, but the only way I saw was this backup token thing you mentioned.

What I was refering to was to Modify the SQL String in Java before
handing it over to the Parser itself. Something like simple Prep-
Parser.
I do this for the Comments already.
So we would transform:
select 'a'
into
select 'a\'
then parse it.
But we would have to wrap a few Methods, such as Statement(),
Statements() and the Constructors() and this is the reason why I asked
if you are ok with that approach.
And also we would need to change all getName() methods of the Objects
and ensure returning the correct name (based on the requested Quoting
Character).
On Tue, 2021-05-25 at 15:33 -0700, Tobias wrote:

@manticore-projects To be honest I have no idea how you want to
externalize this, since that would result in some kind of optional
tokens. There was a huge discussion about this at least for square
brackets (#677). For this escaping you have to change token
definition. So it would a great benefit to do it, but the only way I
saw was this backup token thing you mentioned.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Ah. Ok. I get it. I was more referring to this bracket thing.
I prefer to build a correct parser. This kind of wrappers feels like a hack.

Ok, clear. So I won't waste my time.
Although I do not see a good solution then because onces your token is
defined you are stuck with it.
JavaCC21 seems to have implemented Context Sensitive Phony Tokens and I
also got our Grammar running on JavaC21. But I still have concerns on
the performance and the maturity of JavaCC21.
I would like to conclude on the outstanding PRs this week and slize
them into smaller pieces making it easier for you to digest.
Maybe you would like to release the 4.1 by June because the performance
fixes affect a lot of other applications (like DBeaver, Squirrel SQL).
And maybe then we would like to discuss if JavaCC21 was a strategical
option (compiling a Pros/Cons list).
On Wed, 2021-05-26 at 16:31 -0700, Tobias wrote:

Ah. Ok. I get it. I was more referring to this bracket thing.
I prefer to build a correct parser. This kind of wrappers feels like
a hack.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@wumpz,
I didn't get if there's an issue here or not.
Because, I'm able to successfully parse:
SELECT 'c c\', 'dd', 'ee\'

If you solved this in the past, could you, please, explain how was it achieved? A reference to the corresponding commit?

@wumpz,
I didn't get if there's an issue here or not.
Because, I'm able to successfully parse:
SELECT 'c c\', 'dd', 'ee\'

and also this
assertSqlCanBeParsedAndDeparsed(
			"INSERT INTO \"a\".\"b\" (\"c\", \"d\", \"e\") VALUES ('c c\', 'dd', 'ee\')"
		);

If you solved this in the past, could you, please, explain how was it achieved? A reference to the corresponding commit?

Let me elaborate on my own question: TokenManager is supposed to emit a result of the longest matching regex.
So, for example in:
SELECT 'c c\', 'dd', 'ee\'

that would be
'c c\', '

because ' is an escaped '.
So, please, explain how did you manage to persuade JavaCC to parse the above corectly?

@wumpz,
I didn't get if there's an issue here or not.

There is the issue, that '' is understood as escape character in JSQLParser, but not by the RDBMS.
(Similar to Regex and Java Strings, where you will always have to add a '' in the Java String, which won't be present in the original Regex.)

Because, I'm able to successfully parse:
SELECT 'c c\', 'dd', 'ee\'

Which version of JSQLParser are you using?
It is possible that you use a Version, which does not define '' as escape character yet.

If you solved this in the past, could you, please, explain how was it achieved? A reference to the corresponding commit?

It is not about solving anything, but about the introduction of a feature (which is escaping as per \). We could simply remove that feature, but then we could not escape properly anymore.
For a really good solution, we would make the escape character configurable (e. g. \ or '). Unfortunately that is not easy and never clean because of the nature of JavaCC and the way, how Token work. Once a Token is defined in the grammar it is final and the Parser will be generated with exactly this Token.

Could it be as simple as this, that you tried something like this:
assertSqlCanBeParsedAndDeparsed("SELECT 'c c\', 'dd', 'ee\'");

Here we have a single backslash escaping the quotation which results in a quotation. So the parser gets effectively
SELECT 'c c', 'dd', 'ee'

The problematic statement is
assertSqlCanBeParsedAndDeparsed("SELECT 'c c\\', 'dd', 'ee\\'");

where the parser indeed gets a backslashed quotation. And this statement is unfortunately not (yet) parseable.  Your understanding of the regular expression is right and it fails like this:
Call:	Statement
  Call:	SingleStatement
    Call:	Select
      Call:	SelectBody
        Call:	SetOperationList
          Call:	PlainSelect
            Consumed token: <<K_SELECT>: "SELECT" at line 1 column 1>
            Call:	getOracleHint
            Return: getOracleHint
            Call:	SelectItemsList
              Call:	SelectItem
                Call:	SelectExpressionItem
                  Call:	Condition
                    Call:	SQLCondition
                      Call:	SimpleExpression
                        Call:	ConcatExpression
                          Call:	BitwiseAndOr
                            Call:	AdditiveExpression
                              Call:	MultiplicativeExpression
                                Call:	BitwiseXor
                                  Call:	PrimaryExpression
                                    Consumed token: <<S_CHAR_LITERAL>: "\'c c\\\', \'" at line 1 column 8>
                                  Return: PrimaryExpression
                                Return: BitwiseXor
                              Return: MultiplicativeExpression
                            Return: AdditiveExpression
                          Return: BitwiseAndOr
                        Return: ConcatExpression
                      Return: SimpleExpression
                    Return: SQLCondition
                  Return: Condition
                  Call:	Alias
                    Call:	RelObjectNameWithoutStart
                      Call:	RelObjectNameWithoutValue
                        Consumed token: <<S_IDENTIFIER>: "dd" at line 1 column 17>
                      Return: RelObjectNameWithoutValue
                    Return: RelObjectNameWithoutStart
                  Return: Alias
                Return: SelectExpressionItem
              Return: SelectItem
            Return: SelectItemsList
          Return: PlainSelect
        Return: SetOperationList
      Return: SelectBody
    Return: Select
  Return: SingleStatement
Return: Statement

The real solution to this case would be to introduce a fallback. The parser should be preconfigured not to use this ' escape. Then parser (like for bracket quotation) should look into the token (<S_CHAR_LITERAL>: "'c c\', '" at line 1 column 8>) and if this escaping is not allowed should crop this literal (<S_CHAR_LITERAL>: "'c c\'" at line 1 column 8>).
Unfortunately there is no solution for both cases at the same time. I used (IMHO) the actual solution with the most succeeding cases (without counting).

@wumpz ,
Yep, I already figured that.
Had to print char-by-char in CharStream to discover single \ is not interpreted correctly.
I want to understand: is it correct what @manticore-projects says:

we would need to define an Parser Configuration Feature, which allows only one Escape character at a time (preferably ').

In this example:
SELECT 'c c\', 'dd', 'ee\'

Is the idea to tell in the config ' is no longer an escape for ' ?
Now, I came from the following case that didn't parse:
SELECT * FROM T WHERE t1 LIKE '' ESCAPE '\' AND (t2 = 'a')

I think the above config alone wouldn't help here either.
Once ' is allowed as an escape in tokenization - the above will fail.
On the other hand, we could contextually tokenize the char following ESCAPE in the grammar differently.
I tried to solve it, but it's different from this code, for example:
{ if ( !configuration.getAsBoolean(Feature.allowSquareBracketQuotation) && matchedToken.image.charAt(0) == '[' ) {
         matchedToken.image = "[";
         for (int i=0;i<CCJSqlParserConstants.tokenImage.length;i++) {
            if (CCJSqlParserConstants.tokenImage[i].equals("\"[\"")) {
                matchedToken.kind = i;
            }
         }
         input_stream.backup(image.length() - 1);
       }
    }

because this code is a part of TokenManager (with all the variables and methods in scope).
While I'm trying to do similar thing in the parser context:
    	...
    	<K_ESCAPE>
    	{
    	    	//...
    	}

Can you suggest how to solve it?

The idea was to:

Define one Quote Character (default maybe ')
to allow setting this Quote Character when calling the parser (as configuration) (so either \ or ' was the Quote Character)
to parse accordingly

The challenge is, that we would need to modify the Token based on this Configuration but that is not possible.
Inside a production we can use LOOKAHEAD for simple IF .. ELSE .. instructions. But there is no such thing for Token definitions, they are constants and the Parser will be built for these constants.

There are 2 alternatives:
a) 2 different Grammar definitions, one for Quote Character ' and one for \, then generate 2 Parsers and select the applicable one as per Configuration
b) use only one predefined Quote Charater in the Grammer like ' and replace the actually desired Quote Character in the SQL before and after Parsing
The same would apply for Statement Separator (if you do not want to use ;).

I tested a variant of your problem SQL with Postgresql:
SELECT * FROM T WHERE t1 LIKE 'test\m' ESCAPE '\'

Using this I could confirm, that the database looked for something like 'testm'. The escaping is in place But Postgresql does not parse this
SELECT * FROM T WHERE t1 LIKE 'test\'' ESCAPE '\'

Therefore at least for this database using Escape you are not able to switch escaping of quotes. To be honest I somehow expected that, because as you are describing one has to be context sensitive even backwards context sensitive to solve this which would make the parsing much more complex.
Switching the escape sequence in Postgresql is IMHO only possible using Posix styled string literals like
 SELECT * FROM T WHERE t1 LIKE E'test\''

This one at least could be tackled by a token definition.

So the question is, is this statement of yours with a quotation correct? For which database?
SELECT * FROM T WHERE t1 LIKE 'test\'' ESCAPE '\' AND (t2 = 'a')

So the question is, is this statement of yours with a quotation correct? For which database?
SELECT * FROM T WHERE t1 LIKE 'test\'' ESCAPE '\' AND (t2 = 'a')

SQL Server.
Like in this ticket, for example.

This is my hack:
    public void CommonTokenAction(Token t) {
		String STR = "\'\\\'";
	   	if(t.image.length() > 3 && t.image.startsWith(STR)) {
	   		input_stream.backup(t.image.length() - STR.length());
	   		t.image = STR;
	   	}
		t.absoluteBegin = getCurrentTokenAbsolutePosition();
		t.absoluteEnd = t.absoluteBegin + t.image.length();
	}

mostly works...
I think it should be further conditioned on a "parsing state" (which is not something provided by JavaCC as oppsed to lexical state).
For example, "we're now parsing ESCAPE char". I understand how this can be added, but, for now, it's good enough.
I'll be happy to have your comments on that.

Pavel,
thank you for your contribution. Although I am just an interested observer, please allow me to ask:

What does "mostly works" mean? What are the constraints?
What are the use cases where it fails?

Cheers!

For example, these now fail:
net.sf.jsqlparser.statement.select.SelectTest.testIssue167_singleQuoteEscape()
net.sf.jsqlparser.statement.select.SelectTest.testIssue167_singleQuoteEscape2()

To complete the solution (and allow the above to parse correctly) I would limit this solution to "parsing state" - in my case the state should say "we're now parsing ESCAPE char". An example solution is to have such a flag in parser and turn it on during LikeExpression parsing.

A little better version - to NOT fail the above mentioned tests. (Still no "parsing state" used).
    public void CommonTokenAction(Token t) {
		String STR = "\'\\\'";
	   	if(t.image.length() > 3 && t.image.startsWith(STR) && Character.isWhitespace(t.image.charAt(3))) {
	   		input_stream.backup(t.image.length() - STR.length());
	   		t.image = STR;
	   	}
		t.absoluteBegin = getCurrentTokenAbsolutePosition();
		t.absoluteEnd = t.absoluteBegin + t.image.length();
	}

@wheredevel This statement does not run on SqlServer
SELECT * FROM T WHERE t1 LIKE 'test\'' ESCAPE '\' AND (t2 = 'a')

for the same reasons like Postgresql. \' is not valid in SqlServer as well in standard string literals. Using escape you are only replacing the escape character for escapable characters :).
Therefore a complete solution seems to be:

to integrate an option to disable an escape single quote and then ala bracket parsing correct the accepted token. Since the used regular expression for our token accepts more or the correct length.
introduce a new quoted single character for escape, to insert a backslash without thinking it would escape something here

Tried this:
SELECT
  *
FROM
  sakila.customer
WHERE
  first_name NOT LIKE 'ID\\A' ESCAPE '\' AND last_name = 'ANDREWS'

Works on SQL Server.

@wheredevel  That's right, but you are not escaping a single quote. The problem here is to parse escape '\'. That's why I introduced point 2.

@wheredevel That's right, but you are not escaping a single quote. The problem here is to parse escape '\'. That's why I introduced point 2.

This is a legit query, it runs and produces results:
SELECT
  *
FROM
  sakila.customer
WHERE
  first_name LIKE 'IDA' ESCAPE '\' AND last_name = 'ANDREWS'

So, ESCAPE '' should be parsed here...

@wheredevel

The problem here is to parse escape ''. That's why I introduced point 2.

mostly works... :)

I don't know whether you're aware of this (maybe you are aware of it, but your comment shows no awareness of it...) but the CommonTokenAction disposition in legacy JavaCC is quite fundamentally broken. I explain this in gory detail here. The main reason is that it doesn't work in conjunction with LOOKAHEAD.
You see, when you're in a lookahead routine,, the tokens are cached in the token.next and token.next.next etc. fields so, when you're parsing whatever construct, it is quite possible that there was a previous lookahead routine that already tokenized the input a certain way. In such a case, these tokens are cached and your CommonTokenAction will simply never be called. The aforementioned article explains that and how this is resolved in JavaCC21.
That is the main problem with the legacy CommonTokenAction but another problem is that you can only have ONE of them!  In JavaCC21, you inject a TOKEN_HOOK method and it generates a unique name for it. So you can have as many of them as you want. Actually, that becomes a very big consideration in JavaCC21, because it has an INCLUDE directive. So if you include a grammarfile that already has a CommonTokenAction method defined, then there is a real first-order problem! Of course, that doesn't happen in legacy JavaCC for the simple reason that it does not have an INCLUDE directive!
In other matters, Pavel, after noticing that you starred the JavaCC21 project on github, and I wrote you an email at the address bp*****e(at)gmail.com. That was on April 18. Did you receive that email?

Hi Andreas. For a variety of reasons, I am a bit reluctant to weigh in on these things, because finally, what I can I say? People just have to figure out things for themselves, I guess... but in this case, finally, I feel like I have to make certain points about this.

But I still have concerns on the performance and the maturity of JavaCC21.

Andreas, based on my interaction with you over the last month, you're not a bad guy, but I have no choice but to point out that the above sentence embodies some outright logical fallacies. For starters, consider the old English homily about not looking a gift horse in the mouth. You know, in German: Einem geschenkten Gaul schaut man nicht ins Maul! Now, it's not my main point here, but I would say in passing that, even just on that level, if I've done all this work of fixing every outstanding issue that there is in the old crufty legacy JavaCC... and I have... then...  it's a gift, take it, use it, be happy... already, there is just that common-sensical level of things in the situation.
BUT that's not my main point even.... no, by all means... do look the gift horse in the mouth... But I would put it to you:
Irrespective of what you find when you look the gift horse in the mouth, can that ever justify a decision to hitch your cart to a horse that is DEAD!!??
You see, the implicit fallacy is just too glaring for me to let it slide with no comment. But there are also other problems here. One really does have to understand that legacy JavaCC and JavaCC 21 are not two different projects in the same way that ANTLR and JavaCC are two different projects. There is no technical reason for JavaCC and JavaCC 21 to be two separate projects. This state of affairs came about for entirely non-technical reasons -- specifically the intransigence and overall uselessness of the people sitting on the existing JavaCC project. I'm loath to repeat myself too much which is why I wrote the whole sordid history of the thing here.
So, the bottom line is that JavaCC 21 is simply a more advanced version of the legacy JavaCC project. So, to be talking about its "maturity" is really a bit much. However "mature" or "immature" it is, it is necessarily more mature than a more backward version of the SAME THING! And again, whatever problems you see when you look the gift horse in the mouth, that never is an argument for opting for a horse that is DEAD!
But it also seems like it's based on a conceptual confusion between something being "mature" and just being "old". A group of people, all born in 1996, are all of the same chronological age, but "maturity" is obviously another question. That varies. Drastically. The legacy JavaCC project was created in 1996 and developed actively for just a couple of years after that. The JJTree part is probably from the first half of 1997. And there just has not been a meaningful new feature since then! And I think it is pretty safe to say that no real development has taken place since 1998. Well, maybe 1999 at the latest... Regardless, it was basically abandoned in whatever half-baked state it was in until mid-2003 when Sun decided to open-source it. Unfortunately, the utterly wrong kinds of people took hold of the thing and nothing was ever really done. (No need to take my word for that. Just scan through their commit history.) JavaCC is kind of an archetypal nothingburger project.
In short, this is a project that yes, is old, but it is not mature at all! There is a period of a couple of years, maybe 1996-1998 in which it was actively developed and the real truth of the matter is that it never had a legitimate 1.0 release. For them to say that they are entering an 8.x release cycle is IMHO very hard to characterize as anything other than an outright fraud! If it was honestly labeled, the version number, when it was open-sourced in 2003, would have been about 0.3, and in the following 18 years, there has not been enough forward movement to justify taking it to 0.4. Granted version numbers are inherently arbitrary, but I think what I say basically stands...
So, to be expressing doubts about the maturity of a tool that is simply a more advanced version of that thing, that was NEVER mature in any real sense in the first place.... It's really a complete misrepresentation of what is really going on here.
Now, to be completely fair, it is correct to say that some parts of the current JavaCC21 codebase are immature. For example, the new machinery for generating fault-tolerant parsers could be described quite accurately as not very mature in the context of a comparison (or implicit comparison) with the legacy JavaCC, this is totally beside the point because this is functionality the legacy tool simply does not have!
And it never will. (You could bet your house that.)
Okay, so there it is. I feel I've said what needs to be said. But, in closing... cutting to the chase, as it were.... just consider the following question.
What is the use case for the legacy JavaCC?
And I mean technically speaking, of course. Why would somebody ever opt to use the legacy JavaCC in the full knowledge that JavaCC21 exists? Just for example, why would you use a version of JavaCC that only supports the Java language up to JDK 7 (10 years old at this point) in the full knowledge that there is a version available that is up to date with JDK 16. Or, as I just explained to Pavel Beckerman, how CommonTokenAction basically doesn't work in legacy JavaCC. (Well, sometimes, maybe... not really....) Why would you ever use the legacy JavaCC in the full knowledge that this is broken AND _in the full knowledge that there is a fixed version?
By the way, it should be needless to say, but when I pose the above question, I do mean based on real, legitimate technical considerations... For example, that there is some set of people who want to pretend that they're doing something and, for some mysterious reason, you don't want to hurt their feelings.... that would not count, in my view as a "legitimate technical consideration". You know what I mean... By the same token, something like "I don't personally know the guy but somebody told me that that Revusky guy is a real asshole"... that would not be a "legitimate technical consideration" either.
So I leave that question open to anybody who happens on this. It's not just for Andreas here.  I have to think that just trying to focus on that question, what is the real use-case for the legacy JavaCC, that might really just shed some light on the situation, no?

What does "mostly works" mean? What are the constraints?
What are the use cases where it fails?

My earlier response to Pavel explains the situation, I think. The general problem is that this CommonTokenAction hook doesn't really work properly in legacy JavaCC. I explain that in all gory detail here.
It's quite possible that this feature I just introduced could provide the most elegant solution to this. But at the risk of beating a now dead horse, I feel I should point out that, regardless of how mature this new feature is.... (Frankly, not very. I just implemented it a few days ago...) that's kind of beside the point.
If what it is addressing is something that is fundamentally broken in the legacy tool, like this CommonTokenAction disposition is, then really, the maturity of the functionality in question is kind of a moot point. Surely you can see that, can't you?
I'm sorry to be a bit heavy-handed on this, but this kind of thing does get my back up. Just imagine yourself in my shoes, Andreas. Really... You fix every longstanding bug in the legacy tool and somehow your fixes are not "mature" enough. Well, okay, sure... the bugs are plenty mature, I guess. (Though even that entails using the word "mature" in a rather screwy way!)

On Thu, 2021-06-17 at 12:36 +0000, Jonathan Revusky wrote:

what is the real use-case for the legacy JavaCC

Hi Jonathan,
I can answer only for myself: My use-case for legacy JavaCC is to get
the fastest possible generic SQL Parser for parsing SQL while editing.
This is the part where performance really hurts and my minimum
requirement is, that it parses faster than I can write the SQL code.
If I wanted to write a better parser, I would not use a Parser
Generator, but write a specific parser.
If I wanted to (re-)write the existing Grammar in a easier way, I would
go for ANTLR and sacrifice a bit of performance.
JavaCC21 eventually might provide me with a good trade-off, but during
my last tests the performance was not as good as it is with legacy
JavaCC right now and this diminished the benefit of having a cleaner
Grammar.
Think of it like a simple score card, where we put much weight on
performance and quite some more weight on continuity.
That said, I will re-run the performance tests again as soon as I have
a time and would reconsider as soon as it is fast enough for the near
time parsing.
Best regards
Andreas

Andreas, I really really hope you're not one of these.... I dunno how to put it... I'll say Monty Python argument shop skit kinds of guys. You know what I mean? These people who just love arguing for its own sake and will even wilfully misunderstand your point in order to keep arguing.  I'll refrain from saying his name, I guess...  (but his initials are MM. :-))

On Thu, 2021-06-17 at 12:36 +0000, Jonathan Revusky wrote: what is the real use-case for the legacy JavaCC
Hi Jonathan, I can answer only for myself: My use-case for legacy JavaCC is to get the fastest possible generic SQL Parser for parsing SQL while editing.

Andreas, what you're talking about doesn't relate to the question that I posed. This is not a "use-case" for legacy JavaCC. You see, modern computing is built on layers, right? The fact that you need an SQL parser and that this particular one, JSQLParser, seems like a good option... that's...  that's a use-case for JSQLParser or for an SQL parser generally, but it's not a use-case for legacy JavaCC. Because, for one thing...
Modern computing is built on layers.
Or here's another example. The open source software that I was the main author of that really made a hit is FreeMarker, still a very widely used template engine. I did most of that work about 2002-2004. So it was developed against JDK 1.4 mostly and the FreeMarker parser was created using JavaCC 2.1 or something.... (It doesn't even matter because there is no difference between the versions!)
Your reasoning is like, say, if somebody is in the market for a template engine and they like FreeMarker (it's still widely used out there!) and since FreeMarker was built using JDK 1.4 and JavaCC 2.1, therefore that person has a "use-case" for those things. But no, that's a ridiculous framing of the situation. In that instance, the person has a "use-case" for a template engine and possibly for FreeMarker specifically, but to say that he has a use-case for JavaCC 2.1 is really quite a distortion of the situation. Because.... again, Andreas...
Modern computing is built on layers!
You see, whether consciously or not (and I really hope it's not conscious) you're shifting the conversation in a quite tricky way onto a completely different layer, and thus, making a completely illegitimate argument.
So, yes, the FreeMarker template engine was built against JDK 1.4, and lots of other software was, much of which is still working quite well, but that does not mean, certainly not in this context, that there is currently, in 2021, a use-case for JDK 1.4! Well, you can believe that if you want, but Oracle does not. The oldest Java version which they support is JDK 8, from 2014. If you file a bug report against JDK 7, they're not really interested! Because you're choosing to use something that is obsolete and even a company like Oracle has limited resources. And, by the same token, that FreeMarker was built using JavaCC 2.1 or something is not at all the same as saying that there is currently a use-case for that.
Because there really just isn't.
Yes, there is a lot of perfectly good software out there that was built against libraries and runtimes and so forth, that are pretty clearly obsolete now. And that does not mean that the software is not useful as-is. And it also doesn't mean that those people in the day did anything wrong, because whatever they used was typically the state of the art when they were using it.

This is the part where performance really hurts and my minimum requirement is, that it parses faster than I can write the SQL code.

Well, first of all, parsers generated using either the legacy JavaCC or JavaCC21 simply tend to be blazingly fast. The Java grammar that is included with JavaCC21 can parse (with full tree-building and validation) all the code in the JDK 16 src.zip in about half a minute. That is 14,448 files. The average source file takes slightly over 2 milliseconds to parse. And, if putting it this way is clearer: that is well over 100,000 lines a second. Meanwhile, even the fastest touch typists only type about 10 keystrokes a second. That's very fast, 600 keystrokes a minute, maybe 120 wpm. I actually do type about that fast, but only in short bursts, because, believe it or not, I actually have to stop and think frequently when writing code! But even in these fast bursts, there is about typically 100 ms between keystrokes. This Java parser, on hardware that is nothing special, can parse over 10,000 lines of code in that time.
And there is really no reason that a competently written SQL Parser should be any slower than that. Or not very different. Not as far as I can see. In short, you have to be doing something really god-awful to not be able to keep up with a touch typist.
It shouldn't even be close!
And I already explained what is going on with this case. First of all, there is no very significant difference in performance between legacy JavaCC and JavaCC21. Both of them, unless you're really misusing them, tend to generate blazingly fast parsers. Because algorithmically, it's the same damned thing. It's the same recursive descent algorithm and one is not going to generate code with one that is very different in performance from the other. Maybe a tiny bit, but it's not going to be a very big difference.
Now, the specific case you're talking about is quite perverse really because it relates to a fix to a longstanding bug in JavaCC. I describe that here. JavaCC simply does NOT generate nested syntactic lookaheads. And that is clearly a BUG. You can see that because it does generate nested semantic lookaheads. There is no sensible basis to be generating nested semantic lookahead and NOT generate nested syntactic lookaheads. There is no conceivable argument for it. It's just a BUG!
So, the result is that these unbounded syntactic lookaheads that JSQLParser uses (or abuses) frequently have much more severe performance implications in JavaCC21 than in legacy JavaCC, because JavaCC21 is CORRECTLY generating nested syntactic lookahead.
 A fair comparison has to be apples-to-apples or oranges-to-oranges. You can't say that legacy JavaCC has some huge advantage in performance based on the fact that if you write something like:
    LOOKAHEAD(Foo()) Foo()

it runs faster because syntactic nested lookahead is ignored! It's like saying that somebody is a faster distance runner than another guy, but it turns out that the guy managed to avoid running the latter half of the race course!
Like, get a grip!
You're insistently framing the question as being that JavaCC21 has all these big performance problems based on this bug having been fixed! (That's really quite insane!) So, in this case, JSqlParser achieves all this extra speed by virtue (or vice maybe???) of a known BUG!
I mean, it's utterly perverse. You're essentially arguing that you have a use-case for legacy JavaCC because these nothingburger artists (how wonderfully prescient of them!) never fixed this bug! (Of course, they never fixed ANY bug! I guess, just to be on the safe side, eh?) But this is wonderful, because it allows what is frankly quite poorly written code to run faster than it would otherwise!
So, the first order problem here is that there is code in their system that relies on the presence of a certain bug in the legacy JavaCC tool! Aside from the fact that it is not very good software engineering (to say the least!) it really is just perverse to now lay that at my doorstep. You have a performance issue and it's my fault. Why? Because I fixed this longstanding bug.
So, I tell you, and I would hope you relayed this to the other people here, that I'm willing to help you get it all straightened out, but really, you do have to stop coming at with me with this nonsense. Because it is starting to get egregious. And it can just get too aggravating and I don't have much of an investment in the situation and could finally just walk away, figuring I have better things to do.
But getting back to the question at hand of whether there is a legitimate use-case for legacy JavaCC, I'm quite sure there isn't. In terms of these unbounded lookaheads on deeply nested constructs, this is something that this project would have to refactor properly anyway. At some point...  You can't really be building on top of something that is a known bug and then saying: "Look how fast our software runs".

If I wanted to write a better parser, I would not use a Parser Generator, but write a specific parser.

Well, that's your call, but you're now deviating even further from the question of whether there is really a use-case for the legacy JavaCC -- basically abandoned to rot for the last 20 years -- when there is a new version in which all the various issues are fixed! Just for starters, I am quite satisfied that, in the year 2021, there is not a use-case for a Java parser generator that only handles the Java language up to JDK 7 in the full knowledge that there is a more advanced version of the same tool that works with the current Java language.
And by opting to ignore the real work taking place in the space, not only is one cutting oneself off from the newer features that are already implemented, but also the newer features to come. Already there is a first-pass implementation of fault-tolerant parsing. I know that you know about that. It's not just that the legacy JavaCC cannot generate fault-tolerant parsers.
It never will.

If I wanted to (re-)write the existing Grammar in a easier way, I would go for ANTLR and sacrifice a bit of performance.

Well, that's fine, but it's likely to be more than just a bit! Well, actually, if performance is your sine qua non, I would suggest that you forget about ANTLR!

JavaCC21 eventually might provide me with a good trade-off, but during my last tests the performance was not as good as it is with legacy JavaCC right now

Well, yah-dee-dah, but the essence of the situation is that it's about the same work to switch whether you do it now or you do it later, so it's drop-dead simple that the better course of action is to do the switch now. Also, at a later point, you may not have my collaboration.
So, look, Andreas, you really have to stop this now. I have explained to you the situation now, more than once. There is not a significant performance difference between legacy JavaCC and JavaCC21. Well, granted, you're seeing one, but it's not based on a correct or fair comparison. The extra performance is spurious, because it's based on the presence of a BUG!

and this diminished the benefit of having a cleaner Grammar. Think of it like a simple score card, where we put much weight on performance and quite some more weight on continuity. That said, I will re-run the performance tests

Well, fine. Run as many performance tests as you want, but I'm giving you the straight dope here. I'm explaining the situation. AND I've always been quite willing to help you and to help this community get this all working properly.
This is a very one-sided relationship, you know. I'm giving you plenty and not getting much for myself in return. Well, fine, maybe you don't have to much to offer me right now.
Can you please do that? Is that too much to ask? Because if you're characterologically incapable of that, then...
Regards,
Jon

again as soon as I have a time and would reconsider as soon as it is fast enough for the near time parsing. Best regards Andreas

This is a very one-sided relationship, you know. I'm giving you plenty and not getting much for myself in return. Well, fine, maybe you don't have to much to offer me right now.

Totally my mistake, but no worries. I won't bother you any further so you can fully focus on your work and your more qualified users.
Let this thread/issue be on parsing Quoted Strings in the different SQL Dialects solely.

Quick test using H2:
-- Valid
select *
from dual
where 1 = ALL( select 1 from dual );

-- Valid
select *
from dual
where 1 = ALL( VALUES 1,2,3 );

-- Invalid
select *
from dual
where 1 = ALL( VALUES(1,2,3) );

This is a very one-sided relationship, you know. I'm giving you plenty and not getting much for myself in return. Well, fine, maybe you don't have to much to offer me right now.

Totally my mistake, but no worries. I won't bother you any further so you can fully focus on your work and your more qualified users.

Andreas, you really need to stop this kind of thing. It's really not a good thing, not a good behavior pattern.
Look, you're now insinuating something about me that has no basis in reality. For the record, I never said anything about you or any other user being "qualified". And I never would say such a thing because that does not even correspond to my whole way of thinking. You must be projecting your own inferiority complex.
Regardless, this kind of thing has a sleazy sort of feel to it, kind of makes my skin crawl.
I didn't really want to get into this conversation even.  I only entered the conversation because you were making some very bizarre misstatements. For me, the real tipping point in this was when you casually said you had "doubts about JavaCC21's 'maturity'"
Well, as I recall, you said that you had read the full history of this that I wrote. So, surely you understand that JavaCC21 (previously FreeCC when it was initially forked back 2008) is a more advanced version of the tool that these people already happen to be using! And it's the result of systematically fixing every well-known, longstanding bug in the abandoned legacy tool.
To be clear, generally speaking it is not invalid to question the "maturity" of JavaCC21 (or whatever thing.) BUT... when we're in a context in which the only real point of comparison is a far more backward of the very same tool... that's just.... And finally, it's very hard to interpret this generously. Anybody can look at the issues page on JavaCC21 and see that I was very responsive and helpful to you. After that, I don't think you should be here (or anywhere else!) spreading this kind of sleazy FUD. I can't turn a blind eye to this.
Back in my earlier run at open source, the FreeMarker days, I put my trust in some very low-quality, treacherous people, mostly I'm thinking of Daniel Dekany, a real back-stabber. I try to learn from the past and any sign that somebody is a treacherous backstabber, I intend to extirpate the problem very quickly this time round. So I just banned you from my world. But never mind. It's not really personal.
(Actually, the above is formulaic. It is personal.)

Let this thread/issue be on parsing Quoted Strings in the different SQL Dialects solely.


Respond with 404 to any unhandled internal request.

Fixes #36.

Thanks
On Tue, Sep 29, 2015, 10:18 AM Adam Tanner<EMAIL_ADDRESS>wrote:

Assigned #37 https://github.com/google/martian/pull/37 to @bramhaghosh
https://github.com/bramhaghosh.
—
Reply to this email directly or view it on GitHub
https://github.com/google/martian/pull/37#event-422139670.


[Feature]: .NET 6 support timeline?

Is there a timeline for .NET 6 support?

.Net 5 is going out of support soon in May 2022. We need to find what should we do with apps targeting .Net 5. Do we have to wait till March and SF 9.0 release?

The release notes of SF 8.1 had a key announcement:
Preview Added support for .NET 6.0 Service Fabric applications
I found out that the default .NET core actor template of SDK version 5.2.1363 uses net6.0 as target framework.
But I didn't see any announcement that net6 is officially supported.

.NET GA support is targeted for 9.0 release, but as previously mentioned you can test your .NET 6.0 apps now as we have preview support.

/unresolve
WTF?

"Starting Service Fabric 8.2, we will be building Service Fabric ASP.NET Core packages against .NET Core 3.1, .NET Core 5.0, .NET Core 6.0"
https://techcommunity.microsoft.com/t5/azure-service-fabric-blog/azure-service-fabric-8-2-first-refresh-release/ba-p/3040415
Is the SF team actually going to target net6.0, release templates that target net6.0, and NOT officially support net6.0?


ZXingBarcodeImageView shows on iOS but not on Android (Xamarin.Forms)

This piece of code for showing a QR code in a Xamarin.Forms app works in iOS but not on Android:
let barCode = ZXingBarcodeImageView(HorizontalOptions = LayoutOptions.FillAndExpand,
                                    VerticalOptions = LayoutOptions.FillAndExpand,
                                    BarcodeFormat = ZXing.BarcodeFormat.QR_CODE,
                                    BarcodeValue = foo)
barCode.BarcodeOptions.Width <- 500
barCode.BarcodeOptions.Height <- 500
mainLayout.Children.Add(barCode)

There's no error in the log, no exception thrown. Tried many heights and widths and different LayoutOptions to no avail. How can I debug this?

Thanks for reporting this issue!  Unforunately it took me way too long to respond 😭.  Sorry, I apologize!  Recently the source code for this project was completely refactored to modernize it.  Many PR's were included in this effort, and many bugs were hopefully fixed.  Please try out the latest 3.x series of NuGet packages (currently in prerelease).  To try and make the project more maintainable in my spare time going forward, I've decided to close all existing issues to start with a clean slate.  If you're still experiencing this issue on the newest version, please open a new issue with as much detail as possible.  Thank you for your patience and understanding!  Happy scanning!


fix fix leak in Level1Iteartor

_merge_next() and _normal_next() leak _cur_child when _cur_child->next() returns failure.

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.96 seconds
stream load tsv:          550 seconds loaded<PHONE_NUMBER>9 Bytes, about 129 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.0 seconds inserted 10000000 Rows, about 344K ops/s
storage size:<PHONE_NUMBER>1 Bytes

LGTM

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.2 seconds
stream load tsv:          537 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.1 seconds inserted 10000000 Rows, about 343K ops/s
storage size:<PHONE_NUMBER>0 Bytes


"NaN" issue with arcs

zebra_gcodes.zip

Thanks for reporting it. I'll have a look

May I have the original SVG?

Oh, thought I put it in the archive
zebra_svg_gcodes.zip

This is one of the problematic beziers. Seems impossible
<path d="M443 1265 C442 1265 440 1266 440 1265" stroke="#ff0000"></path>

A very rare error, difficult to catch, if it happens again, I'll write. I had only a couple of files like this, now I've lost track of which ones.

All right. Your zebra svg works properly now, I'm going to release


feat(query): add feature-flag on query-module

Please Refer : https://github.com/fabric8-ui/fabric8-planner/pull/2748
The above PR did not have the correct format for commit message and it got merged so I have created a new PR.

Ike Plugins (test-keeper)
Thank you @divyanshiGupta for this contribution!

It appears that no tests have been added or updated in this PR.
Automated tests give us confidence in shipping reliable software. Please add some as part of this change.
If you are an admin or the reviewer of this PR and you are sure that no test is needed then you can use the command /ok-without-tests as a comment to make the status green.
Your plugin configuration is stored in the file.

@divyanshiGupta Your image is available in the registry. Run docker pull quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2750 && docker run -it -p 5000:8080 quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2750 and visit http://localhost:5000 to access it.

@divyanshiGupta Your image is available in the registry. Run docker pull quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2750 && docker run -it -p 5000:8080 quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2750 and visit http://localhost:5000 to access it.

@divyanshiGupta Your image is available in the registry. Run docker pull quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2750 && docker run -it -p 5000:8080 quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2750 and visit http://localhost:5000 to access it.

@divyanshiGupta Your image is available in the registry. Run docker pull quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2750 && docker run -it -p 5000:8080 quay.io/openshiftio/rhel-fabric8-ui-fabric8-planner:SNAPSHOT-PR-2750 and visit http://localhost:5000 to access it.

/ok-without-tests

Hey @sanbornsen! It seems you tried to trigger /ok-without-tests command, but this will not have any effect due to insufficient permission. You have to be admin or requested reviewer or pull request approver, but not pull request creator for this command to take an effect.

/ok-without-tests


Add "Generate" hotkey

Firstly thank you for an amazing job!
In automatic 1111 we can start generation with Ctrl plus Enter.
Can you please add a hotkey?

There are hotkeys for the button on each tab. You should be able to see what the hotkeys are in the Menubar > Tools > Scripts.

thanks a lot!


Crashes on a Lilygo TBeam

Hi, i wanted to try the firmware on my Lilygo Tbeam (not exactly sure which version) with SX1262 radio and AXP192 charge controller.
I had to modify the firmware to allow being use with this board, however when i uploaded it, it was periodically crashing at "Set SPI Pins", bunch of error logs

and a discriminator 4 error (at set freq?)

after which the esp32 just reseted itself.
At first i was suspicious of my mods to the firmware, but after uploading a version for a different board (eg. ttgo-t-beam-v1_2_SX1262 which is using a different charge controller) i was still getting the same error, no matter what build env.
Any ideas,  perhaps i forgot to update something, but that should be possible with platformio handling everything.
Tnx

Hi
Can you post a picture of your board?
I have not seen a sx1262 module on a axp192 v1.1 board

Hello,
I had exacly the same problem with a standard Tbeam v1.1!!
This is was happened:
3 days ago I compiled the sources and installed it on a 1.1 board. All good.
The day after I tried the igate.
After that I tried to reinstall the tracker compiling the same source one more time (I pressed the V and then ->).
I noticed that Platformio updated some files.
As result this time the sources were compliled and uploaded like before but the board hangs on boot like described by ok9uwu.
I tried many times, also using another V1.1 board.
No way, both hang on boot.
In the same time both operate smooth with the igate fw (or other firmware like meshtastic).
In my modest opinion (I'm not a programmer) there's something related with an update of the platformio libraries that are used in the firmware...
Many thanks, 73!

but are your boards V.1.1 or V1.2?
please post picture of the boards (also that it clearly says SX1262)

Hello, I had exacly the same problem with a standard Tbeam v1.1!! This is was happened: 3 days ago I compiled the sources and installed it on a 1.1 board. All good. The day after I tried the igate. After that I tried to reinstall the tracker compiling the same source one more time (I pressed the V and then ->). I noticed that Platformio updated some files. As result this time the sources were compliled and uploaded like before but the board hangs on boot like described by ok9uwu. I tried many times, also using another V1.1 board. No way, both hang on boot. In the same time both operate smooth with the igate fw (or other firmware like meshtastic). In my modest opinion (I'm not a programmer) there's something related with a recently update of the platformio libraries that are used in the firmware... Many thanks, 73!

but are your boards V.1.1 or V1.2?
please post picture of the boards (also that it clearly says SX1262)

My boards (both) are 1.1. I haven't the boards now with me but I have the attached photo. As you can see they are provided with HDP14A that should be SX1278 based module in my understanding.
After the last programming it's rebooting continuously. To be honest I don't remember if it hang exactly in the same point of OK9UWU but I get "Guru meditation error" and it reboot after 2-3 sec.
As said, the first time (one day before) it was fine...

My boards (both) are 1.1. I haven't the boards now with me but I have the attached photo. As you can see they are provided with HDP14A that should be SX1278 based module in my understanding.
After the last programming it's rebooting continuously. To be honest I don't remember if it hang exactly in the same point of OK9UWU but I get "Guru meditation error" and it reboot after 2-3 sec.
As said, the first time (one day before) it was fine...

Did you upload the firmware and also the filesystem? When it reboots it is usually this.
Also when flashing in vscode you can see the serial output that helps a lot to debug

I think I upload "everything" (bad word, I agree) since I compiled your sources with "v" buttom and then I pressed "->".
I saw the continuous reboot because I connected the Putty terminal to the board (I could use the platformio terminal).
Moreover since it was continuosly rebooting the display was dark.  In the previous compilation everything were good (no reboot and display ok).
In this moment I dont have the boards with me and I cannot indicate the exactly point were the boot hangs. I'll update you in two days as I can reconnect the boards to the terminal.
Thanks 73, IU5JPC

![IMG_20240501_005924](http

s://github.com/richonguzman/LoRa_APRS_Tracker/assets/61870387/6181ff84-68eb-4b89-8ee7-427511baae5e)
I believe mine is v1.1 aswell (and yes the board went to the hell and back with mods and whatnot).
I know that it's SX1262 for sure because i was using this exact board for some experiments with Jan Gromes' RadioLib.

Well, github managed to mess the second one up, let me upload it again.

Well, github managed to mess the second one up, let me upload it again.

was is with the soldering of the lora module? was it changed?
i dont know if I have seen an V1.1 board with SX1262 yet...
but before all of this, I need confirmation that when installing it all you uploaded the two steps  (firmware and then filesystem)

Hello again!
Now I understand (!!), in my case the second time I programmed the boards, as you suggested, I missed to upload the filesystem (!) as I pressed only 'v' and '->'.
I have to check with the boards but 99.9% the problem is this one! Sorry for the mistake.
I'll follow up as I can check this on the board.
In the meantime apologize for the mistake and thaks for the support!
IU5JPC

Okay, yeah this works.

Could've occured to me earlier but oh well.
Uploaded the "ttgo-t-beam-v1_2_SX1262" env as thats closest to what i have onboard, just different battery managment chip. I can hack around it but i don't think i'll be able to add it to all the state machines i saw in the source code (i will try though).

on platformio.ini change the details of this board from HAS_AXP2101 to HAS_AXP192 and maybe this is all what's needed

I believe there is more than that from when i tried it 5 days ago, because some ifdefs take the board env and some take in the the chip declaration, seamlessly trying to use both chips at once.
Anyway, i'll try it in a bit and report back.

Hello,
all good from my side.
This time I uploaded both firmware and filesystem on the two board I have and both operates smooth! ..the reboot cause was the missed filesystem...
Many thanks for your support,
see you once on HF (or aprs!)
IU5JPC


Miner knockback ability is too powerful

What you were trying to do
When playing as the Imperial Small ship, I was attempting to attack a small miner ship.
What actually happened
The miner's knockback ability sent both ships flying apart at an absurd speed. My ship got completely crushed by a collision with a nearby asteroid.
How to reproduce

Encounter a miner ship in the wild (try near an asteroid belt).
Attack the ship until flaming but do not destroy it.
The miner ship should attempt to use its ability. If the ship doesn't do it at first, try finding another ship instead.

Game version
develop
Log details
No response
Operating System
Windows
Additional Info
You can find the knockback settings for the small miner ship here.
https://github.com/MovingBlocks/DestinationSol/blob/fa2a67e059b8bbd6d7a25836d04d999ffb0b860b/modules/core/assets/ships/minerSmall/minerSmall.json#L5-L9
I don't think it's related to this though. The force applied seems different when flying a larger ship instead. I suspect that the issue may be caused because we're not scaling the knockback force by the player ship's mass.
https://github.com/MovingBlocks/DestinationSol/blob/fa2a67e059b8bbd6d7a25836d04d999ffb0b860b/engine/src/main/java/org/destinationsol/game/ship/KnockBack.java#L83-L87

I've been testing this in some older (pre-2.0) releases and the ability seems quite strong even then. It's certainly too strong in 1.5.0 and has quite an effect still in 1.1.0. This makes me wonder if this is really a bug at all? The knockback code doesn't really seem to have changed since the game's initial source release.

This is what happens:

I think it's a bug. The fix is included with the new tutorial.


README: example about multiple middleware

hi 👋
if useful, I suggest to add to the README file a simple example about the possibility to chain multiple middleware.

Hi @mrddter, thank you so much for this collaboration. Will merge and release ASAP.


Update asset.md to show public assets path in examples

This shows that you still need to put the path from public to the assets folder in your html with the asset extension providing the rest

Nice, good catch.


Deficits do not seem to occur in households when expected

When I open a blank nl2019 scenario, I set the condensing combi boiler (gas) to 100% for households.
I can get the demand curve of apartments before 1945: FEVER_DEMAND_CURVE(V(households_useful_demand_for_space_heating_apartments_before_1945)). The maximum value of that curve is 3006 MW demand in a single hour. With the number of units set to 540698, the maximum demand of single residence is 5.56 kW.
I would therefore expect deficits to occur when I set the heat_output_capacity of the households_space_heater_combined_network_gas to 5.5 kW or lower in the dimensioning section: https://beta.energytransitionmodel.com/scenario/demand/households_heating_order/capacities. However, if I set the relevant input households_heater_combined_network_gas_heat_output_capacity to 5.5 kW, no deficits appear in the deficit table. Only when I set the capacity to 5.0 kW, deficits appear:

This is relatively close to what is expected, but I'm still wondering why this difference occurs. During testing we also encountered an example where the difference was larger, but I can't reproduce it now. Maybe @redekok knows when this occured?

During testing we also encountered an example where the difference was larger, but I can't reproduce it now. Maybe @redekok knows when this occured?

I thought I did but I'm not able to fully reproduce this bug. When maximally installing air-sourced heat pumps and increasing the typical useful demand values to 500 kWh/m2 for each category, barely any deficits occur. Changing the installed capacity per heat pump unit doesn't change anything. I think it was a variation on a scenario like this.

The households_space_heater_combined_network_gas has its defer_for property set to 4. Roughly meaning it has 4 hours to catch up with any deficit that occurred. So it does not surprise that there is this small difference from 5.5 to 5.0 to when we really see the deficits.
Or is there more to investigate that I'm not seeing?

Ah interesting, I thought we were gonna drop that attribute. @mabijkerk what are your latest thoughts on the defer_for attribute?

Thanks for pointing this out @noracato! I also thought that we would drop that attribute. I suggest to set the defer_for to 0 for all heaters.
This still produces an unexpected result though. In a blank nl2019 with the combined gas combi-boiler set to 100% and defer_for to 0, the detached houses from before 1945 begin to get some deficits from a heat output capacity of 5.8 kW. The capacity below which deficits are expected to occur lies at 5.5 kW though:
DIVIDE(
  MAX(FEVER_DEMAND_CURVE(V(households_useful_demand_for_space_heating_detached_houses_before_1945))),
  V(households_useful_demand_for_space_heating_detached_houses_before_1945,number_of_units)
)*1000

5.466262439750358


WFLY-18625 CVE-2023-44487 Upgrade Netty to 4.1.100.Final

https://issues.redhat.com/browse/WFLY-18625
https://access.redhat.com/security/cve/CVE-2023-44487

Thanks @pferraro, @rhusar and @jamezp


Optionally return timestamp and frame sequence from the Capture method

Hi!
I'm working with a multicamera setup and my application needs a certain level of synchronization between frames from individual cameras. My cameras have a hardware synchronization feature but as captures are done in separate threads I need access to the sequence and timestamp of each frame to group them into synchronized chunks.
It is possible to take timestamp and sequence fields from v4l2_buffer if I use v4l2Camera class from this repository, but it looks like it is going to be deprecated in favor of gstCamera which provides a convenient videoSource API.
Are there any plans or workarounds to provide the aforementioned functionality for gstCamera?
That sounds like a good idea, but I cannot find any similar issue. Am I the only one who needs a timestamp to be returned together with the image for further alignment/synchronization? :)
Best regards,
Alex

I agree, this would be very useful!

Do you have any news about this? I'm working on something similar (RealSense camera with depth data to be processed on CPU)

@Stack-it-up after you do videoSource::Capture(), you can use videoSource::GetLastTimestamp() and it will give you the timestamp of the image that it just returned.  These timestamps are pulled from the incoming GStreamer buffers here.  When using a v4l2src, I'm not sure where GStreamer gets them from, whether it be the v4l2_buffer or somewhere else internally.
If you are using Python with cudaImage, you can use img.timestamp and it will give you the same timestamp.

thank you @dusty-nv  : I think I will try this as a fallback since I noticed that directly pulling the frame from the rs2::pipeline and then "copying" the data to some cudaMallocManaged buffer seems to be faster than using the actual Gstreamer pipeline.


Add Crystal::System.panic

Prints a system error message on the standard error then exits with an error status. Raising an exception should always be preferred but there are a few cases where we can't allocate any memory (e.g. stop the world) and still need to fail when reaching a system error.
Extracted from #14729

I'm wondering if we could simplify the implementation a bit? The code seems to be mostly identical across platforms with the only difference in retrieving the error message allocation-free.
Perhaps we could extract this for Errno and WinError (WasiError.message already does not allocate).
Some APIs on Windows return Errno, so it might make sense to have a fixed API like SystemError, accepting any system error value (Errno | WinError | WasiError).

@straight-shoota You're right. I thought I couldn't abstract a method without allocating... but all I had to do was yield. The method also takes an explicit Errno|WinError|WasiError param. That simplified the panic method a lot.
Note: a follow-up PR will introduce strerror_r (thread-safe) instead of strerror (thread unsafe) when available.

Why is this under the Crystal::System namespace?
Some languages like go have panic way more accessible.

It's a low level primitive for stdlib implmentations. It's probably not very practical for user code. Error handling is usually intended to work with exceptions. And .abort is a similar method for exiting directly with an error message.

That makes sense.  Thanks for the explanation.


Backup: Create a multi-threaded backup

OrientDB executes backups by using a single thread implementation (class OZIPCompressionUtil.java). We could easily use the features of JDK7 to create a multi-threaded zipper by following the examples contained here:

http://www.pixeldonor.com/2013/oct/12/concurrent-zip-compression-java-nio/
http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/zipfilesystemprovider.html

Hi @lvca those approaches use Java 7 API, but 2.2.x version is based on 3.0 API should we move this issue to 3.0 version ?

Wasn't 2.2 based on Java7?

No , Java 6  from, https://github.com/orientechnologies/orientdb/blob/master/readme.txt "OrientDB needs Oracle Java JDK version 6 or major to run the Server. "

Nope 2.2 is still java 6, otherwise we could have used a lot of nice features of java7 like try(closable){}

Ok , I move it to 3.0 version.

Unfortunately, Java 7+ zip file system compresses files into memory and writes compressed buffers from memory to disk on the file system shutdown. That may lead to OOM for large file sets and/or files. There is an undocumented option to use temporary files instead of memory, but still, that is not satisfactory, the temporary files consume disk space and disk IO overhead is doubled. Also, there is no way to control the compression level of the resulting zipped files.
Closing for now.


fix: CONSOLE_URL_TASKLOG for prod integration-service

Fix the typo in the environment variable definition.

/test appstudio-e2e-tests

/retest


Enhancement - Add export and import of installed packages

I want to add an export of installed packages in JSON format so that you can save it and import and install those packages on another machine.
Suggested enhancement:
Allow the option to generate Boxstarter URL for selected packages as well.

What do you think of the following:

This simply generates a packages.config file, in the following format:

Which contains all of the currently installed packages.
If people are happy with this, we can look to extend this to include the ability to generate a chocolatey package with all the currently installed packages as dependencies, and create a boxstarter script that will have all entries as a single command.
Thoughts?

I am going to break this issue into two, one for export, and one for import.


No Data to Export Should Inform User / Not Generate Report

Description:
When I choose to generate a report, if there are no values found then an empty report should not be generated and I should be informed on the frontend that the report is empty and not needed.
The user doesn't see that a report is empty unless they download the report and open the spreadsheet (and find there is no data). This could be applied to Variance or Missing.
Acceptance Criteria:
Given I am an A&R user
When I choose to generate a report
Then when there's no data, the UI tells me and does not create an empty report (and it prevents me from downloading an empty report).
Development Checklist:

[ ] User can still attempt to generate a report
[ ] When there's no data to generate a report, the user is told on the frontend
[ ] No report is generated on the backend

Definition of Ready (Note: If any of these points are not applicable, mark N/A)

[ ] User story is included
[ ] User role and type are identified
[ ] Acceptance criteria are included
[ ] Wireframes are included
[ ] Design / Solution is accepted by Product Owner
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

Definition of Done

In progress:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] UI meets accessibility requirements
[ ] Unit tests are written
[ ] Work is traceable in GitHub
[ ] PR linked to ticket number
[ ] If needed/required - Dev adds flag/label to highlight any migration steps necessary prior to PROD deployment

Code review:

[ ] Code is peer reviewed and has passed CI/CD tests

QA:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Code is potentially shippable to the production environment
[ ] Functional features have been tested and passed by QA
[ ] UI components tested by designer
[ ] Code is deployed to PROD when moved to 'done' column (unless requested otherwise by PO)

PO Review:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Reviewed and approved by Product Owner

Notes:

Hey @manuji this is ready to be moved to TEST now!
This is just that nice-to-have change that you had mentioned, which Nicole and Sally had agreed would be good to add. If there's no data to export the backend won't create a document/upload it to S3, and the frontend will now make note for the user and show 'No data - no report generated'.
Note that it's currently just for the Missing Export as I didn't want to step on the toes of @meredithom's changes coming in #254, but it should be pretty easy to add once that's done 😄

@davidclaveau is this one ready to be tested or is it waiting on a piece from #254 ? cc @manuji

Hi @Dianadec , this is ready for QA and I will update the status of this today as well. My apologies for the delay.

Tested on TEST: Passed

Verified that this task has been implemented and working as expected.
Passing to PO review.

Tested on TEST: Passed

Verified on TEST by going to export report, selecting FY 2019-2020 and searching for Strathcona Park.
Exporter status: 'No data - no report generated'.

Thanks so much @davidclaveau !


Display place details component full-screen mode WIP/need help

Issue Number:
#182
Issue Description:
Developing a component which will represent details of a particular place in full-screen and part-screen modes
Summary of solution:

This is only a full-screen mode almost completely styled.
Passing place_id of a searched place from client/src/components/Search/index.js to this component was made through callbacks and props.

Can this issue be closed?
No, it does not cover the issue completely
Should any new issues be added as a result of this solution?
There are two possible issues:

As we discussed in the issue itself, there probably a need for parsing response from google's API in order to it to be more convenient to use it in the front-end ( I can open it if it's still relevant).
Response from back-end includes photos array which in turn contains objects with properties html_attributions and photo_reference. And, according to place details api docs, there should be another request made to obtain a photo (description under photos[] array), but I probably got it wrong. Simple usage of html_attributions property as src for <img/> didn't work.

I've got a couple of questions again, so can you please answer them?

As I understand, there is no currently a component for getting directions to a particular place? I put kind of a placeholder for that as I don't know what to do there.
I failed to run ESLint, it exits with an error like

ESLint couldn't find the plugin "eslint-plugin-jsx-a11ly". This can happen for a couple different reasons:

1. If ESLint is installed globally, then make sure eslint-plugin-jsx-a11ly is also installed globally. A globally-installed ESLint cannot find a locally-installed plugin.

2. If ESLint is installed locally, then it's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

    npm i eslint-plugin-jsx-a11ly@latest --save-dev

I tried reinstall eslint and the absent plugin and I don't have any of them as global packages, I also deleted node_modules directory and reinstall everything again, with no success. Should I ask about it in their repo?
EDITED
I don't know why it happened, but there are a lot of commits which don't belong to me in this PR. How can I fix that?

@turisap The extra files/commits are the result of pulling from upstream master, We are using the development branch as our default so you should pull from there to update your local copy eg. instead of git pull upstream master use git pull upstream development
I checked your repo and your development branch is clean it is just this feature branch that you pulled in the unwanted files (the main difference being the dist folder in the root) so the easiest solution would probably be to just create a new branch from development and copy over your changes then delete this current branch. I can talk you through the options on slack if you need further help.

@motosharpley, thank you for your answer and sorry for this silly thing I've done. I'll try to fix it in the way you suggested.

@turisap no worries it is an easy thing to do and it is common for tutorials to tell you to pull from master to update your branch. In addition all those dist files were really just a hack I was using to get the project deployed to production in a time pinch while I finished getting things configured. Now that I have everything set up pulling from master wouldn't cause this problem It was just lucky timing I suppose 😸


Ctrl+Backspace does nothing

But should delete a word (should delete from cursor to Ctrl+Shift+Left selection)
Ctrl+Delete as well

I am looking to replace Netbeans editor with this one: https://github.com/bobbylight/RSyntaxTextArea
I think it has such action by default

This action is implemented in new editor


Cant find a way to write e2e tests while using this... Is there an example or a way?

I need to write e2e for an angular app with anguar2-virtual-scroll... But I need a way to write e2e's... Can anyone point me to an example or a way to write it

@Mohendran, can you elaborate the issue you are facing with writing an e2e tests while using angular2-virtual-scroll?

@rintoj Iam getting values from the api and using infinite scroll methodology.... Iam getting 100 values per api call.... But Iam viewing 10 rows of data.... (I can understand the reason why, 10 rows of data are present in the dom).... But In my e2e tests, I want to access all the data present... How do I accomplish this... Or should I follow any other logic...?

@Mohendran, The whole point of virtual scroll is to render minimal number of dom elements while rendering a list of large number of elements. So I think your test cases must reflect this. However if you want to access all of the data, you must scroll down through list and see if all of that is present.


[#382] Add build action for PRs

Ccache can be removed if we want a clean build every run.

After thinking about this a little more, making sure the project compiles correctly is more important than the amount of time taken to build it.
Let's remove/disable ccache for now.

On PRs is good. See irods/irods for reference.

I'll take out cache and put in a separate draft so we won't forget about it

On PRs is good. See irods/irods for reference.

In that case, only thing to do is remove cache. Already only acts on PRs.

Also, needs an issue number. Seems good overall

Looks like you've done it.
Please squash to two commits.

See if you like the simplified version. If you do, we can keep that, otherwise, can remove the last two commits and squash then.

All checks passed. Squash it.

Squashed.

Going to change [_382] Add build to github action to [_382] Add Ubuntu builds to github action

Pounded.


Adjust typescript-eslint to not warn about typedefs when used before defined

The new ESLint TS rules are a little cumbersome for typedefs. We have 100s of places where we do things like the following as we like to have our types declared at the top of our files.
export type AppProps = ReturnType<typeof mapStateToProps> & typeof mapDispatchToProps;
export const mapStateToProps = (state: RootState) => ({  initialized: state.initialized });
export const mapDispatchToProps = { initialize };

Making the changes here in local eslint-config-react-app/index.js fixes the warnings for TS(X) files.

Thanks for the PR!


pystac_client ConformanceError

Following Reading Data from the STAC API
I hit a ConformanceError raised by pystac_client. Apparently "must contain one of the following URIs"

https://api.stacspec.org/v1.0.0-beta.1/core
http://stacspec.org/spec/api/1.0.0-beta.1/core.

from pystac_client import Client
catalog = Client.open("https://planetarycomputer.microsoft.com/api/stac/v1")

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\smurphy1\Miniconda3\envs\mpc\lib\site-packages\pystac_client\client.py", line 98, in open
    catalog = cls.from_file(url)
  File "C:\Users\smurphy1\Miniconda3\envs\mpc\lib\site-packages\pystac\stac_object.py", line 496, in from_file
    o = cls.from_dict(d, href=href)
  File "C:\Users\smurphy1\Miniconda3\envs\mpc\lib\site-packages\pystac_client\client.py", line 134, in from_dict
    catalog = cls(
  File "C:\Users\smurphy1\Miniconda3\envs\mpc\lib\site-packages\pystac_client\client.py", line 68, in __init__
    raise ConformanceError(
pystac_client.exceptions.ConformanceError: API does not conform to {ConformanceClasses.STAC_API_CORE}. Must contain one
of the following URIs to conform (preferably the first):
        https://api.stacspec.org/v1.0.0-beta.1/core
        http://stacspec.org/spec/api/1.0.0-beta.1/core.

Steps to reproduce

Create a new conda environment in Windows
pip install planetary-computer
pip install pystac-client

Versions
Python 3.9.6
pystac-client      0.1.1
pystac             0.5.6
planetary-computer 0.2.2

Sorry about that, comes from your versions of pystac and pystac-client not supporting pystac 1.0 yet. See https://github.com/microsoft/PlanetaryComputerExamples/issues/48#issuecomment-880602596.
pystac 1.0.0 was just released STAC 1.0 support, and pystac-client should be coming in the next day or two.


Fix bugfix-release.sh behavior when there is nothing to release

Changes
./tekton/bugfix-release.sh: line 17: return: can only `return' from a function or sourced script

It should be exit instead :)
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[ ] Has Tests included if any functionality added or changed
[x] pre-commit Passed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/kind bug
/approve


Ambiguous redirect

After trying to run ./prowler -r us-east-1 -M csv
I am getting:
./include/csv_header: line 16: ${OUTPUT_FILE_NAME}.$EXTENSION_CSV: ambiguous redirect
and this error is the same of all the checks.
there is not csv file created in the output folder.
I tried with profiles, configure and also SSO.
getting the same with a fresh Ubuntu installation and my MAC.
I tried:
https://github.com/prowler-cloud/prowler/issues/828
and
https://github.com/prowler-cloud/prowler/issues/809
Please can you help me to check this error?

SOLVE!! the proper jq instalation.


Unable to cleanly add additional MVC configuration in ConfigureServices

Hi,
I have need to add additional controllers and views to STS.Identity but since ASP.NET Core support controllers and views in separate library I went that route. I have created new library, added my controllers and views and created an extension method to register everything in STS.Identity but  IMvcBuilderis not available in ConfigureServices.
Usualy it's normal that IMvcBuilder is available in ConfigureServices since AddConttrollersWithViews is called in ConfigureServices.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();
        }

But, since it's moved to StartupHelpers.AddMvcWithLocalization and that method returns void it's not possible to change just Startup.ConfigureServices and add extension method.
I will create PR that fixes that so there is no need to change StartupHelpers to get to IMvcBuilder.

Thank you @skoruba


Make day header clickable.

Make day header clickable. Add support to select all days in a column inside a month when user selects the day on the header.

This sounds like an excellent addition. I want to check it out before I merge it, will try to get that today.
In the mean time can you please put those trailing spaces back into the readme? They were there on purpose, that's how you do a carriage return in markdown.

Got a chance to look at it. Excellent addition, thanks for this.

Glad to know you like that feature. You're welcome.

This is now released in version 0.6


For #617 - Updating dashboard data fetch endpoints for new report directory structure

This looks fine. I have a minor quibble about naming. The string mlx.hpc.uio.no is not a path, it is the canonical name of the cluster: ml is just an abbreviation. It is true that the canonical name is being used as a path, but since you're calling this the CLUSTER_INFO structure it may be appropriate to call that field something else. Your call.

Yes it make more sense to use name canonical rather than path.
Thanks for the feedback.


Admin tools for deleting task and restart shard

Coverage increased (+0.2%) to 66.966% when pulling 2fcbee5e58e1d46257bbcbfc909045a491114ac7 on admin_toolswq into 05b4197f91a9e5fd43b2bdfa31ec948a485850ba on master.


Unexpected message order in consumer

I have observed unexpected message order in consumer stream after upgrade to CE 3. Problem is replicated in following example https://github.com/retriku/fs2-rabbit/blob/master/examples/src/main/scala/dev/profunktor/fs2rabbit/examples/AckerConsumerWrongOrderDemo.scala which is run by https://github.com/retriku/fs2-rabbit/blob/master/examples/src/main/scala/dev/profunktor/fs2rabbit/examples/IOAckerWrongOrderConsumer.scala
Note that consumer behavior in previous major release 3.0.1 is working as expected.
This issue blocks us from upgrading to CE 3.

I created small repo to show this better: https://github.com/retriku/fs2-topics/tree/fs2-rabbit

run docker-compose up -d
to run against fs2-rabbit 3.0.1 use  sbt '; project fs2v2; run'
to run against fs2-rabbit 4.1.0 use  sbt '; project fs2v3; run'

Fixed in version 4.1.1


Update Initialization phase documentation

synchronization_state doesn't properly reflect that if a failover occurs and the state is 4 - Initializing that the database cannot be started. adding 1 word to math the 3 - Reverting phase

@tkrussy : Thanks for your contribution! The author, @MikeRayMSFT, has been notified to review your proposed change.

@tkrussy - thank you!
#sign-off


Illogical error message when asking using Seq.item 0 on an Empty Seq

@cloudRoutine
Repro steps
Build master and then open FSI and type
Seq.item 0 (Array.zeroCreate<int> 0)
Expected behavior
The error message should say seq was short by 1 element.
Actual behavior
The error message is seq was short by 0 elements, which makes no sense since that should mean the sequence had enough elements.
Known workarounds
None
Related information

see https://github.com/Microsoft/visualfsharp/pull/1818


docs::Fix readme compilation building docs links (Issue #333)

Title: Fix Broken Links in README
Description:
Resolved Issue #333 by updating non-functional links in the README to the documentation and compilation guides.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (0bbc251) 98.82% compared to head (69c8f0c) 98.56%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #340      +/-   ##
==========================================
- Coverage   98.82%   98.56%   -0.26%
==========================================
  Files          47       47
  Lines        3143     3143
==========================================
- Hits         3106     3098       -8
- Misses         37       45       +8

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Please rename docs file to compilation instead of complilation

gotcha, that's a typo!! i'd fix it


Frontend Project "The coffee house" Homepage Button Design Enhancement

Title and Issue number
Frontend Project "The coffee house" Homepage Button Design Enhancement
Close #3406
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md

@MohitGupta121 Kindly review this PR.