[SPARK-27440][SQL] Optimize uncorrelated predicate subquery

What changes were proposed in this pull request?
This PR is trying to optimize uncorrelated predicate subqueries(InSubquery, Exists).
Currently, we rewrite all the predicate subqueries(InSubquery, Exists) as semi-join/anti-join. But uncorrelated predicate subquery can be evaluated using a subplan instead of a join. We can firstly  optimize the subquery and then compute it using a subquery physical plan.
This PR adds a new Optimize rule: RewriteUncorrelatedSubquery.
This rule rewrites uncorrelated PredicateSubquery expressions such as Exists(it can also be used for ANY/SOME/ALL). We can use limit 1 and select 1 after the Exists subquery to reduce the result set.
Also, this PR adds physical plans of 'InSubquery' and 'Exists'.
How was this patch tested?
ut

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

cc @cloud-fan @maropu @dongjoon-hyun

ok to test

Test build #104514 has started for PR 24344 at commit c6c6ca8.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9841/
Test PASSed.

Test build #104514 has finished for PR 24344 at commit c6c6ca8.

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

Merged build finished. Test PASSed.

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

Hi,
I'm back with some ideas. I have not found any SQL system that implements the conversion. But IMO, this method still can be used with some restrictions.
I think the question we need to pay more attention to is that EXISTS is not nullable while IN could be null when using NOT IN (subquery with nulls). Remember our goal is to avoid collecting all rows of the subquery's result or using a join. Instead, we need to push the outer condition into the subquery  (e.g. a in select b => where a = b).
In conclusion, we can have three cases here:

For uncorrelated EXISTS(subquery), we rewrite it as EXISTS(select 1 from ... where ... limit 1)
For uncorrelated a IN(select b ...),  we rewrite it as EXISTS(select 1 from ... where a = b and ... limit 1)
For uncorrelated a NOT IN(select b ...),  we can define an aggregate function agg (not sure about the name) here.  It is initialized with false , returns null if there are nulls in the rows, and returns true if the result set is not empty and has no nulls. Then we can rewrite the subquery as a scalar subquery: NOT (select agg(b) from ... where (a = b or b is null)).

I'm not sure whether this method is right, corrections are truly welcomed!

how about (a, b) in (select c, d ...)? How do we convert it?
If there is no other SQL system doing it, maybe it's simpler to create the phyiscal plan for non-correlated IN?

how about (a, b) in (select c, d ...)? How do we convert it?
If there is no other SQL system doing it, maybe it's simpler to create the phyiscal plan for non-correlated IN?

It is similar to the correlated one, converted as EXISTS(select c, d from ... where a = c and b = d).
If a physical plan for IN is satisfying, I'm ok to do that.

where a = c and b = d is different from where (a, b) = (c, d) when some values are null. We need to be careful about it.

I remember that for InSubquery, we do not distinguish NULL from FALSE subquery results currently.  Here is an example:
We have two tables:
scala> spark.sql("select * from t1").show()
+---+----+
|t1a| t1b|
+---+----+
|  1|   1|
|  2|null|
+---+----+

scala> spark.sql("select * from t2").show()
+---+----+
|t2a| t2b|
+---+----+
|  1|   1|
|  2|null|
|  3|   3|
+---+----+

Then the query:
scala> spark.sql("select * from t1 where (t1b in (select t2b from t2)) is null").show()
+---+---+
|t1a|t1b|
+---+---+
+---+---+

If we test this in Postgres:
test=# select * from t1;
 t1a | t1b
-----+-----
   1 |   1
   2 |
(2 rows)

test=# select * from t2;
 t2a | t2b
-----+-----
   1 |   1
   2 |
   3 |   3
(3 rows)

test=# select * from t1 where (t1b in (select t2b from t2)) is null;
 t1a | t1b
-----+-----
   2 |
(1 row)

I'm not sure whether this should be regarded as a BUG.
By the way, I just find that MySQL has an optimization rule 'EXISTS Strategy'(https://dev.mysql.com/doc/refman/8.0/en/subquery-optimization-with-exists.html). It rewrites some InSubquery as EXISTS with some restrictions.
As for where a = b and c = d, we currently rewrite multi-column InSubquery as semi-join with condition a = b and c = d. When a and c are literals, I think t1 semi join t2 on a = b and c = d is equivalent to where a = b and c = d.
So how about convert (a, b) in (select c, d from ... where ...) into exists(select 1 from ... where a = c and b = d) and convert (a, b) not in (select c, d from ... where ...) into not exists (select 1 from ... where (a=c or (a=c) is null) and (b=d or (b=d) is null)

Thanks for referring to the good article! Seems like it implies that we can't always covert an IN to EXISTS. Maybe we still need a physical plan for non-correlated IN?

Yes, I'm trying to add a physical plan for non-correlated IN now, and will update this PR soon.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10010/
Test PASSed.

Test build #104693 has started for PR 24344 at commit 19578f7.

Test build #104693 has finished for PR 24344 at commit 19578f7.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class InSubquery(

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10060/
Test PASSed.

Test build #104746 has started for PR 24344 at commit 3980878.

Test build #104746 has finished for PR 24344 at commit 3980878.

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

Merged build finished. Test PASSed.

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

I add several unit tests for both single-column IN subquery and multi-column IN subquery. I didn't test NOT IN because it should behave as NOT (x IN (subquery)).
Also, I optimize InSubquery in the rule RewriteUncorrelatedSubquery, pushing the left values into the subquery.
cc @cloud-fan, @viirya

I'm still working on this.
When I was dealing with 'null' with InSubquery, I found something wrong.
In catalyst/optimizer/expressions.scala, line 551, Rule NullPropagation:
      // If the value expression is NULL then transform the In expression to null literal.
      case In(Literal(null, _), _) => Literal.create(null, BooleanType)
      case InSubquery(Seq(Literal(null, _)), _) => Literal.create(null, BooleanType)

In this piece of code, we transform null in (subquery) into null.
Actually, I think this does not meet the SQL standard. null in (subquery) could be evaluated to null only if the subquery returns an non-empty result set. If the subquery's result set is empty, it should be evaluated to false.
For example, in PostgreSQL:
test=# select null in (select y from s where false);
 ?column?
----------
 f
(1 row)

test=# select null in (select y from s);
 ?column?
----------

(1 row)

test=#

Is this a BUG or a feature? cc @cloud-fan

good catch! Can you try with some more databases like Oracle and SQLServer? Or find the related statement in the SQL spec.
BTW how about the normal IN? like null in array() and null in array(1).

Hard to find a SQL spec :(
But the document I referenced above(https://dev.mysql.com/doc/refman/8.0/en/subquery-optimization-with-exists.html) explains how it behaves:

According to the SQL interpretation of NULL as “unknown value,” NULL IN (SELECT inner_expr ...) should evaluate to:
NULL, if the SELECT produces any rows
FALSE, if the SELECT produces no rows

As for the normal IN, I think it should be consistent with InSubquery. I have tested in Postgres(only select null in (1);, not sure how to express select null in array() in it), and it returns the same as InSubquery.

I have made some tests in MySQL and SQLServer, and both have the same result with PostgreSQL.
I think we'd better open a new JIRA for this issue. I can't solve the problem in this PR, since it requires a lot changes including codegen of Existence Join, and it is far beyond my ability.
As for this PR, I just need to ensure that once we remove the case for InSubquery in NullPropagation, uncorrelated InSubquery could return the correct results.

Test build #104900 has started for PR 24344 at commit 3f157fe.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10208/
Test PASSed.

Thanks for exploring this! I agree it is good to open another JIRA for that issue. It is out of the scope of this PR.

Test build #104900 has finished for PR 24344 at commit 3f157fe.

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

yea let's open a new ticket, thanks for finding it out!

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10223/
Test PASSed.

Test build #104917 has started for PR 24344 at commit a83f13f.

Test build #104917 has finished for PR 24344 at commit a83f13f.

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

Merged build finished. Test PASSed.

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

cc @cloud-fan @viirya @dilipbiswal

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10316/
Test PASSed.

Test build #105022 has started for PR 24344 at commit 5b8f60a.

Test build #105022 has finished for PR 24344 at commit 5b8f60a.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please.

Test build #105024 has started for PR 24344 at commit 5b8f60a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10318/
Test PASSed.

Test build #105024 has finished for PR 24344 at commit 5b8f60a.

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

Merged build finished. Test PASSed.

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

cc @cloud-fan

Can one of the admins verify this patch?

I'm not sure who is familiar with this, could we ping other reviewers?
cc @cloud-fan, @viirya, @dilipbiswal

ok to test

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10850/
Test PASSed.

Test build #105597 has started for PR 24344 at commit 5b8f60a.

Test build #105597 has finished for PR 24344 at commit 5b8f60a.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10856/
Test PASSed.

Test build #105604 has started for PR 24344 at commit 5b8f60a.

Test build #105604 has finished for PR 24344 at commit 5b8f60a.

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

Merged build finished. Test PASSed.

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

Test build #105662 has started for PR 24344 at commit c481c6e.

Test build #105662 has finished for PR 24344 at commit c481c6e.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10916/
Test PASSed.

Test build #105664 has started for PR 24344 at commit 9060b0c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10919/
Test PASSed.

Test build #105664 has finished for PR 24344 at commit 9060b0c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #105672 has started for PR 24344 at commit 86f6c9d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10928/
Test PASSed.

Test build #105672 has finished for PR 24344 at commit 86f6c9d.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/10942/
Test PASSed.

Test build #105687 has started for PR 24344 at commit 86f6c9d.

Test build #105687 has finished for PR 24344 at commit 86f6c9d.

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

Merged build finished. Test PASSed.

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

I think @dilipbiswal has a good point here. For non-correlated EXISTS/IN, it's a bad idea to collect all the data of a table to the driver side and do the calculation. That said, we should not have a physical version of EXISTS/IN, they always need to be converted to join (sorry for the back and forth!).
But we do have a chance to optimize non-correlated EXISTS/IN. More generally, if a left semi/anti join has a condition that only refers to attributes from the right side, we can probably turn this join into a filter operator.

@francis0407 A small point. Currently for the non-correlated in case, we don't pushdown the join condition into the subquery side. We are in the middle of a refactor where we will do the rewritePredicateSubquery early in optimizer. After that we will have the in condition pushed down like following :
Join LeftSemi
:- HiveTableRelation `default`.`a1`, org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, [c1#669]
+- Project
   +- Filter (isnotnull(c1#670) AND (c1#670 = 5))
      +- HiveTableRelation `default`.`b1`, org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, [c1#670]

This should help cut-down the rows that are seen/processed by join.

Thanks @dilipbiswal @cloud-fan .
I'm ok for trying these, just wanna make contributions to the project. But I think we can do some deep discussion here, to figure out which method could be better.
First, I think I'd better conclude what we have discussed in this PR.

At the beginning, I tried to transform all the predicate subquery to EXISTS. But in https://github.com/apache/spark/pull/24344#issuecomment-483642974,  we found a bug in the current implementation of InSubquery (we're not correctly dealing with InSubquery for nulls), and opened a new issue SPARK-27572. In short, not all of the InSubquery can be converted to semi/anti join(see the example in https://github.com/apache/spark/pull/24344#issuecomment-483642974), but we're doing this now. After realized this, I gave up converting InSubquery to Exists, but tried adding physical plan for them.

Another discussion is about the optimization of non-correlated subquery. I tried optimizing EXISTS using project 1, limit 1 to reduce the result set, and optimizing InSubquery using push down the left value, project the equation and use 'distinct'. With these optimization, the size of the result set can only be 1 or 2(null or true) , and all of the calculation is done in the executor side. But after @cloud-fan 's reminding, I realize that this can be made more generally for semi/anti join.

Now we discuss about the optimization for non-correlated semi/anti join.
If I'm not mistaken, I think @cloud-fan said 'turn this join to a filter' means we can use a physical plan for the non-correlated semi-join (actually, it's the same with EXISTS). That is a great idea, much better than the idea using in this PR! It's more general, and extensible. It can still be available when the NULL BUG is fixed.
I suggest we might close this PR and the issue, and open another one for the optimization of non-correlated semi/anti join (emmm... not sure about the name). What do you think?

@francis0407 Sounds good to me. Thank you very much for helping.

So I'm closing this now, and open another ticket for semi/anti join optimization.


adding new farms for staking pool

Lets wait for one more update to this PR. (we will add wEth as a new pool)


thread 1862 panic: unable to find module 'zig-cli'

Not sure if directly related to GitHub issues but it seems like Actions are now failing due to them not being able to find the zig-cli module. It's kind of a blackbox since it still works locally on my machine to build.
I see that the Actions of the standalone example also started failing today. Pretty new to Zig as a whole and especially zon so haven't been able to dig deep into it.

Yeah, I couldn't reproduce this error locally with the same zig version as used in the github actions (zig-zig-linux-x86_64-0.12.0-dev.3533+e5d900268) either. I will look into over the weekend.

That's not quite true what I wrote. I tested on aarch64. The github actions run on x86_64...

It is not related to the CPU architecture. It depends on the ~/.cache/zig. The build fails when the directory does not exist. But it compiles on the second try. Here is the related issue in zig https://github.com/ziglang/zig/issues/19561

That's odd, but great find! Zig must have broken something in one of the latest releases then.

The zig issue was fixed and the zig-cli jobs are back to green.


Document APIs exposed to Python scripts

Thanks! Now I need to figure a way how to embed it in a docs page...


Bumping phpstan/phpdoc-parser to ^1.0

See https://github.com/symplify/symplify/issues/3581
I haven't tested it ;-)

Thanks! The CI needs fixing first

Closing for lack of feedback for last week and seem abandoned since CI is failing last 12 days.
If that's incorrect, plesae to re-open with succesful CI :+1:


Configure the base URL so we can use absolute path from the src folder instead of relative path

Why
Currently, relative paths are used on importing, to make it easier to import regardless of where the current file is and to reduce the changes needed when the file or folder structure is updated we better use absolute path from the src folder.
Who Benefits?
React template users

This is already implemented, more info on the previous issue


add travis npm deploy

Last time I tried I got
$ travis setup npm
repository not known to https://api.travis-ci.org/: kellyselden/merge-package.json

done


Add support for internationalized email

See
RFC 6530 - Overview and Framework for Internationalized Email
RFC 6531 - SMTP Extension for Internationalized Email
RFC 6532 - Internationalized Email Headers
RFC 6533 - Internationalized Delivery Status and Disposition Notifications

MIME4J which we use to decode addresses doesn't support UTF-8 addresses even in the latest release :(

Any plans about working on this feature? As an owner of an international address (with German umlaut), I'd really like to tell people, "if you'd use K9, this address would be no problem!" - but unfortunately I can't...
Luckily, there are a number of other reasons to recommend K9, but I would really appreciate this one. :-)

Hello, do you have any update regarding this case?

Would love to see support for IDNs. There is a missed opportunity to welcome into the community all of the international users from areas using non-latin letters.

Just out of my curiosity, is anybody willing to provide a few real world examples of email providers managing mailboxes on an IDN ?

@defacto64 I don't understand your question. Many providers support using your own domain name, which can always be a punycode domain name. Also anyone can host their own mailbox.

I knew that. I wanted to know if there are email service providers whose "default" domain (the one used when the user doesn't have one and doesn't want to get one) happens to be an IDN.


most Luxtronic entities lost

probably after upgrading HA core to 2023.11.1 I lost pretty much all Luxtronic entities today afternoon on Luxtronic 2023.11.1-beta,
downgrading to HA core to 2023.11.1 did not help, so did not downgrading to Luxtronic 2023.10.28-beta
error logs:
Unexpected error fetching luxtronik2 data: Sensor sensor.luxtronik2_switchoff_reason provides state value '0', which is not in the list of options provided
21:29:39 – (CHYBA) Luxtronik (vlastní integrace) - zpráva se poprvé objevila v 21:15:38 a zobrazuje se 19x
Get_sensor ID_Switchoff_file_{ID}0 returns None
21:29:39 – (VAROVÁNÍ) Luxtronik (vlastní integrace) - zpráva se poprvé objevila v 21:15:36 a zobrazuje se 22x
Parameter 'ID_Switchoff_file{ID}_0' not found
21:29:39 – (VAROVÁNÍ) Luxtronik (vlastní integrace) - zpráva se poprvé objevila v 21:15:36 a zobrazuje se 22x
Error while setting up luxtronik2 platform for climate
21:15:39 – (CHYBA) Klima
Error while setting up luxtronik2 platform for water_heater
21:15:39 – (CHYBA) Water Heater
Error while setting up luxtronik2 platform for switch
21:15:38 – (CHYBA) Vypínač
Error while setting up luxtronik2 platform for number
21:15:38 – (CHYBA) Číslo

for me it works with

and

and
with 23.11.1 too

not for me

full log home-assistant_2023-11-06T06-12-52.473Z.log

@02curls Please try the current main branch.

Today I restored from full backup, then upgraded both HA to latest release and Luxtronik to latest beta release, all is working for now

@02curls Can we close this issue?

so the issue is back, not after any upgrade, no particular reason that I can think of,
just again lost the entities today after 12:58:33

home-assistant_2023-11-12T14-48-04.649Z.log

@BenPru so it seems that I keep loosing some entities right after sensor.luxtronik2_status_line_3 enters the "cycle lock" status (no idea what that is, but it usually follows the "domestic water" status)
the entities I keep loosing are the following for example:
number.luxtronik2_dhw_target_temperature
number.luxtronik2_heating_target_correction_2
all the number.luxtronik2_heating_circuit_curve......
home-assistant_2023-11-12T18-30-26.856Z.log

@02curls "Cylcle Lock" is a lock time between switch off and switch on the heatpump. This happens often then heating ends and hot water starts. I avoid this with automations.
The source of your error is a missing value 0 in the enum. I have added it.
Please try 2023.11.12-Beta

@BenPru thank you, 2023.11.12-Beta resolves the issue


main documentation page redirects to insecure URL

On the https://locust.io/ page, "Documentation" is a link to
https://docs.locust.io/ (secure)
which redirects to
http://docs.locust.io/en/stable/ (insecure)
Instead it should redirect to https://docs.locust.io/en/stable/ (secure)

@heyman Any ideas?
I checked
https://readthedocs.org/dashboard/locust/domains/2555/edit/ but it says ”SSL certificate status: Domain validation failed for docs.locust.io”

Or maybe I managed to fix it. Does it work for you now @rmcloughlin

Yes, now https://docs.locust.io/ (secure) redirects to https://docs.locust.io/en/stable/ (secure).  Thanks.

(marking as wontfix so that it doesnt appear in changelog)


[SPARK-44513][BUILD][3.4] Upgrade snappy-java to <IP_ADDRESS>

What changes were proposed in this pull request?

The pr is for branch-3.4.
The pr aims to upgrade snappy-java from  <IP_ADDRESS> to <IP_ADDRESS>.

Why are the changes needed?
1.The newest version include a bug fixed:

Fix the GLIBC_2.32 not found issue of libsnappyjava.so in certain Linux distributions on s390x by @kun-lu20 in https://github.com/xerial/snappy-java/pull/481

2.Release notes:
https://github.com/xerial/snappy-java/releases/tag/v<IP_ADDRESS>
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass GA.

@LuciferYang

@LuciferYang

cc @wangyum

Could you re-run the failed test pipelines, @panbingkun ?

Could you re-run the failed test pipelines, @panbingkun ?

Done, let's waiting CI.

@LuciferYang Do we need to backport https://github.com/apache/spark/pull/42091 to branch-3.4
https://github.com/panbingkun/spark/actions/runs/5643752423/job/15345611131

@LuciferYang Do we need to backport #42091 to branch-3.4 https://github.com/panbingkun/spark/actions/runs/5643752423/job/15345611131

ok

@LuciferYang Do we need to backport #42091 to branch-3.4 https://github.com/panbingkun/spark/actions/runs/5643752423/job/15345611131

https://github.com/apache/spark/pull/42162

Python code generation check failed too

Python code generation check failed too

@dongjoon-hyun @HyukjinKwon @LuciferYang @wangyum
To resolve the above issues, do we need to backport https://github.com/apache/spark/pull/41933 to branch-3.4?

Can we just skip the check of Python code generation check in branch-3.4?

yeah, I think so

Ignoring connect-check-protos logic in GA testing for branch-3.4
https://github.com/apache/spark/pull/42166

The GA finally turned green.

Thanks. Merged to branch-3.4.


Annotate Rat excludes

Feedback from @dave2wave to be fixed before the next release
Annotate .rat-excludes to explain any that are excludes related to other licensing.

Annotated.


Jira: invalid character '<' looking for beginning of value

Description
Similar to #266,  there is also an issue to send data to Jira.

2023/01/31 11:28:45 failed to get boards from Jira API GetAllBoards with ProjectID POSTEE. invalid character '<' looking for beginning of value: http: read on closed response body
2023/01/31 11:28:45 Starting Jira action "Hosting-Jira"....
2023/01/31 11:28:45 description is: Postee test description
2023-01-31T11:28:45.001713857Z

Does anyone have any ideas to work around this error?
Thanks in advance!
Weibo

I shouldn't write the /projects/POSTEE/ in the end of the Url. After removing it, everything works fine


Update cura to 3.1.0

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Ultimaker changed the download location (since 3.0.4) and also the name of the .app and preferences. I tested on my machine and this worked, but could someone also review this?


Adds link to https://github.com/n2cholas/jax-resnet

Adds a link to a collection of ResNet implementations to the examples/README.md

Adding reference to @n2cholas's resnet models that can load pretrained weights from torch.hub

Codecov Report

Merging #1694 (490805b) into main (6520a1a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1694   +/-   ##
=======================================
  Coverage   83.17%   83.17%
=======================================
  Files          69       69
  Lines        5853     5853
=======================================
  Hits         4868     4868
  Misses        985      985

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6520a1a...490805b. Read the comment docs.


up_squared: isr_dynamic test is failing

Describe the bug
isr_dynamic test is failing on up_squared platform
What have you tried to diagnose or workaround this issue?
To Reproduce
Steps to reproduce the behavior:

twister -p up_squared --device-testing --device-serial /dev/ttyUSB1 -T tests/kernel/interrupt/  --west-flash="$HOME/up_squared_efi.sh" -j 1 -vv
See error

Expected behavior
test should pass.
Logs and console output
*** Booting Zephyr OS build v2.7.99-1382-g742412606090  ***
Running test suite interrupt_feature
===================================================================
START - test_isr_dynamic
Assertion failed at WEST_TOPDIR/zephyr/tests/kernel/interrupt/src/dynamic_isr.c:101: test_isr_dynamic: (x86_irq_funcs[TEST_IRQ_DYN_LINE] == dyn_isr && x86_irq_args[TEST_IRQ_DYN_LINE] == (void *)ISR_DYN_ARG is false)
dynamic isr did not install successfully
FAIL - test_isr_dynamic in 0.26 seconds
===================================================================
START - test_nested_isr
SKIP - test_nested_isr in 0.1 seconds
===================================================================
START - test_prevent_interruption
locking interrupts
unlocking interrupts
timer fired
PASS - test_prevent_interruption in 2.6 seconds
===================================================================
START - test_isr_regular
irq(27)=vector(64)
irq(28)=vector(65)
not testing irq enable/disable
PASS - test_isr_regular in 0.8 seconds
===================================================================
START - test_isr_offload_job_multiple
PASS - test_isr_offload_job_multiple in 0.1 seconds
===================================================================
START - test_isr_offload_job_identi
PASS - test_isr_offload_job_identi in 0.1 seconds
===================================================================
START - test_isr_offload_job
irq(49)
PASS - test_isr_offload_job in 0.1 seconds
===================================================================
START - test_direct_interrupt
SKIP - test_direct_interrupt in 0.1 seconds
===================================================================
Test suite interrupt_feature failed.
===================================================================
PROJECT EXECUTION FAILED

Environment:

OS: Fedora
Toolchain: SDK 0.13.1
Commit SHA: 742412606

Reassigned to @enjiamai as Intel Platforms (X86) maintainer

Hi @MaureenHelm it is due to the target irq vector is hardcoding in this test cases, try to refine it by making some changes in the test cases.


Typings for $refs should also include Component | Component[]

Version
2.6.10
Reproduction link
https://codesandbox.io/s/p7krpry9vm
Steps to reproduce

Assign a component a ref attribute, say, <my-component ref="myComponent" />
Import the typings for component  from vue, i.e. import { Component as VueComponent } from 'vue'; (the aliasing is needed because I am also using vue-property-decorator's Component module, but that is not relevant to the question)
Declare the types for $refs when composing a component, i.e. public readonly $refs!: { myComponent: VueComponent }

What is expected?
I expect the Component type to be accepted in the $refs definition.
What is actually happening?
I get a message that the type of this.$refs.myComponent is incompatible with the pre-existing type declared for this.$refs.<key>.
Here is a screenshot of the actual error I am getting in production code:

This issue came across because I need to access a nested element within a Vue component when writing in TypeScript. In native JS, I can simply query the DOM of the Vue component using this.$refs.myComponent.$el.querySelector(...) without an issue. However, in TypeScript, I get a warning because I need to pre-declare the typings for $refs at the top of the component, i.e.:
public readonly $refs!: {
  myComponent: VueComponent
}

When you log this.$refs.myComponent when the parent/consuming component is mounted to the console, you will see that it returns a Vue component instance. This is incompatible with the pre-existing typings for $refs, which only allows the following types: Vue | Element | Vue[] | Element[].
I propose that the typings for $refs by extended to:
{ [key: string]: Vue | Element | Component | Vue[] | Element[] | Component[] }

I think its rigorous, public readonly $refs!: { myComponent: MyComponent }

@underfin That will work, but only in cases where the ref actually points to an actual named component (which is my case, so your suggestion works 100% for me) :) however, what if somebody has this in their app?
<component
  v-bind:is="componentToUse"
  v-ref="myComponent" />

@terrymun
@Component({   name: 'MyComponent' })
export default class MyComponent extends Vue { }
MyComponent is extends Vue, so can use $refs!: { myComponent: Vue }  with generic type.

I believe $refs contains either dom element(s) or component instance(s). Component in Vue's typing is actually the component configuration object or component class, not the component instance itself.
You typing should be $refs: { myComponent: Vue}  IMHO

:point_up:
myComponent: Vue or myComponent: InstanceType<typeof MyComponent>

Thanks for all your help! I've learned that:

If the component is defined already, we can just assign its own class as its type, e.g. myComponent: MyButtonComponent if I'm importing it as import MyButtonComponent from <...>;
If the component is indeterminate, assigning it a generic type of Vue works


mobile: Remove obsolete stats reporting check

https://github.com/envoyproxy/envoy/commit/7fd09ae21dacb0c36324dbbb158cb905c7ac8d9c removed ENVOY_MOBILE_STATS_REPORTING but we didn't remove the check in the test.

Should we add some sort of CI which checks the ENVOY_MOBILE_STATS_REPORTING build?

Yup, I was going to follow up and do that, I just wanted to get this in ASAP since it is blocking the Envoy import.

/retest

/retest

Should we add some sort of CI which checks the ENVOY_MOBILE_STATS_REPORTING build?

Yup, I was going to follow up and do that, I just wanted to get this in ASAP since it is blocking the Envoy import.

Yeah, agreed!

re CI I think the plan is to remove it entirely so just verifying git's 100% gone should be enough.

/retest

/retest


Code quality button is not working on master.

Wanted this to check code coverage.

@kkunal1408 Code quality is broken but coverage is still available. Click on the green "PASSED" badge at the beginning of a rendered README.md. Find "build-test-coverage" in the list of CI jobs. Click on that.

Click on artifacts:

Then click on coverage-reports/python/index.html and scroll down to the compiler code:

Looks like read_netlist.py and merge_nodes.py aren't used in any tests anymore. preprocess.py is only enabling the logger. Probably a lot you can get rid of.

the workaround is good. There is separate PR for codacy.


A small improvement in metrics_sample.py::ROUGE

Hi there!
To fix a tiny bug and do a small improvement to ROUGE class.

Hi ! Thanks for the PR, could you describe the bug you encoutered and how adding the tokenizer to the rouge function solves it ?

One might want to use a tokenizer other than the rouge_score's default one. In my case, as the default one doesn't support Persian, i.e. removes non-latin characters, I attempted to use another tokenizer.
rouge_1 = SampleLevelMetric(
    metric="custom_rouge1",
    sample_level_fn=ROUGE("rouge1", tokenizer=nltk.tokenize.SpaceTokenizer()).compute,
    category=MetricCategory.GENERATIVE,
    use_case=MetricUseCase.SUMMARIZATION,
    corpus_level_fn=np.mean,
    higher_is_better=True,
)
extend_enum(Metrics, "custom_rouge1", rouge_1)

Oh that's great then. Just need to make the tests pass and it should be good to merge :)


Support for non-texture obj

I have some non-texture obj file, such as the one https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.ob. I expect some thing like this image
Can you support it? Thank in advanced

Has fixed it, but no illumination.

I found this guy https://github.com/hemanthrajv/flutter_3d_obj/blob/a34d26e144eb9b26ef2f7552c7e128828f71ce0c/lib/flutter_3d_obj.dart#L241 has implemented illumination base on normalize light vector and normal vector of face. Hope it help


Add Object.prototype.watch method

-1

Generally you should avoid using watch() and unwatch() when possible. These two methods are implemented only in Gecko, and they're intended primarily for debugging use. [...]. Also, do not confuse Object.watch with Object.observe.


More elaborate Ground Truth / Correction possibilites for trackings

Multiple users (MK, DL) have suggested to allow more elaborate editing capabilities within the ground truth mode, and/or editing capabilities for segmentations.
Possibly a joint mode could be developed, it would however need quite a bit of GUI work.
Maybe alternatives exist to developing this from the scratch.

Further suggestions

GT mode: cell length
Fluorescence options for GT

Further suggestions

GT mode: cell length
Fluorescence options for GT

cell length mode is partially addressed with experimental 'advanced-ground-truth'


Regression in mouse focus screen

Sometimes (I have not figured out what triggers it yet) when moving the mouse from display 1 to display 0, the tree on display 0 gets reset. Issuing a tree -c refresh does not fix it. (luckily I can just restore the tree!)

Does this only happen when using the mouse?
I have not experienced this in ages, so I assumed it was fixed.

No, if I "abuse" screen -f next | prev kwm appears have quite high CPU usage and lags out, but the behavior doesn't happen.
However, during this "lag" kwm appears to ignore key commands. If I hit cmd+alt-h during this lag all windows hide (which is default OS X behavior)
The tree destruction issue only happens when changing focus across displays with the mouse.

Nothing I can do about that lag really if it is spammed,  except maybe prevent the user from using the command "that often".
I have no idea what or why the mouse bug still happens, as I have not experienced this since that last rewrite. I'll keep it in mind for the future, however I really doubt that it is something I can make any better than it currently is.

Sounds good, it really does appear to be a regression of some kind. I had not had this happen again until very recently. With in the last few days.

I actually can reproduce this fairly easily. I just use the mouse to change focus between screens.
Once this happens any tree state that each display had is lost and reset (My config sets display 1 to monocle, to test this I changed display 1 to bsp and when the issue happened it changed back to monocle).
To reproduce this use the mouse to focus display 1 then very quickly refocus display 0. This will cause the tree to reset.

Still unable to reproduce for some reason.
I have 5 windows on my laptop (screen 0), 2 windows on my external (screen 1)
Using the mouse to give focus to display 1 and quickly refocus display 0, nothing happens.

I have to repeat the Screen 0 - Screen 1 - Screen 0 process a few times, but after a few repeats of this sequence the tree on screen 0 resets.
But it's very very reproducible for me following that sequence. Doesn't take more than 10 tries. Sometimes happens after 2 or 3

Here is my kwmrc settings. maybe it has to do with a specific one, (mouse-follows for example?)
# Set default values for screen padding
kwmc config padding top 40
kwmc config padding bottom 60
kwmc config padding left 20
kwmc config padding right 20

# Set default values for container gaps
kwmc config gap vertical 20
kwmc config gap horizontal 20

kwmc config focused-border enable
kwmc config focused-border color ff6699cc
kwmc config focused-border size 6

kwmc config marked-border enable
kwmc config marked-border color ffec5f67
kwmc config marked-border size 6

# Let Kwm listen for hotkeys
kwmc config hotkeys enable

# Turn off focus-follows-mouse if any
# context-menus or the menubar is visible.˛˛˛
# If the menubar is not set to auto-hide,
# disable this setting.
kwmc config menu-fix disable

# Set focus-follows-mouse-mode to autoraise
kwmc config focus autoraise

# Set mouse-follows-focus
kwmc config focus mouse-follows enable

# Disable autorise when a floating widnow is focused
kwmc config focus standby-on-float enable

# Window can be made floating through drag&drop
kwmc config dragndrop disable

# Allow Kwm to tile windows
kwmc config tiling enable

# Default tiling mode for new spaces
kwmc config space bsp

# Set default tiling mode for screens
kwmc config screen 0 bsp
kwmc config screen 1 monocle

# Wrap focus tos creen
kwmc config cycle-focus screen # all | disabled

# Add custom tiling rules for applications that
# does not get tiled by Kwm by default.
# This is because some applications do not have the
# AXWindowRole and AXStandardWindowSubRole
kwmc config add-role AXDialog iTerm2
kwmc config add-role AXDialog Zeplin

# Automatically float non-resizable applications
kwmc config float-non-resizable enable

# The following command blacklists a specific application
# from Kwms tiling (PS: The app name is case-sensitive)
# If the name consist of multiple words, the command
# looks like: kwmc config float Google Chrome
kwmc config float Steam
kwmc config float System Preferences
kwmc config float iStat Menus
kwmc config float QuickTime Player
kwmc config float zoom.us
kwmc config float VLC

kwmc config capture 1 Slack
kwmc config capture 1 iTunes

kwmc config prefix ctrl-k
kwmc config prefix-global disable
kwmc config prefix-timeout 0.75

# Toggle autoraise
kwmc bind prefix+cmd-t config focus toggle

# Refresh window position
# kwmc bind shift+alt+ctrl-r window -c refresh

# Refresh all windows
kwmc bind prefix+cmd+shift-r tree -c refresh

#Quit kwm
kwmc bind prefix+cmd-q quit

# Mark window for next split
kwmc bind prefix-m window -t mark

# Toggle horizontal and vertical split for window
kwmc bind prefix-s window -c split

# Toggle window fill screen
kwmc bind prefix-f window -t fullscreen

# Toggle window fill parent container
kwmc bind prefix-p window -t parent

# Toggle window float
kwmc bind prefix-w window -t float

# Move marked window to new leaf at focused window
kwmc bind prefix-x window -x

# Move focused window to screen
kwmc bind prefix+cmd-1 screen -m 0
kwmc bind prefix+cmd-2 screen -m 1

# Change space to Binary Space Partitioning (default)
kwmc bind prefix+cmd-b space -t bsp

# Change space to monocle (full screen windows)
kwmc bind prefix+cmd-f space -t monocle

# Change space to floating windows (normal)
kwmc bind prefix+cmd-w space -t float

# Rotate tree clockwise?
kwmc bind prefix+cmd-r tree -r 90

# Move Focus
kwmc bind cmd+alt-j window -f prev
kwmc bind cmd+alt-k window -f next

# Move Screen Focus
kwmc bind cmd+alt-h screen -f prev
kwmc bind cmd+alt-l screen -f next

# Move Window
kwmc bind cmd+alt-p window -s prev
kwmc bind cmd+alt-n window -s next

# Change pane size
kwmc bind prefix+shift-h window -c reduce 0.1
kwmc bind prefix+shift-l window -c expand 0.1
kwmc bind prefix-h window -c reduce 0.05
kwmc bind prefix-l window -c expand 0.05

# Change Gaps
kwmc bind prefix-x space -g increase horizontal
kwmc bind prefix-y space -g increase vertical

kwmc bind prefix+shift-x space -g decrease horizontal
kwmc bind prefix+shift-y space -g decrease vertical

kwmc bind prefix-leftarrow space -p increase left
kwmc bind prefix-rightarrow space -p increase right
kwmc bind prefix-uparrow space -p increase top
kwmc bind prefix-downarrow space -p increase bottom

kwmc bind prefix+shift-leftarrow space -p decrease left
kwmc bind prefix+shift-rightarrow space -p decrease right
kwmc bind prefix+shift-uparrow space -p decrease top
kwmc bind prefix+shift-downarrow space -p decrease bottom

# Open iTerm2 window
kwmc bind prefix-return sys /Users/chrishoage/bin/open-iTerm.applescript
kwmc bind prefix-c tree restore code

With the exception of screen capture, binds and the following
kwmc config screen 0 bsp
kwmc config screen 1 monocle

our config has the same settings, so if anything its some conflict with one of these.

Do you happen to have kwm managed by launchd?
I dont think this is the same bug as before, rather I have managed to make Kwm actually crash by doing your described behaviour for a longer period of time.
It appears that kwm-overlay gets passed a nil-value and Kwm segfaults shortly after.

Kwm segfaults shortly after

That sounds like it would cause my issue. If KWM crashes launchd would restart it. This would explain the behavior I was seeing.

Debug output while doing said behaviour mouse-focusing, this is a segment of the last output.
SetWindowRefFocus() Focused Window: borderless (bash)
UpdateFocusedBorder()
alpha: 1.000000 r:0.741176 g: 0.827451 b:0.133333
SetWindowRefFocus() Focused Window: Koe
UpdateActiveWindowList() Active Display Changed
GiveFocusToScreen() 1
Populated Screen Key/Mouse Focus
UpdateFocusedBorder()
alpha: 1.000000 r:0.741176 g: 0.827451 b:0.133333
SetWindowRefFocus() Focused Window: Koe
ShouldBSPTreeUpdate() Remove Window
UpdateFocusedBorder()
fatal error: unexpectedly found nil while unwrapping an Optional value
alpha: 1.000000 r:0.741176 g: 0.827451 b:0.133333
SetWindowRefFocus() Focused Window: Koe
UpdateFocusedBorder()
alpha: 1.000000 r:0.741176 g: 0.827451 b:0.133333

Kwm just simply stops running after that last line, does not show a segfault or send the SIGSEGV code to Kwm.

It appears that kwm-overlay gets passed a nil-value

This appears to happen because sometimes (this explains the inconsistency) my mouse would land on the desktop (padding area).
Landing on the desktop and moving back reproduces this 100% of the time

Is it possible to just fix this within kwm-overlay? Not really sure where in Kwm I'd have to look, as I have done checks for valid focus already in these areas.

Nvm I can reproduce this bug with borders disabled. I have an idea of why this happens, I made some changes recently that could be the cause, which is why this is the first time this bug has "re-occured".

Ok good because I was about to say even if a null / missing windowId is passed to the overlay it should just default to 0 width / height / x / y, not crash.
Really not sure why that crash happens in kwm-overlay.

Do you happen to have some script running that calls kwmc read focusedor kwmc read tag?
I believe this is where the issue is/was.

I do indeed! My bitbar script reads it.

Ok so basically what I believe has happened is, I made it so that Kwm clears its focus when there actually is no window focused (mid-screen transition, mid-space transition), or just simply closing a window and there are none left under the curosor or focused by OSX.
I forgot to check in the read code mentioned if Kwm actually has focus. After doing this I can no longer reproduce the crash (yet at least..).

Confirmed, that fixed it.


ipget: 0.3.2 -> 0.6.0

Motivation for this change
https://github.com/ipfs/ipget/releases/tag/v0.6.0
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Is this the correct way to specify the goDeps? I couldn't get it to compile with fetchgx, so I just converted the go.sum file in the ipget project to a deps.nix file and added it in the directory.

I think I found a better solution by using buildGoModule instead of buildGoPackage. I also added myself as a maintainer for this package.

I updated the PR from 0.5.0 to 0.6.0 as a new version was released. Can somebody please review? Maybe @Mic92? I'm not sure who I should ping.


draft: true

Introduces a draft booleanish option in front matter, which specifies if a page is a draft.
Drafts are rendered in preview, but skipped in build (and deploy). When previewing a draft, a tag indicates the draft mode:

I played a bit with the design of this tag, went back and forth between a pill with a focus background, and this simpler design.
I considered status: draft but looking at what other SSG do draft: true seems more common.
I also considered having a drafts global option that preview would activate; but it introduces a lot of complexity (we have to carry it to the config and to build the pages), for nothing really useful.
The only place I could document it was the "front matter" section of /markdown, which had nothing, so I documented the other options as well.
closes #867

How would you feel about build: false instead of draft: true, and to have no visible indication on the page that it’s not built (i.e., build: false simply disables build without altering the appearance of the page)? That feels easier for me to approve since then I don’t have to think about what the draft badging should look like. But it’s also less opinionated about when build: false should be used, unlike draft: true which suggests a more opinionated workflow.

The badge is just a class that we add to the main container, styled with css, so it's easy for folks to remove it or do something different. It also only appears only in preview so it has no impact on the built site (save for a few css styles, that we could load separately).
Since draft: true is more common across SSGs, I think it's worth adopting it over build: false, even if it means taking more time to hash out what it does exactly.
We have to be opinionated in a sense, because we wouldn't want a page that is not built but gets indexed or listed as part of the default pages in the sidebar.

I've added "[DRAFT] " before the first-child (which is usually the title, but there may be no title, or there may be something else. I left the focus color on, but we could remove it, too.
example:


Mind me forking for node <6?

Hey @guybedford, this project is awesome!  I stumbled upon it while exploring improvements for https://github.com/gulpjs/semver-greatest-satisfied-range and it looks like you already solved some of my problems.  Would you mind if I forked to add node <6 support to be used in gulp-cli?

Hey, I'm really glad to hear the project is of use to you, and thanks for letting me know! Definitely go ahead, and keep me posted how it goes - maybe we can merge in due course as well.

@guybedford you rock!  Any thoughts on what be causing my one failure at https://travis-ci.org/phated/sver-compat/jobs/265350661?

@phated well I guess I do still owe you a beer from JS Conf all those years ago :P I just had a look at it briefly, and I think it might be the conversion of the two loops from https://github.com/guybedford/sver/commit/3d8c7fbed52cc75f36e3eb9c54f0d8f53fb022fe#diff-98882b3be0c3bec6da6c8b0e69e40283R28. The for in will loop over the indices so it would be seen as "0 1 2 3", and hence the =3.0.0 conversion. But I haven't tested it out myself so may just be making this up, but it sounds plausible enough.

@guybedford perfect!  I've switched to a forOf pseudo-shim (https://github.com/phated/sver-compat/commit/551419f864e7bf75416926d77d1354b8f2c3093f) and it works 😄

Thanks again!  I'd say it's a pretty clean compat version based on my merge at https://github.com/phated/sver-compat/commit/4d50b542f86d67d8be40c80cd817301cea3f2322
Let me know if you ever want to merge these, as I'll be using sver-compat in gulp-cli 😄


[experiment] Deploy apps on netlify

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

Two Netlify apps? Did we consider building it inside the main one?

Separating the concern. The docs is here to get best user experience, those apps are here for testing purpose. I would like to avoid having hack stuff made for testing purpose in the same deployment than the docs

Yeah, I guess this folder is only her until we update the docs anyway, so it doesn't matter, the faster we move, the sooner this will be gone.

Not sure it's feasible. Netlify document having multiple project on the same repository, but I did not see multiple builds in a single netlify project. I don't know how you serve the different build

My assumption is putting all the files in the same /export folder would do it.

Than I propose to keep them in a distinct netlify build, and modify the build instruction, such that it build the 3 apps, and move files to put them in

export/nextJS
export/vite
export/locale


Add documentation for setting slice

Codecov Report

Merging #7 (d691db0) into main (b3a96d1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #7   +/-   ##
=======================================
  Coverage   85.53%   85.53%
=======================================
  Files           1        1
  Lines         159      159
=======================================
  Hits          136      136
  Misses         16       16
  Partials        7        7

Flag
Coverage Δ

unittests
85.53% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b3a96d1...d691db0. Read the comment docs.


Waze disabled all requests to GeoRSS feed, rtserver is down

After anomalies started, I noticed that Waze's endpoint is now returning HTTP 204 No Content.
Turns out that Waze disabled all requests to GeoRSS feeds when you don't have token.
Found discussion here: https://www.waze.com/forum/viewtopic.php?p=1779715
This project is now no longer working, unless workaround is found.

Google cached version of the URL above 👍

how to get token @alanibrus ?


Update Add-VpnConnection.md

removed [XML] from example 5 for the cmdlet to work
Fixes https://github.com/MicrosoftDocs/windows-powershell-docs/issues/3042

@JohanFreelancer9 Please copy review


[move-vm] cache modules that have been deserialzied and self-verified in the module loading process

Consider the following example to illustrate the module loading process
in the Move VM loader:

Modules A, B, and C declares F as a friend
Module F uses A, B, and C (by calling their function or using their types)

Now, the code cache is empty and we want to run execution function A::foo().
The process works like the following:
deserialize(A)
byecode-verify(A)
for-each-dependencies(A) []
linking-check(A)
add-to-cache(A)
for-each-friends(A) -> [F]
  deserialize(F)
  byecode-verify(F)
  for-each-dependencies(F) [A, B, C]
    check-in-cache(A)
    deserialize(B)
    byecode-verify(B)
    for-each-dependencies(B) []
    linking-check(B)
    add-to-cache(B)
    for-each-friends(B) -> [F]
      deserialize(F)
      byecode-verify(F)
      for-each-dependencies(F) [A, B, C]
        check-in-cache(A)
        check-in-cache(B)
        deserialize(C)
        byecode-verify(C)
        for-each-dependencies(C) []
        linking-check(C)
        add-to-cache(C)
        for-each-friends(C) -> [F]
          deserialize(F)
          byecode-verify(F)
          for-each-dependencies(F) [A, B, C]
            check-in-cache(A)
            check-in-cache(B)
            check-in-cache(C)
          linking-check(F)
          add-to-cache(F)
          for-each-friends(F) -> []
          cyclic-deps-check(F)
        cyclic-deps-check(C)
      linking-check(F)
      add-to-cache(F)
      for-each-friends(F) -> []
      cyclic-deps-check(F)
    cyclic-deps-check(B)
  linking-check(F)
  add-to-cache(F)
  for-each-friends(F) -> []
  cyclic-deps-check(F)
cyclic-deps-check(A)

There are four issues here

Module F is repeatedly deserialized and bytecode-verified
Note that deserialize(F) and bytecode-verify(F) appears three times
in the process where we should do the work only once
Module F is repeatedly linking-checked with all its immediate dependencis
Also evident by the fact that linking-check(F) appears three times where
we should only check it once
Module F is repeatedly cyclic-dep-checked against all the modules
As evident by the fact that cyclic-deps-check(F) appears three times
where we should only check it once
The cyclic dependency check for A, B, C, and F are essentially the same,
hence, these several cyclic-deps-check(..) should be reduced to one.

The first commit adds an additional layer of cache, called in_progress, to
cache modules that have been successfully deserialized and passes the
bytecode verifier bytecode_verifier::verify(module).
deserialize(A)
byecode-verify(A)
+ add-to-progress(A)
for-each-dependencies(A) []
linking-check(A)
add-to-cache(A)
for-each-friends(A) -> [F]
  deserialize(F)
  byecode-verify(F)
+ add-to-progress(F)
  for-each-dependencies(F) [A, B, C]
    check-in-cache(A)
    deserialize(B)
    byecode-verify(B)
+   add-to-progress(B)
    for-each-dependencies(B) []
    linking-check(B)
    add-to-cache(B)
    for-each-friends(B) -> [F]
-       deserialize(F)
-       byecode-verify(F)
+       get-from-progress(F)
      for-each-dependencies(F) [A, B, C]
        check-in-cache(A)
        check-in-cache(B)
        deserialize(C)
        byecode-verify(C)
+       add-to-progress(C)
        for-each-dependencies(C) []
        linking-check(C)
        add-to-cache(C)
        for-each-friends(C) -> [F]
-         deserialize(F)
-         byecode-verify(F)
+         get-from-progress(F)
          for-each-dependencies(F) [A, B, C]
            check-in-cache(A)
            check-in-cache(B)
            check-in-cache(C)
          linking-check(F)
          add-to-cache(F)
          for-each-friends(F) -> []
          cyclic-deps-check(F)
        cyclic-deps-check(C)
      linking-check(F)
      add-to-cache(F)
      for-each-friends(F) -> []
      cyclic-deps-check(F)
    cyclic-deps-check(B)
  linking-check(F)
  add-to-cache(F)
  for-each-friends(F) -> []
  cyclic-deps-check(F)
cyclic-deps-check(A)

The second commit further removes the redundant linking
and cyclic deps checks over module F (i.e., addresses issues
2 and 3). The new module loading procedure will be like the
following:
deserialize(A)
byecode-verify(A)
add-to-progress(A)
for-each-dependencies(A) []
linking-check(A)
add-to-cache(A)
for-each-friends(A) -> [F]
  deserialize(F)
  byecode-verify(F)
  add-to-progress(F)
  for-each-dependencies(F) [A, B, C]
    check-in-cache(A)
    deserialize(B)
    byecode-verify(B)
    for-each-dependencies(B) []
    linking-check(B)
    add-to-cache(B)
    for-each-friends(B) -> [F]
      get-from-progress(F)
      for-each-dependencies(F) [A, B, C]
        check-in-cache(A)
        check-in-cache(B)
        deserialize(C)
        byecode-verify(C)
        add-to-progress(C)
        for-each-dependencies(C) []
        linking-check(C)
        add-to-cache(C)
        for-each-friends(C) -> [F]
          get-from-progress(F)
          for-each-dependencies(F) [A, B, C]
            check-in-cache(A)
            check-in-cache(B)
            check-in-cache(C)
          linking-check(F)
          add-to-cache(F)
          for-each-friends(F) -> []
          cyclic-deps-check(F)
        cyclic-deps-check(C)
    cyclic-deps-check(B)
cyclic-deps-check(A)

We did not address issue 4 in this PR because based on our profiling, the
cyclic-deps-check does not seem to be a bottleneck here and adding it
would not be trivial as well.
Motivation
Fix a performance degradation observed in #8668 .
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan

CI

The average runtime for one of the benchmarking language-e2e test: create_account, is reduced from 4.62 seconds to 2.03 seconds. The flame graph is available in https://github.com/mengxu-fb/libra/tree/loader-perf-data/data. Please download the SVG and open it with a browser for interactive viewing.
This flamegraph is profiled by running the create_account e2e test 20 times. This particular e2e test is chosen because it has minimal noises compared with smoke tests (where local swarm and networking effects creates a lot of noises). By comparing the old and new version of the flamegrahs, the total time spent in the bytecode-verifier is reduced from around 45% to 30%. Indicating the effectiveness of the cache.

Landing this PR to unblock other and future PRs for now. I'll file an issue and revisit the design later after our discussion.
/land

New issue filed for follow-ups of this PR: https://github.com/diem/diem/issues/8811


Implement Distributed Data Movement (DDM) Gobblin-on-Temporal WorkUnit generation (for arbitrary Source)

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[ ] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-XXX

Description

[ ] Here are some details about my PR, including screenshots (if applicable):
Adds the GenerateWorkUnits Activity to generate WorkUnits, bin pack them, and write in serialized form to the FileSystem.   The activity creates the specified Source and .getWorkUnits() on it, as directed by JobState config.

Included is a demonstration GenerateWorkUnitsWorkflow that exercises solely the new activity and then exits.
Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

so-far: successful manual execution on CopySource with IcebergDatasetFinder
future: automated unit tests
Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report
Attention: Patch coverage is 0.61728% with 161 lines in your changes are missing coverage. Please review.

Project coverage is 46.66%. Comparing base (bdbbfe1) to head (62454de).

Files
Patch %
Lines

...poral/ddm/activity/impl/GenerateWorkUnitsImpl.java
0.00%
54 Missing :warning:

...pache/gobblin/temporal/ddm/util/JobStateUtils.java
0.00%
37 Missing :warning:

...che/gobblin/temporal/ddm/work/assistance/Help.java
0.00%
18 Missing :warning:

...ral/ddm/launcher/GenerateWorkUnitsJobLauncher.java
0.00%
17 Missing :warning:

...m/workflow/impl/GenerateWorkUnitsWorkflowImpl.java
0.00%
15 Missing :warning:

...mporal/joblauncher/GobblinTemporalJobLauncher.java
0.00%
7 Missing :warning:

...in/temporal/cluster/GobblinTemporalTaskRunner.java
0.00%
4 Missing :warning:

...lin/temporal/ddm/worker/WorkFulfillmentWorker.java
0.00%
2 Missing :warning:

...dm/workflow/impl/ProcessWorkUnitsWorkflowImpl.java
0.00%
2 Missing :warning:

...java/org/apache/gobblin/util/JobLauncherUtils.java
0.00%
2 Missing :warning:

... and 3 more

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3880      +/-   ##
============================================
- Coverage     46.74%   46.66%   -0.09%
+ Complexity    11158    11148      -10
============================================
  Files          2216     2219       +3
  Lines         87522    87657     +135
  Branches       9615     9621       +6
============================================
- Hits          40913    40904       -9
- Misses        42920    43060     +140
- Partials       3689     3693       +4

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


Fix JPEG encoder's quantization table

Pick up the pdf where the table was copied from and select some values in the table... they used white ones to align the numbers!!! So this reduces smudges.

Good catch, thanks!


The links to download CLIP features on the R2R/RxR environment are invalid.

Hi,
The given links to download CLIP features on the R2R/RxR environment are invalid now. Could you provide some new links?
Thank you in advance!

We can still access the links on our end. Can you try whether the following link is reachable in your browser: https://nlp.cs.unc.edu/data/vln_clip/features/?

Thank you! The problem has been solved.


chore: bdd-spring-1585794384 to 0.0.1

chore: Promote bdd-spring-1585794384 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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


Update package.json

Got error while installing:
The latest release of worker is "0.4.0".

Not sure if the dependency is even needed.

To build the worker locally, run:
npm i
npm run build:worker

from inside the project root

The built worker will be located in packages/worker/dist/worker/src/worker.mjs.
To build and release to cloudflare workers, see the README.md, and then use:
npx wrangler publish

Or use the GitHub actions provided in the .github/ directory

Thank you! :smiley:

https://github.com/codebam/cf-workers-telegram-bot/releases/tag/v4.4.0
https://github.com/codebam/cf-workers-telegram-bot/pkgs/npm/cf-workers-telegram-bot
https://www.npmjs.com/package/@codebam/cf-workers-telegram-bot


Make homepage redirect to demo site

When a user visits the "homepage" of Streak Stats (https://github-readme-streak-stats.herokuapp.com/), they simply see a card saying the user cannot be found:

It would probably be more helpful to redirect them to a page with more information such as the Demo Site which explains the purpose of the tool and has links to the GitHub repo.

I would like to work on this issue, please guide me further.

Hi @himanshu007-creator, that would be great!
Basically what needs to be done is a simple change in index.php that will check if the "user" property of $_REQUEST is set and if it is not, redirect to the demo site which can be done with a Location header.
Let me know if you have any questions. :)

Okay I will work in it today


Console errors on window resize after destroying responsive board

Hi @shaack,
I'm really enjoying cm-chessboard. I'm using it in an SPA, where I'm creating and destroying boards frequently.
With version 2.11.26, when I use responsive:true and I call destroy(), I get errors on window resize.
import {Chessboard} from "cm-chessboard";
const chessboard = new Chessboard(document.getElementById('myBoard'), {responsive: true});
setTimeout(() => chessboard.destroy(), 1000);

Now resize the window, and these errors appear in the console:
Uncaught TypeError: Cannot read property 'squares' of null
    at ChessboardView.drawPieces (ChessboardView.js?8d80:226)
Uncaught TypeError: Cannot read property 'orientation' of null
    at drawBoardDebounce.setTimeout (ChessboardView.js?8d80:149)
Uncaught TypeError: Cannot read property 'markers' of null
    at drawMarkersDebounce.setTimeout (ChessboardView.js?8d80:287)

I think the problem is that the resize listener isn't being removed when destroy is called.

Hi @cvn,
thanks for the detailed reporting. 👍 You have been right, I optimized the destroy() method and it should be fixed now. Could you please provide some feedback, if it now works for you. Thanks!

Added a testpage for creation and destroying of thousands of boards: https://shaack.com/projekte/cm-chessboard/examples/destroy-many-boards.html

Thank you so much @shaack, destroy() works perfectly now. That test page is pretty entertaining. :)


[bug]G/W Manual Mode - Multisensor6 missing HomeSecurity topic choice

Before submitting a bug please read: https://zwave-js.github.io/zwavejs2mqtt/#/troubleshooting/bug_report
Version
Build/Run method

[ ] Docker
[ ] PKG
[x] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 1.0.1.e227f5b
zwavejs version:  6.1.0
Describe the bug
G/W is in Configured Manually/Just Value mode.
Using the GUI, I want to create an entry in the G/W table for a Aeotec Multisensor 6's "Home Security" parameter (i.e. motion/tampering detection).
In the GUI Pull-down which allows the user to select a CC parameter, there is a long list such as Air Temperature, Humdity, etc.  However there does not seem to be a parameter for motion/tampering detection.
As a reference, doing the same using Zwave2MQTT, the pull down item shows up as "Home Security".
ZWavejs2MQTT does know about this parameter. In the Control Panel, for the Aeotec Multisensor 6, there are several categories of "Values": Binary Sensor, Multilevel Sensor, Configuration,Notification, etc.  Within the Notification  category there are 2 values:  (Node 2 here is the Aeotec Multisensor6)
(2-113-Home Security-Motion sensor status)  Motion sensor...
(2-113-Home Security-Cover status) Cover status...

As a reference, in ZWave2MQTT this shows up as Home Security (2-113-7).  There are is not a separate one for motion versus cover.
Note: the Notification CC for Home Security 113-7 is multivalued and in the Multisensor6 case it uses values: 0 - Cleared, 3 - Tampering, Product covering removed, 8 - Motion Detection Unknown Location.

@tommyjlong Do you see that value added in logs? Could you attach logs please?

My mistake. After further investigation, in the G/W entry pull down, the item is actually present. It is listed as Motion Status as well as Cover Status.


[GEP-20] Fix getting namespace in Zone-Affinity webhook

How to categorize this PR?

/area high-availability
/area control-plane
/kind bug
What this PR does / why we need it:
This PR fixes an issue in the Zone Affinity webhook. Earlier it used the namespace information from the incoming pod object which is not always set, esp. for Kubernetes <= 1.24 (ref).
Special notes for your reviewer:
Credits to @ashwani2k who noticed and reported the issue.
Release note:

NONE

Thanks for the reminder @rfranzke. As discussed, 9bb85f1 has been added to refine ObjectKeyForCreateWebhooks.


Update Get-SPInsightsConfig.md

Fill in placeholder text.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Get-SPInsightsConfig.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


initMiddleware should return a Promise

As per Next.js' docs

Hey @wdavidcalsin @yonycalsin any chance you could take a look at this PR? Thanks :)

@lorenzosignoretti thanks for contributing to nextjs-cors, I left a last comment with that and we can merge master.

Thanks for taking a look at the code, hopefully third time is the charm 😄

great :tada: , thanks @lorenzosignoretti .


fixed bom naming

@m1ngyuan fyi

Codecov Report

Merging #267 into develop will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #267   +/-   ##
==========================================
  Coverage      86.24%   86.24%
  Complexity       448      448
==========================================
  Files            111      111
  Lines           1476     1476
  Branches          26       26
==========================================
  Hits            1273     1273
  Misses           192      192
  Partials          11       11

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b2393d0...63c534f. Read the comment docs.


Slack Grid Upload

Hello!
When uploading my export, I get "That is not a Slack Export file. Please try again"
Where is this determining that this is not a slack file? Can you elaborate on what this is looking for in the upload?

I get the same error. The zip directory I get is attached to check. If I unzip and look through it, it is structured how I would expect, with one folder for each channel and a JSON file for each day's messages within that channel folder.
Slack_export (1).zip

I get the same error. The zip directory I get is attached to check. If I unzip and look through it, it is structured how I would expect, with one folder for each channel and a JSON file for each day's messages within that channel folder.
Slack_export (1).zip

Thanks a lot for the file. I'll try to have a look at it in the upcoming days.

@conjon42 So, the problem with your export seems to be that it's missing a users.json file. That's the one thing I specifically check in Stepper.vue.
I'll think about allowing exports without that file and just displaying placeholder users or something. For now, you could check if there's anything in Slack's admin interface you can do to get an export containing all users.

Thanks for letting me know. I'm a bit busy right now but I'll try to check in the upcoming days.


misleading error message

for
NEW zcl_bar( )->moo( ).
the error message is
"Method "moo" not found, methodCallChain(check_syntax)"
however, the problem is that zcl_bar is unknown

also NEW zcl_bar( ). does not give any syntax error message


Frequent DEADLINE_EXCEEDED from StreamActiveComputations

Describe the bug
Observed frequent DEADLINE_EXCEEDED errors from StreamMeasurements calls resulting from StreamActiveComputations in the system API. This results in the Herald crash-looping.
Component(s) affected
Kingdom
Version
0.4.1, HEAD
Environment
halo-cmm-dev, though suspect this is happening in Origin alpha environment as well
Additional context
The issue appears to be that we're seeing a high number of rows returned from the Spanner query. See the sample from Query Insights. This can happen when a large number of Measurements are updated in a short period of time, for example during the creation of a large Report.

Another factor might be that we're applying the Duchy external ID filter in our application after the query has returned. It's possible that getting this into the WHERE clause could reduce things a bit.
The latency may also be sensitive to the number of processing units allocated to the Spanner instance. The dev environment uses the minimum of 100, where at least 1000 is probably needed for a production environment.

CPU utilization graph for kingdom Spanner DB on halo-cmm-dev:


[docs] Update README.md

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

To be honest, this just looks like spam to me—possibly Hacktoberfest spam. Based on the other PRs I found from this user, I suspect they're using an AI bot to "rewrite" text for open source projects.

https://github.com/rust-lang/rust/pull/116305
https://github.com/freeCodeCamp/freeCodeCamp/pull/51719
https://github.com/leonardomso/33-js-concepts/pull/355
https://github.com/tauri-apps/tauri/pull/7929
etc.

@mdazfar2, if you're interested in doing heavy rewrites like this, I'd suggest opening an issue first to describe what you're trying to accomplish, and why you feel this is important. But a better place to start would be to seek out some smaller changes to make (typos, broken links) to learn more about our contribution process.


Setters run too late on properties of type: ObjectId

var Institution = new server.mongoose.Schema({
  photo:         { set: extract_id, type: server.mongoose.Schema.ObjectId, ref: 'Photo' }
});

function extract_id(obj) {
  console.log("SETTING TO:", obj);
  return (obj && obj._id) ? obj._id : obj;
}

This will be called... but after mongoose uses the Object instead of its _id and throws an error:
Error: Invalid ObjectId
    at Function.fromString (/Users/hunter/work/skool/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js:27:11)
    at ObjectId.cast (/Users/hunter/work/skool/node_modules/mongoose/lib/schema/objectid.js:64:16)
    at ObjectId.applyGetters (/Users/hunter/work/skool/node_modules/mongoose/lib/schematype.js:249:14)
    at model.get (/Users/hunter/work/skool/node_modules/mongoose/lib/document.js:468:18)
    at model.set (/Users/hunter/work/skool/node_modules/mongoose/lib/document.js:329:19)
    at model.set (/Users/hunter/work/skool/node_modules/mongoose/lib/document.js:293:16)
    at model.set (/Users/hunter/work/skool/node_modules/mongoose/lib/document.js:287:16)
    at model.Document (/Users/hunter/work/skool/node_modules/mongoose/lib/document.js:45:17)
    at model.Model (/Users/hunter/work/skool/node_modules/mongoose/lib/model.js:26:12)
    at new model (/Users/hunter/work/skool/node_modules/mongoose/lib/model.js:838:11)

casting happens before setters for all types - sorta needs to be that way for now for backwards compat. will keep this open for 3.x

@aheckmann, what would be the smartest way to work around this in the meantime?
Maybe a second keyword could be created for running before casting: precast: {...}. In version 3.x, it could just be merged with set:{} and deprecated.
I'm trying to automatically create documents & return IDs for dbrefs.


Remove Horizon's Redis commandline flags

Leftover from #2395 .
The flags have been marked as deprecated, but we should give time to users for removing it.

This has already been done

This has already been done


translated to Japanese

I made README-ja.md with Japanese description.

@taijihagino - I don't read Japanese so can't resolve the conflicts - can you go ahead and do it

it's resolved:)


Some people might not be able to search or download after the macOS Sonoma update

On my MacBook Air M1 with 16GB of RAM, I am unable to search or download in LM Studio, but on my other Mac Mini M2 with 16GB of RAM, everything works fine.

I finally discovered that the issue was due to macOS deleting Python, as I received a 'zsh: command not found: python' error in the terminal. I tried the following solution, and it worked for me.
https://stackoverflow.com/a/73095749


Gamerules reset on /mv regen

Information

Server version:  1.16.4(324)

Full output of /mv version -p:  4.1.0-b775

Server log: there are no errors related to this issue

Help request
Problem
Gamerules (such as KeepInv) resets when doing /mv regen
What I have tried
Looking through google, wiki checking if there is a way to keep flags

This is expected as gamerule is stored in the world folder and, regening means deleting the world folder contents and re creating it. But I do feel this is a valid suggestion and may look into in time to come. Will mark it as open to PR for now.

Is there any progress on this one? I am even willing to pay if someone makes it work

Is there any progress on this one? I am even willing to pay if someone makes it work

@Darkweasam if you are still interested, here is a test build for it: https://github.com/Multiverse/Multiverse-Core/pull/2581#issuecomment-790387454. GameRules are now kept by default on world regen.

@benwoo1110 works perfectly, thanks <3


Foundation not installed when "npm install" is run

There seems to be something wrong with either the scripts or the docs regarding the installation.
When I follow the documentation on the latest build, after I run "npm install" Foundation does not appear to be installed (The "bower_components" folder is missing).
I'm not very familiar with how node works, but looking at the package.json file I see the line "postinstall": "bower install && grunt build"
As far as I can tell, this will call bower, which would then install foundation. But "postinstall" never ran - is it suppose to run automatically?
I ran it myself, and everything is now installed.
I think either the docs needs to be updated to say you need to run the command "npm run postinstall" manually, or else the install script needs to be checked to make sure it updates automatically.

Hello. I did just a fresh install myself, and everything worked fine. Could it be that you have an old version of node installed? Run node -v in your terminal and see what version you have. I'm on Node v.0.12.0 / Mac OSX Yosemite and experiencing that everything runs smoothly.

Thanks @olefredrik - my version of node was a few versions behind. I updated to the latest stable and tried again with a fresh install and "postinstall" was called and everything ran as expected. Thanks for your help.


[FEATURE] Fill out missing specs of this plugin in the API Spec Repo

Many endpoints of this plugin have yet to be described in the OpenSearch API Spec repo. Without proper specs, we won't be able to generate clients that can serve these endpoints.
For more details, please check the Developers Guide and the related issue on the spec repo:
https://github.com/opensearch-project/opensearch-api-specification/issues/239

[Catch All Triage - Attendees 1, 2, 3, 4]


typo in "func(1)->GetValue()++  " example

The C++ example code is "func(1)->GetValue()++" but in the explanation it says "...func(1)->GetData is a postfix expression specifying a member of the class, func(1)->GetData() is another function postfix expression,..."

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

ID: f4b27ebf-1ef8-7d0f-3e72-eb11f7219788
Version Independent ID: 2eb3a736-b19f-dd14-f3fc-95b2c6059e28
Content: Postfix Expressions
Content Source: docs/cpp/postfix-expressions.md
Product: visual-cpp
GitHub Login: @mikeblome
Microsoft Alias: mblome

@bboysil thanks! Fixed and should be visible by 09-05.


allow overriden defaults in questionnaire

This works in conjunction with https://github.com/copier-org/copier/pull/476, but is independent of it. If partial answers are written out to a file, they can be re-loaded as default overrides to whatever is specified in the template allowing one to resume progress.
Some code that uses the combination of these two MRs:
PARTIAL_ANSWERS = Path('~/.copier_partial.json').expanduser()

kwargs = {}

if Path(PARTIAL_ANSWERS).exists():
    with open(PARTIAL_ANSWERS) as f:
        kwargs['default_overrides'] = json.load(f)

try:
    result = copier.run_auto(TEMPLATES_SRC, os.getcwd(), **kwargs)
except copier.CopierAnswersInterrupt as e:
    with open(PARTIAL_ANSWERS, "w") as f:
        f.write(json.dumps(e.answers.user))
    print("Wrote partial answers to %s" % PARTIAL_ANSWERS)

Demo of these two features working together: https://asciinema.org/a/iVJvC8wAb8s3nSVKkmnhDjeZE

First pass, I make some modifications and bail.
Second pass, you can see the prior inputs being used.
Prior to the third pass I modify the previous answers that were saved ala the snippet above.
Third pass it's using the template defaults again because I emptied the javascript object.

Codecov Report

Merging #477 (6ab06f3) into master (9f05fdf) will decrease coverage by 0.03%.
The diff coverage is 66.66%.

:exclamation: Current head 6ab06f3 differs from pull request most recent head 0415ba3. Consider uploading reports for the commit 0415ba3 to get more accurate results

@@            Coverage Diff             @@
##           master     #477      +/-   ##
==========================================
- Coverage   96.17%   96.13%   -0.04%
==========================================
  Files          39       39
  Lines        2535     2538       +3
==========================================
+ Hits         2438     2440       +2
- Misses         97       98       +1

Flag
Coverage Δ

unittests
96.13% <66.66%> (-0.04%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

copier/main.py
94.17% <66.66%> (-0.27%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9f05fdf...0415ba3. Read the comment docs.

A little comment on code.
This feature is cool. With a bit of rework, it could fix #235.
Copier could support loading these custom defaults from $XDG_CONFIG_DIR/copier/user-defaults.yaml. It could also feature a CLI flag --user-defaults to allow the execution environment to override that path. Then, the custom defaults get loaded from there automatically.
Implementation would probably go around
https://github.com/copier-org/copier/blob/9f05fdf77d725933be3f779f1c3215467851f92a/copier/user_data.py#L70
Also, this still needs docs, tests, and a CHANGELOG entry to be merged.
Good work! Thanks 🙂

Cheers!
To confirm - you believe this is an incremental step towards getting that functionality? I.E. it simplifies a subsequent MR (likely in cli.py?) that leverages the default-overrides available in the Worker class to merge these rc file defaults?
Walking that out a bit, we'll at some point want to merge (in order):

user defaults (e.g. aws_project = teamname-dev)
partially completed forms (e.g. aws_project = otherteamname-dev)

I think that logic could live entirely in cli.py - i.e. the caller would be responsible for reconciling these alternate default sources.

Tests added.
Changelog updated.

WRT to docs, the docstrings have been updated. Please point me to where  we'd want additional docs.

I think that logic could live entirely in cli.py - i.e. the caller would be responsible for reconciling these alternate default sources.

In general terms, copier behaves the same through API and CLI. However it's true that this can be an exception because it's more ergonomic for an API call to provide user defaults through data than through a local file. So: yes, this is a valid intermediate step forward.

Random test failure appears spurious but I can't re-run.


1.16.x 1.0.0 - Updating block connections for existing BO's

In 1.12.2, the following blocks are connected visually on the client side:

Redstone
Doors
Fences (Iron Bars too)
Panes
Stairs
Chests
(maybe plants?)

In 1.13+, these now have connections set as tags on the server-side. The problem is that the blocks in BO's do not have this new connection data; fences are just fences, not fences with a North and South connection.
Future BO's will be unaffected, but BO's from 1.12 and earlier need to be updated - instead of combing through these manually, we should have a method of updating them automatically. We could either write a little algorithm to loop through all the blocks and figure out which should be updated how, or we could spawn each object in void, run block updates on the affected blocks, and then re-export.
It's unsure if we need a converter for BO4 or just BO3; a BO4 converter could be a lot more complicated than a BO3 converter, which should be able to use mostly pre-existing /otg spawn code.
Randomised branches of BO3 structures may need some manual updating by preset devs.
Potential similar issue for reference: https://github.com/ViaVersion/ViaVersion/issues/856

This is handled by /otg edit. Still to-do for /otg edit's update path:

Ensure all legacy material mappings are correct
Make it do BO2's and BO4's as well
Add a way to update all BO3's in a preset at once

The update can currently be tested either through normal use of /otg edit, or with the use of its -update flag. The update flag will only update, and will expprt a new BO with a prefix "fixed_" added to the name.
This does not handle structures, just single BO's. Connecting pieces between structures need manual updating. RandomBlocks that have connections also need manual updating; there is no way to update those automatically

Authvin fixed this


ENOENT: no such file or directory, stat 'image-layers/xxxxxxx/layer.tar'

Hello,
First, thank you for the great action that you have created. We have been facing a strange error lately on version 0.0.4 and the same error after upgrading to 0.0.8. This action is running on linux (ubuntu-latest).
Here is the issue that we are facing and I was wondering if this would ring a bell to you?

The issue can be seen with this build: https://github.com/criteo/JVips/runs/1441932624
Can you please help me find out what I can check further to solve that error? In the meantime I set the continue-on-error flag in https://github.com/clems4ever/JVips/commit/59a3bd7737df4dd2b261af2124009a370be3ee1c but I'd like to have your point of view on this error anyway.
Thank you in advance.

This action uses the workflow name Build and release as a key for the cache; the error seems to be due to the fact that both Windows and Linux builds share a key.
If you manually set a key for each job, this cache should work well.
https://github.com/satackey/action-docker-layer-caching#inputs

Yes, it does look like the shared cache is causing the problem in the case above. That said, it's possible to get the same error on a single-job workflow if it ever runs concurrently: https://github.com/rcowsill/layer-cache-test/actions
In that test I committed "Test 3, Step 2" before the run for "Test 3, Step 1" had written its cache. The second job can't save all its layer cache files because one already exists. That results in a corrupted cache, making the "Test 3, Step 3" run fail.
This can happen because the extracted tar output from docker save uses symlinks for layers with identical contents. For a set of layers with the same content, one will have a full copy of layer.tar and the others have a symlink to that. This error happens if the cache contains a symlink without the corresponding layer.tar when this line is reached:
https://github.com/satackey/action-docker-layer-caching/blob/653164abc7256353507963bcc28480892acc2ca3/src/LayerCache.ts#L93
I'm going to try changing the action to save only the real layer.tar files and keep all the symlinks in the root cache. As well as fixing this issue it should make the caching more efficient. If it works it'll be possible to share caches across jobs too, though that might need some further changes.

See discussion #97 for more detail on a proposed fix for this.

I am still getting this issue on version 11:
Error: Error: ENOENT: no such file or directory, stat '/home/runner/work/_actions/satackey/action-docker-layer-caching/v0.0.11/dist/ttsc-dist/.adlc/image-layers/18bf75313098a3270fa0787659dc50475861705f6596a8fdfacf2dea982adc26/layer.tar'

Rerunning the workflow results in the same error.


Certain glass blocks appear opaque

Hi! I did find a related issue back in February-ish: https://github.com/MysticMods/Blockcraftery/issues/23
I wasn't sure whether I should necro an old, closed issue, or simply add a new one? Please let me know which is the correct thing. On to the matter at hand:

From the left we have EnderIO's Quite Clear Glass (Fused Quartz blocks are identical and have same issue), Chisel's "Light" Glass (all chisel glass variants seem to have this issue), ExU2's Thickened Glass, Tinker's Construct's Clear Glass, Twilight Forest Auroralized Glass, and NetherEx Soul Glass.
As you can see, some of them work perfectly fine, and the others render as opaque.

Minecraft version: 1.12.2
Forge version: forge-1.12.2-<IP_ADDRESS>38-universal
Modpack version (links to current modlist): 1.7.2
Mod versions: blockcraftery-1.12.2-1.3.1, EnderIO-1.12.2-5.0.46, Chisel-MC1.12.2-<IP_ADDRESS>

Please let me know if I can provide any other information. Thanks for your time! :)

just as an offhand guess, it seems to me like it's specific to mods that use the CTM-mod for connected textures.
i'm unsure how fixable it is, but if it is fixable, then that means we may end up adding CTM-support to blockcraftery? meaning connected textures across framed blocks, maybe. maybe.
i haven't actually done any work on this project (rendering isn't my specialty) so i don't want to say anything for sure, but it's a possibility.

That definitely sounds like a plausible explanation.
If it turns out to be fixable and if you did happen to make connected textures worked with framed blocks, I can assure you that my players and I - and probably a lot of other people - would be absolutely over the moon about it. It would be simply amazing.
That said, I completely understand that it may not be a possibility, and that even if it is, it could be a major undertaking. I am not a coder myself, so I'm unsure what CTM support would take, but it sounds like it'd be a difficult thing to implement. So, if yes: yay! And if not: that's okay, too. In any case, thank you for the spectacular mod :)


DataGrid:  (clrDgRefresh) event triggered when the grid is being destroyed.

Describe the bug
Data grid is triggering clrDgRefresh when the Grid/pagination is destroyed.
This seems to happen after https://github.com/vmware/clarity/pull/2841/files .
ngDestroy of ClrDatagridPagination resets page size which results into state change and thus calling clr-dgRefresh on grid.
For our case, we have a wrapper grid component that listens to this event and makes provides the data via API calls/some data source. Having refresh triggered while being destroyed is not expected as it leads to extra API calls and mismatch of data in case a same grid component is reused between views.
How to reproduce
https://stackblitz.com/edit/grid-refresh-on-destroy
Steps to reproduce the behaviour:

Go to "Tab1" that has data grid.
Click on "Tab2" that has just static text.
Check console.
Console will have logged refresh event triggered by the grid while moving to Tab2.

Expected behaviour
Data grid should not cause refresh on being destroyed.
Versions
App

Angular: 7
Node: 8.9+
Clarity: 1.0.4

Device:

Browser Chrome, FF
Version Latest

Additional notes
Add any other notes about the problem here.

We already have this issue open: #1099
Closing as duplicate.


[WIP][Enhancement] Support updating lake compation task queue count at run…

…time
Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[FE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 36 / 43 (83.72%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/http/action/update_config_action.cpp
0
5
00.00%
[155, 156, 157, 158, 159]

:large_blue_circle:
src/storage/lake/compaction_scheduler.cpp
32
34
94.12%
[164, 165]

:large_blue_circle:
src/storage/lake/compaction_scheduler.h
4
4
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:disappointed: fail : 41 / 54 (75.93%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/http/action/update_config_action.cpp
0
5
00.00%
[155, 156, 157, 158, 159]

:large_blue_circle:
src/storage/lake/compaction_scheduler.cpp
37
45
82.22%
[164, 165, 176, 220, 221, 222, 223, 225]

:large_blue_circle:
src/storage/lake/compaction_scheduler.h
4
4
100.00%
[]

Could you please add some unit tests?

yes, i will do it later


Include build tools in the support matrix

Currently Gradle and Maven are not included in the support matrix: https://start.microprofile.io/api/supportMatrix
The support matrix is used for filtering in the the VS Code Extension

I propose we add the supported build tools for each runtime within the /api/supportMatrix/servers endpoint.  As the Gradle/Maven support is based on the runtime.
I'll check more in details later on and propose a PR.

Resolved #442 #439