[SPARK-31113][SQL] Add SHOW VIEWS command

What changes were proposed in this pull request?
Previously, user can issue SHOW TABLES to get info of both tables and views.
This PR (SPARK-31113) implements SHOW VIEWS SQL command similar to HIVE to get views only.(https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-ShowViews)
Hive -- Only show view names
hive> SHOW VIEWS;
OK
view_1
view_2
...

Spark(Hive-Compatible) -- Only show view names, used in tests and SparkSQLDriver for CLI applications
SHOW VIEWS IN showdb;
view_1
view_2
...

Spark -- Show more information database/viewName/isTemporary
spark-sql> SHOW VIEWS;
userdb	view_1	false
userdb	view_2	false
...

Why are the changes needed?
SHOW VIEWS command provides better granularity to only get information of views.
Does this PR introduce any user-facing change?
Add new SHOW VIEWS SQL command
How was this patch tested?
Add new test show-views.sql and pass existing tests

Test build #119738 has started for PR 27897 at commit a7136a8.

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-K8s/24467/
Test PASSed.

Test build #119746 has started for PR 27897 at commit 7b7ef6e.

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-K8s/24475/
Test PASSed.

Test build #119746 has finished for PR 27897 at commit 7b7ef6e.

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

Test build #119738 has finished for PR 27897 at commit a7136a8.

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/119746/
Test FAILed.

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/119738/
Test FAILed.

Test build #119752 has started for PR 27897 at commit 4a5ccbb.

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-K8s/24481/
Test PASSed.

Test build #119752 has finished for PR 27897 at commit 4a5ccbb.

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

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

Merged build finished. Test PASSed.

cc @gatorsmile @cloud-fan @maropu , thanks!

Any other system (except for hive) supporting this command?

@maropu Thanks for your review, I'll address them soon!

Test build #119817 has started for PR 27897 at commit c5570d2.

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-K8s/24547/
Test PASSed.

Test build #119817 has finished for PR 27897 at commit c5570d2.

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/119817/
Test PASSed.

Test build #119904 has started for PR 27897 at commit dc6e3cb.

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-K8s/24630/
Test PASSed.

Test build #119912 has started for PR 27897 at commit 1d56c0e.

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-K8s/24637/
Test PASSed.

Test build #119904 has finished for PR 27897 at commit dc6e3cb.

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

Test build #119912 has finished for PR 27897 at commit 1d56c0e.

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/119912/
Test FAILed.

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/119904/
Test FAILed.

retest this please

Test build #119925 has started for PR 27897 at commit 1d56c0e.

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-K8s/24650/
Test PASSed.

Test build #119925 has finished for PR 27897 at commit 1d56c0e.

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/119925/
Test PASSed.

The overall looks fine now and anyone can check this? @HyukjinKwon @dongjoon-hyun @cloud-fan

BTW, this should be 3.1.0.

+1 on the splitting as @dongjoon-hyun suggested. btw, thanks for the review, Dongjoon!

Thank you always for pinging me, @maropu . It helps me a lot when I missed many things in the community.

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-K8s/24685/
Test PASSed.

Test build #119962 has started for PR 27897 at commit 475f21e.

@dongjoon-hyun Thanks so much for the review. I've addressed them in 475f21e248f9102e93263c75d7f2ef710fe4c9e1 and will open another PR focusing on getTablesByType and HiveShim. I'll rebase this PR once the getTablesByType is ready.

Test build #119968 has started for PR 27897 at commit 6755904.

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-K8s/24692/
Test PASSed.

Test build #119962 has finished for PR 27897 at commit 475f21e.

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

Test build #119968 has finished for PR 27897 at commit 6755904.

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/119968/
Test FAILed.

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/119962/
Test FAILed.

retest this please

Test build #119976 has started for PR 27897 at commit 6755904.

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-K8s/24699/
Test PASSed.

Test build #119976 has finished for PR 27897 at commit 6755904.

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/119976/
Test PASSed.

A separate PR https://github.com/apache/spark/pull/27952 was opened to focusing on HiveClient related code.
For the fallback solution of Hive 2.2- versions that @cloud-fan suggested, I plan to handle it in HiveExternalCatalog.listViews rather than 'HiveClient.listViews'. So will update here in this PR later. Thanks!
@maropu @dongjoon-hyun @cloud-fan

As Dongjoon guided at https://github.com/apache/spark/pull/27897#pullrequestreview-376388787, seems the PRs can be completely separate without depending on each other. Let's cleanly separate them.

Test build #120023 has started for PR 27897 at commit 6e6d848.

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-K8s/24741/
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/SparkPullRequestBuilder-K8s/24742/
Test PASSed.

Test build #120024 has started for PR 27897 at commit b15a32b.

Test build #120025 has started for PR 27897 at commit 9ce0564.

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-K8s/24743/
Test PASSed.

Test build #120024 has finished for PR 27897 at commit b15a32b.

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

Test build #120025 has finished for PR 27897 at commit 9ce0564.

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

Test build #120023 has finished for PR 27897 at commit 6e6d848.

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/120025/
Test FAILed.

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/120023/
Test FAILed.

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/120024/
Test FAILed.

retest this please

Test build #120040 has started for PR 27897 at commit 9ce0564.

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-K8s/24759/
Test PASSed.

Test build #120040 has finished for PR 27897 at commit 9ce0564.

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/120040/
Test PASSed.

Hi, @Eric5553 and all. #27952 is merged.

Retest this please.

Test build #120138 has started for PR 27897 at commit 9ce0564.

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-K8s/24852/
Test PASSed.

Thanks so much for your help, @dongjoon-hyun! I've rebased #27952 to use getTablesByType API and addressed the comment in https://github.com/apache/spark/pull/27952#discussion_r396041969. Thanks!

Test build #120145 has started for PR 27897 at commit 6051772.

Thank you for swift updating, @Eric5553 .

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-K8s/24859/
Test PASSed.

Test build #120138 has finished for PR 27897 at commit 9ce0564.

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/120138/
Test PASSed.

Test build #120145 has finished for PR 27897 at commit 6051772.

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/120145/
Test PASSed.

Thank you for this PR implementing SHOW VIEWS! It comes at a handy moment, as we discovered that without SHOW VIEWS, Simba ODBC driver implementation of SQLGetTables break with Hive 2.3 profile.
Simba ODBC drivers implemented a workaround because of missing implementation of GetTablesOperation in Spark 2.4 and below, where they implemented SQLGetTables using SHOW SCHEMAS, SHOW TABLES and SHOW VIEWS.
They base the capability to issue SHOW VIEWS on Hive version (which they obtain via set -v). When we switch to Hive 2.3 profile, Simba driver assumes that SHOW VIEWS is supported, and issues it, failing the SQLGetTables call when it fails.
Because of this issue, Tableau and PowerBI, which use the Simba ODBC driver, do not work with Spark 3.0 with Hive 2.3.
Simba is working on a fix, to use the proper SparkGetTablesOperation that was implemented for 3.0, instead of the workaround they do now, but it will take some time, plus then it would take some time for vendors such as Tableau and PowerBI to pick up the new drivers...
For the reasons above, would it be possible to get SHOW VIEWS into Spark 3.0, so at launch it is not broken with Tableau and PowerBI?
WDYT @wangyum @gatorsmile @cloud-fan @maropu @dongjoon-hyun ?

It looks like a bug that we don't implement GetTablesOperation correctly in 3.0, as SHOW VIEWS is missing. I'm fine to backport this PR, or we can revert the support of GetTablesOperation. @wangyum what do you think?

Test build #120198 has started for PR 27897 at commit 01004a9.

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-K8s/24911/
Test PASSed.

It looks like a bug that we don't implement GetTablesOperation correctly in 3.0, as SHOW VIEWS is missing. I'm fine to backport this PR, or we can revert the support of GetTablesOperation. @wangyum what do you think?

We do implement GetTablesOperation correctly in 3.0, just that Simba does not use it yet - but keeps using the workaround they used before. Once Simba fixes it in the drivers to start using the newly implemented GetTablesOperation, the issue will be resolved without SHOW VIEWS.
Simba is working on it and their ETA is to release fixed drivers in mid-April. But then Tableau and PowerBI need to integrate it and release patches - this would add another 4-6 weeks, and then end users have to upgrade, which is another delay.
Even though it will be fixed on the drivers side, I would propose to back-port SHOW VIEWS just to avoid the breakage for users that don't update the client.

Test build #120198 has finished for PR 27897 at commit 01004a9.

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/120198/
Test FAILed.

retest this please

Test build #120201 has started for PR 27897 at commit 01004a9.

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-K8s/24914/
Test PASSed.

Ok got it. So Simba driver issues SHOW VIEWS in Spark 3.0 as the Hive version is 2.3. This looks like a weird assumption as the supported Spark DDL commands should not depend on the Hive version.
Anyway this is a real impact of the Hive version upgrade. I'm fine to support SHOW VIEWS in 3.0.

+1 to support SHOW VIEWS in Spark 3.0.

Test build #120201 has finished for PR 27897 at commit 01004a9.

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/120201/
Test PASSed.

@dongjoon-hyun @cloud-fan @HyukjinKwon Is there any other comments that I should update? Thanks!

To support this, 3a48ea1fe0 is backported to branch-3.0 first.

Test build #120504 has started for PR 27897 at commit d14b4fa.

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-K8s/25210/
Test PASSed.

Test build #120504 has finished for PR 27897 at commit d14b4fa.

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/120504/
Test FAILed.

Test build #120520 has started for PR 27897 at commit 522f63b.

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-K8s/25226/
Test PASSed.

Test build #120520 has finished for PR 27897 at commit 522f63b.

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/120520/
Test PASSed.

Test build #120527 has started for PR 27897 at commit 290a1da.

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-K8s/25233/
Test PASSed.

Test build #120527 has finished for PR 27897 at commit 290a1da.

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/120527/
Test FAILed.

Test build #120532 has started for PR 27897 at commit 3e1576a.

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-K8s/25239/
Test PASSed.

Test build #120532 has finished for PR 27897 at commit 3e1576a.

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/120532/
Test FAILed.

Test build #120543 has started for PR 27897 at commit ed66d4e.

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-K8s/25249/
Test PASSed.

Test build #120543 has finished for PR 27897 at commit ed66d4e.

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/120543/
Test PASSed.

Test build #120657 has started for PR 27897 at commit 90d7019.

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-K8s/25356/
Test PASSed.

Test build #120657 has finished for PR 27897 at commit 90d7019.

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

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/120657/
Test PASSed.

Test build #120681 has started for PR 27897 at commit 2f8074a.

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-K8s/25380/
Test PASSed.

Test build #120681 has finished for PR 27897 at commit 2f8074a.

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/120681/
Test PASSed.

Test build #120707 has started for PR 27897 at commit 55a5997.

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-K8s/25405/
Test PASSed.

Test build #120707 has finished for PR 27897 at commit 55a5997.

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/120707/
Test FAILed.

Test build #120729 has started for PR 27897 at commit 6a4348e.

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-K8s/25427/
Test PASSed.

Test build #120729 has finished for PR 27897 at commit 6a4348e.

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/120729/
Test PASSed.

Test build #120746 has started for PR 27897 at commit 1334a03.

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-K8s/25445/
Test PASSed.

Test build #120750 has started for PR 27897 at commit 7bd9cc6.

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-K8s/25449/
Test PASSed.

Test build #120755 has started for PR 27897 at commit 3073255.

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-K8s/25454/
Test PASSed.

Test build #120746 has finished for PR 27897 at commit 1334a03.

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

Test build #120750 has finished for PR 27897 at commit 7bd9cc6.

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/120750/
Test FAILed.

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/120746/
Test FAILed.

retest this please

Test build #120756 has started for PR 27897 at commit 6d68ec4.

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-K8s/25455/
Test PASSed.

Test build #120755 has finished for PR 27897 at commit 3073255.

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/120755/
Test FAILed.

Test build #120756 has finished for PR 27897 at commit 6d68ec4.

This patch fails PySpark 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/120756/
Test FAILed.

retest this please

Test build #120773 has started for PR 27897 at commit 6d68ec4.

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-K8s/25471/
Test PASSed.

Test build #120773 has finished for PR 27897 at commit 6d68ec4.

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/120773/
Test PASSed.

Test build #120878 has started for PR 27897 at commit 069fbc1.

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-K8s/25570/
Test PASSed.

Test build #120878 has finished for PR 27897 at commit 069fbc1.

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/120878/
Test PASSed.

Could you add like the following to sql-ref-syntax.md? Currently, it's missing there.
docs/sql-ref-syntax.md
 - [SHOW TBLPROPERTIES](sql-ref-syntax-aux-show-tblproperties.html)
+- [SHOW VIEWS](sql-ref-syntax-aux-show-views.html)
 - [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)

Hi, @juliuszsompolski
After we merge this PR to branch-3.0, is there any other blockers for Simba ODBC Driver?

@dongjoon-hyun
Simba has been testing with Spark 3.0 and didn't run into other issues.
With SHOW VIEWS the SQLGetTables operation will run without error, but runs into a number of small correctness problems (all of these are just bugs, because it was never the intended behavior to start issuing SHOW VIEWS based on Hive version in Spark driver; it stems from pieces of shared codebase between Spark and Hive).
What current Simba drivers do is collect the answer to SQLGetTables by calling "SHOW SCHEMAS", and then "SHOW TABLES IN schema" and (now with Hive2.3) "SHOW VIEWS IN schema" for every schema. That results in:

local temporary views will be reported in duplicate, once for every schema (Simba did the deduplication of local temp views from SHOW TABLES responses for every schema, but it doesn't apply to SHOW VIEWS as it didn't expect the SHOW VIEWS to happen...)
views in schemas will be reported twice, and both times as "TABLE", not as "VIEW" (once from SHOW TABLES, which currently also returns VIEWS, and once from SHOW VIEWS; because of the way they lookup table types, the occurrence from SHOW VIEWS will also appear as TABLE)
global temporary views will not be reported (it's an existing issue with Spark 2.4 as well; they never look into global_temp schema, because it's not listed by SHOW SCHEMAS).

Simba will fix all these issues in the next release of their ODBC driver, by switching to use the proper SparkGetTablesOperation metadata operation (and other metadata operations implemented by @wangyum and @AngersZhuuuu last year as well).
So with SHOW VIEWS it's also not perfect because it returns duplicate views, but it is better than currently, because it doesn't fail the call and lets PowerBI connect and Tableau show tables/schemas instead of empty in the schema explorer.
Simba audited their behavior that depend on Hive version in the Spark driver and found the following:
If the Hive version is greater than or equal to 0.13.0 the driver expects the following:
- The server supports server side properties.
If the Hive version is greater than or equal to 1.2.0 the driver expects the following:
- The server supports the UNION syntax without requiring the ALL clause before the UNION clause.
If the Hive version is greater than or equal to 2.2.0 the driver expects the following:
- The server supports the SHOW VIEWS syntax.
If the Hive version is greater than or equal to 3.0.0 the driver expects the following:
- The server supports the GetPrimaryKeys and GetCrossReference API.

GetPrimaryKeys and GetCrossReference is a potential future problem, because Spark does not currently override those Hive operations. But Simba will fix it in next release by making SQLPrimaryKeys and SQLForeignKeys just noops - as Spark does not have any use of primary/foreign keys for now.

Thank you so much for sharing, @juliuszsompolski !

Test build #120922 has started for PR 27897 at commit f6132c0.

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-K8s/25614/
Test PASSed.

Hi, @dongjoon-hyun, thanks so much for your help! And sorry for my mistakes... I've addressed them as you suggested :-)

Thank you for updating, @Eric5553 .
For the last commit, I verified the test case update locally and new generated HTML doc. The other part is only comment-updates. I'll merge this to master/3.0.

Thank you again, all!

@maropu @cloud-fan @dongjoon-hyun @HyukjinKwon @juliuszsompolski , many thanks!!!

Test build #120922 has finished for PR 27897 at commit f6132c0.

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/120922/
Test PASSed.


When publishing components, there is currently a restriction on repositories that only support chartmuseum types

@0xff-dev

We need to add a annotation to indicate that this is a chartmuseum or push allowed


Add d3-module keyword.

Since this excellent module now supports D3 4.x+, it’d be great to add the d3-module keyword so that it shows up alongside the other D3 modules on npm.

Thanks Mike!


simplify decodeFixture

This PR simplifies decodeFixture. Since we are already in a throwing context, there's no need to use do-catch. And we can pass the generic type in by specifying the type of the return parameter at the call site rather than as a parameter into the function.

Awesome 👏


[cdoc] webportal

Coverage increased (+5.05%) to 57.429% when pulling cc3853fb0078db2c4d86a7c20ad7745c7fdef8be on YitongFeng:yitong/web-cdoc into 7804ac60064062c73c205286e7dba01832b65edd on Microsoft:master.

Click the tab "Documents" to read a tutorial of submitting a job, or to download the pai-fs tool.

Please merge with the latest code. this shouldn't appear

Refers to: webportal/README.md:38 in cc3853f. [](commit_id = cc3853fb0078db2c4d86a7c20ad7745c7fdef8be, deletion_comment = False)


[$250] LHN - Copy onyx data option is not shown on long pressing a report in LHN

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9. 0.66-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Launch app
Long press a report

Expected Result:
Copy onyx data option is not shown must be shown on long pressing a report in LHN
Actual Result:
Copy onyx data option is not shown on long pressing a report in LHN
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Standalone
[x] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/62a9a471-e959-4bdf-8171-ac32368325a7
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021861083625636535751
Upwork Job ID:<PHONE_NUMBER>636535751
Last Price Increase: 2024-12-02

I'm going to add this to #quality since copying the Onyx data is relevant for troubleshooting quality issues.

@sakluger, Does this bug only happen in production?

I don't think this is a bug if it's only on prod

Oh great question. I'm going to remove help wanted and check with QA whether it happens in Staging.

@izarutskaya Can you share the Onyx state log?

I added back the Help Wanted label since this is reproduceable in Staging.

@izarutskaya Can you share the Onyx state log?

Please help to share the Onyx state log.
cc @sakluger
It's helpful to know how can we reproduce it because currently, I can't reproduce this bug.

I asked QA to share those Onyx state logs.

Still reproducible
lo.txt

@izarutskaya This file is the console state, not the Onyx state. Can you use the Export Onyx state feature here and share the file you receive?

Let me know please if I can help something else
Build v9.0.71-0
onyx-state.txt

@mkzie2 do you have everything you need now to properly investigate?

Tried with the onyx state below but no luck to reproduce this issue.

Okay thanks for trying @mkzie2. Let's see if we get other proposals.

No proposals yet.

Still no new proposals.

Still no new proposals.

Still no proposals. If there are no proposals this week, I'll ask agencies if they'd like to help.


Pin position and direction utilities

From @marcolincs
What is the feature being requested?
It would be good to not have to repeat the extraction code for position and direction from pins and have a universal method. For now there exists a seed_from_pin() method in the QRoute class, so that I could centralize this operation.
We could take the seed_from_pin() and make of it a method of base components, that accepts the pin name as input and returns position and direction. <- this is preferable, no need to transform pin into class.
Alternative we transform pin to class and get the method in it
What are use cases for this feature?
n/a

There is an established convention with user community.


vpp fowarder: change memif from polling to interupt mode and ring size 512

Change memif mode to interrupt and adjust the ring size to avoid race conditions as the number of client interfaces scale.

This has been tested for a while in Vitess demo.  Merging


couple questions;

Hi,  thanks great work and loving the action sheet replacement but couple things I'm scratching my head over...
1/. how can i disable dismiss on anything other than a button click or selected item action - i.e. don't dismiss when touching outside the sheet?
2/. how can i add headers to section - like the JMActionSheetDescription.title, hacking it at the moment but displaying JMActionSheetItem but this is selectable and don't want it to dismiss.
Screenshot uploaded to help convey what I'm doing..

Thanks in advance, appreciate any help or pointers.

I have commented out  - (void)dimmingViewPressed:(id)sender in JMActionSheetViewController.m to cancel the dismiss on view touch which serves my purpose.
I have also amended - (void)buttonPressed:(id)button in JMActionSheetViewController.m to ignore the dummy JMActionSheetItem for my Share heading.
UIButton* selectedButton = (UIButton*)button;
if ([selectedButton.titleLabel.text isEqualToString:@"Share"]) {
return;
}
I can't help feel there is a butter way to do this or i have missed something.
Thanks.

1/. how can i disable dismiss on anything other than a button click or selected item action - i.e. don't dismiss when touching outside the sheet?

dimmingView is the property to "fix" your problem.
You can try to add a property on JMActionSheet (for example BOOL avoidDismissOnDimmingViewTouch), to manage your case ?
And a pullRequest is appreciate :)

2/. how can i add headers to section - like the JMActionSheetDescription.title, hacking it at the moment but displaying JMActionSheetItem but this is selectable and don't want it to dismiss.

You can implement a class JMHeaderActionSheetItem : JMActionSheetItem
and implement your custom behavior


Bootstrap Vue Components Not Working After NPM Run Generate

Describe the bug
Building a webpage with Nuxt JS and Bootstrap Vue—Navbar dropdown functionality works as expected in dev mode but does not work when generated to static files. Clicking a dropdown item does nothing in the static files but drops down properly in development mode.
Running npm run generate outputs expected static files with 0 errors but functionality is missing in navbar dropdown.
Steps to reproduce the bug

Clone my demo project: https://github.com/humbertoT2/bootstrap-gen-test.git

cd /bootstrap-gen-test/ npm install npm run generate
2. Open index.html in bootstrap-gen-test/dist
3. Click dropdown items in the bootstrap vue nav - they do not dropdown but html and css is loaded.
If you do not want to clone the project you can do the following.

I generated this project from nuxtjs get started page with:
npx create-nuxt-app

Simply choose bootstrap as your UI framework in the setup process

Add example dropdown nav code from bootstrap vue component docs in index.vue:

npm run generate

open index.html in your-project-name/dist/

Expected behavior
Navbar dropdown item functionality to work (dropdown) in static file setting
Versions
nuxt: ^2.0.0
bootstrap-vue: ^2.0.0
bootstrap: ^4.1.3
Environment:

Device:  Macbook
Browser: Chrome

Demo link
https://t2hwp.t2marcom.com/bootstrapvue/dist/index.html

cc @pi0

Any news on this? I have a similar problem: all bootstrap CSS classes are available while running dev mode but disappear after running generate.

Any news on this? I have a similar problem: all bootstrap CSS classes are available while running dev mode but disappear after running generate.

I found you need to run your generated site on a server for bootstrap vue functions to work. Simply trying to access the generated html will load a bootstrap site without bootstrap vue functionality.

Any news on this? I have a similar problem: all bootstrap CSS classes are available while running dev mode but disappear after running generate.

I found you need to run your generated site on a server for bootstrap vue functions to work. Simply trying to access the generated html will load a bootstrap site without bootstrap vue functionality.

Thank's for the hint!


Admin dashboard

First pass at admin dashboard

Signed off by Adrian, ready for code review
@dotemacs can you have a look?

Seems fine to me :+1:


Utilize the OSI API's to automatically populate the isOsiApproved flag in the listed license

https://api.opensource.org/licenses/  can access the SPDX license ID and OSI status.  This can be used to do one of the following:

Fill in the OSI approved text on spdx.org/licenses based on JavaScript and real time access to the OSI API and deprecate the isOsiApproved attribute in the license list XML
Set the value for osiApproved in the listed licenses based on the OSI API information at the time the license list is generated and deprecate the isOsiApproved attribute in the license list XML
Continue to use the isOsiApproved attribute in the license list XML, but generate a warning if the OSI API does not agree with the isOsiApproved XML attribute value.

Suggested by @wking on SPDX tech email dist. list

My current preference is solution #2 since #1 depends on the OSI API site being available.  The frequency of license updates should be sufficient to keep things in sync.

From @wking
On Fri, Oct 13, 2017 at 09:20:56PM +0000, goneall wrote:

https://api.opensource.org/licenses/ can access the SPDX license ID
and OSI status.

The API is backed by OpenSourceOrg/licenses, and there's still a
non-canonical warning up there 1.  See also
OpenSourceOrg/licenses#47.  Hopefully serious SPDX interest (and
assistance?  I have some open PRs over there) will encourage them to
push through to something authoritative.

Fill in the OSI approved text on spdx.org/licenses based on
JavaScript and real time access to the OSI API and deprecate the
isOsiApproved attribute in the license list XML

I like this way for public HTML, although I think we'll want to go
with (2) if we distribute text/plain or similar versions of the list.
While there is a risk that the OSI site could go down, I'm fine just
telling consumers that the site is down.  With the JavaScript
approach, you wouldn't have to update the vOld page as the OSI
approves new licenses.
But if we plan on periodically rebuilding pages for all versions of
the license list to pick up new approvals, then baking the approval
status into the built pages is fine.

Moved from https://github.com/spdx/tools/issues/111

@swinslow @jlovejoy Any opinion on this issue?  Should we remove the XML OSI Approved from the XML and use the API?  At a minimum, I think we should generate a warning.

The following warnings are generated when comparing the OSI metadata to the license-list-XML metadata on OSI approved:
	License AFL-2.1 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License AFL-1.2 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License AFL-1.1 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License AFL-2.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License 0BSD is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License AGPL-3.0-only is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License AGPL-3.0-or-later is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License APSL-1.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License APSL-1.1 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License Artistic-1.0-cl8 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License APSL-1.2 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License Artistic-1.0-Perl is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License BSD-2-Clause-Patent is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License BSD-1-Clause is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License BSD-3-Clause-LBNL is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License CAL-1.0-Combined-Work-Exception is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License CAL-1.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License CERN-OHL-P-2.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License CERN-OHL-S-2.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License CERN-OHL-W-2.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License EPL-2.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License EUPL-1.2 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License GPL-2.0-only is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License GPL-2.0-or-later is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License GPL-2.0+ is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License CECILL-2.1 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License GPL-3.0+ is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License GPL-3.0-only is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License GPL-3.0-with-GCC-exception is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License GPL-3.0-or-later is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-2.0-only is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-2.0-or-later is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-2.1-only is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-2.1-or-later is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-2.0+ is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-2.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-3.0-or-later is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-3.0-only is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-3.0+ is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LiLiQ-Rplus-1.1 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LiLiQ-R-1.1 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LiLiQ-P-1.1 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License MIT-Modern-Variant is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License MPL-2.0-no-copyleft-exception is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License LGPL-2.1+ is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License MulanPSL-2.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License OFL-1.1-RFN is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License OFL-1.1-no-RFN is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License OLDAP-2.8 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License OSET-PL-2.1 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License OSL-2.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License PHP-3.01 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License UCL-1.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License Unlicense is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License UPL-1.0 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License Unicode-DFS-2016 is not included in the OSI metadata, but is marked as OSI approved in the License XML
	License wxWindows osiApproved is set to true by OSI, but is not marked as OSI approved in the License XML
	License MIT-0 is not included in the OSI metadata, but is marked as OSI approved in the License XML

The vast majority of the warnings are due to inconsistencies in the OSI data.  The repo hosting the API may no longer be maintained.
See https://github.com/OpenSourceOrg/licenses/issues/62 for the list of inconsistencies.

Warnings not related to OSI data inconsistencies include:

The GPLxx-or-later, GPLxx-only ID's not being included in the OSI data
Some APSL license versions are not on the OSI list - this could be intentional, so I added https://github.com/spdx/license-list-XML/issues/1328
Some AFL license versions are not on the OSI list - this could be intentional, so I added https://github.com/spdx/license-list-XML/issues/1327
wxWindows is deprecated and replaced by an exception.  I added a pull request to resolve: https://github.com/spdx/license-list-XML/pull/1329

I did not create a PR for the following remaining warnings.  I think they can be safely ignored - but @swinslow and/or @jlovejoy should review just to be sure:

OSL-2.0 is not on the OSI website, but OSL-1.0, and 2.1 are.  I don't think this is intentional, so I didn't create an issue
Artistic-1.0-cl8 and Artistic-1.0-Perl identifiers are not listed on the OSI website - I recall several discussions on this, so I'm just ignoring these warnings
MIT-Modern-Variant
MPL-2.0-no-copyleft-exception
OFL-1.1-RFN
OFL-1.1-no-RFN

Summary - the following SPDX ID's with a warning should be ignored:
 0BSD
 AGPL-3.0-only
 AGPL-3.0-or-later
 Artistic-1.0-cl8
 Artistic-1.0-Perl
 BSD-2-Clause-Patent
 BSD-1-Clause
 BSD-3-Clause-LBNL
 CAL-1.0-Combined-Work-Exception
 CAL-1.0
 CERN-OHL-P-2.0
 CERN-OHL-S-2.0
 CERN-OHL-W-2.0
 EPL-2.0
 EUPL-1.2
 GPL-2.0-only
 GPL-2.0-or-later
 GPL-2.0+
 CECILL-2.1
 GPL-3.0+
 GPL-3.0-only
 GPL-3.0-with-GCC-exception
 GPL-3.0-or-later
 LGPL-2.0-only
 LGPL-2.0-or-later
 LGPL-2.1-only
 LGPL-2.1-or-later
 LGPL-2.0+
 LGPL-2.0
 LGPL-3.0-or-later
 LGPL-3.0-only
 LGPL-3.0+
 LiLiQ-Rplus-1.1
 LiLiQ-R-1.1
 LiLiQ-P-1.1
 MIT-Modern-Variant
 MPL-2.0-no-copyleft-exception
 LGPL-2.1+
 MulanPSL-2.0
 OFL-1.1-RFN
 OFL-1.1-no-RFN
 OLDAP-2.8
 OSET-PL-2.1
 OSL-2.0
 PHP-3.01
 UCL-1.0
 Unlicense
 UPL-1.0
 Unicode-DFS-2016
 MIT-0

I don't quite have my head around all the warnings that should be ignored (will need to think and look more closely, as well as go into attic of memory...)
But generally speaking I am in favor of using the OSI data and your #2 proposal IF:

we can confirm the OSI is maintaining this; and
perhaps they can add some of the missing stuff so we don't have to "ignore" various warnings

Maybe we should wait to see if you get a response on the issue you logged in due time. If not, then reach out to OSI board directly?

Maybe we should wait to see if you get a response on the issue you logged in due time. If not, then reach out to OSI board directly?

How about we reach out to the OSI board in 2 weeks if we don't hear back.
Haven't heard anything yet - but its only been a few days.

There have been some updates from OSI in their repo - cross referencing them here:

There is a discussion on the process for accepting pull requests for fixes to their data in this PR: https://github.com/OpenSourceOrg/licenses/pull/65
The AFL licenses issue doesn't look like it will be addressed soon - the issue tracking the inconsistency was closed, but I did request it to be re-opened: https://github.com/OpenSourceOrg/licenses/issues/66
I added a PR for a script which copies SPDX license list data to the OSI repo: https://github.com/OpenSourceOrg/licenses/pull/68


Xnero: Watch 69pot.com

Xnero requests the watch of the watch_keyword 69pot\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

69pot\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Dependencies potentially not updated on ci/cd

It seems that the dependencies/environment are not updated on the ci/cd. New packages are installed, but existing ones do not seem to be updated to the latest version.

In fact, they are not updated. To enforce a specific version, a constraint must be added to `pyproject.toml'.


Where is "Add Record?

The video for version 1.4 illustrated how to implement the "Add Row" feature.  However, I tried that and could not see that anything happened.  I also noticed in your notes, that "Add Row" is listed as an enhancement to be included in version 3.0  I looked through the commits here, and did not see where the feature had been removed, but I realize that it could of been removed earlier than the first commit listed here.  Do you have the ability to add a row/ to me that is a critical capability.

Adding a record was removed, and as of now I have no plans to add it back. Why? Because I never used it.  I always needed something more advanced in my use.  I would either a) need a dialog box with a form b) use a new page with a form or c) needed some custom processing before adding. Since there were just so many "non grid" cases for adding, I made it so that you can 1) add a button to add and 2) refresh the grid with previous params so that after your add, the grid is reloaded.
So TL;DR you should make your own add however you need to, and refresh the grid afterwards.

Thanks for the information.
I'd like to request you reconsider at a minimum including the ability to have a simple "Add a null record" button.  My customers need to add records all the time, so within the original spirit and PR of OpenJS Grid, having users need to "roll their own" on this seems inconsistent with your declared goals for this product.
Even if someone did not want to have all the fields editable on the normal page, an "Add record" button could be used to take them to a different page, one where editing has been enabled, strictly for the purpose of adding a record. Any limitations and controls on who could access that page could nicely be left to us.
Thanks for considering.

What would the benefit be of a null record?  9 times out of 10 it wouldn't even show up in your grid. (Because the grid normally has where conditions limiting what has been selecting). So you'd add a null record to your database and then nothing would show up on the grid. (most likely)

In my cases, there is always an ID, and usually a field that has a default value, so a "null record" is not really null, and they would be displayed.  It would be a minor imperfection if you were required to display the Index to be able to use the feature I propose.
How did it work in version 1.4?

In V1.4 I added a null record.  But in almost all cases it wasn't enough. I either needed to process something on the record first, or I needed to ask more data and it was a bad UX to add a record and then open a form.  Or I  needed to add data to more than 1 table at once, so adding a null record would only do half that job.
Sure adding a null record works for the simplest of cases, but once you start using the grid in real bigger projects, you never will use that simple case.

Not to be argumentative, but to provide you feedback from users, I will always have the simple cases, even when I start using the grid for bigger "projects".  I have a number of eCommerce websites, and since the developer did a good job or normalizing the database, the are lots of simple tables, each of which potentially needs simple maintenance actions.
Also, if I can do half the job, in 2 simple steps I am done.  As things currently stand, I need to get back to a somewhat distasteful (especially after achieving simplicity in the other areas) task to create code to add records.
Please reconsider this.

I can consider it, the PHP part of the code is actually still there in grid.php. It would only be a matter of adding an option to add the button that calls the method. So it's just a matter of adding a little javascript.

That would be great.  Is there a commit on GitHub that "removed" that feature.  I would be very happy to "turn it back on" in my local repo, and create a pull request if you wanted it.

1.4 to 2 was a total rewrite. So it's not gonna be that simple.


Issue pre-processing TCGA slides

Hi,
I am following your instructions using your implementation of CLAM to extract the patches and generate the h5 files.  When I get to processing the larger slides, I get the following error.
Maximum support image dimension is 65500
How did you manage to overcome this limitation using your CLAM implementation? As per the other issue, I am unable to download all of your pt files efficiently due to the download limitation of Sharepoint (although keen to repeat your process end to end).
Any help and guidance would be much appreciated!
Ben

Hi,
In the .sh script for patch segmenting, you could add this line of code at the start to mitigate this error:
export OPENCV_IO_MAX_IMAGE_PIXELS=10995116277760
Let me know if this works out.

Many thanks.  I managed to resolve the issue by replacing your version of wsi_core/WholeSlideImage.py from the CLAM repo.  That said, you mention that your version is accelerated.  Is there anything else I should consider with not using your version?

Hi, main acceleration is implemented in the extract_features_fp.py file (used for feature extraction). If any error occurs during feature extraction, you could put back our original wsi_core/WholeSlideImage.py to try mitigating the errors.
Feel free to report any unexpected problems!


Gustav Erikson - Please Add to Repo

Great, thanks, you should have an invite!

Great, thanks for accepting the invite!


Large model for nuscenes

Hi, thanks for publishing the code for your work!
I noticed the large model with 256 channels provides better results on Waymo, but the models for nuscenes and argoverse are not scaled up and use 128 channels. Is there a particular reason for this decision, or do you think the same scaling work on these datasets as well?

Hi,
I only tried the large model on Waymo before, but not on nuScenes or Argoverse2 before. I think it should also be helpful.
Regards,
Yukang Chen

Thanks!


While compiling dependencies, I get the error of missing std

error[E0463]:` can't find crate for `std`
  |
  = note: the `x86_64-blog_os-15208490549555036839` target may not support the standard library
  = note: `std` is required by `serde` because it does not declare `#![no_std]`
  = help: consider building the standard library from source with `cargo build -Zbuild-std`

Code:
// src/main.rs

#![no_std] // don't link the Rust standard library
#![no_main] // disable all Rust-level entry points

use core::panic::PanicInfo;

/// This function is called on panic.
#[panic_handler]
fn panic(_info: &PanicInfo) -> ! {
    loop {}
}

static HELLO: &[u8] = b"Hello World!";

#[no_mangle] // don't mangle the name of this function
pub extern "C" fn _start() -> ! {
    // this function is the entry point, since the linker looks for a function
    // named `_start` by default
    let vga_buffer = 0xb8000 as *mut u8;
    for (i, &byte) in HELLO.iter().enumerate(){
        unsafe {
            *vga_buffer.offset(i as isize * 2) = byte;
            *vga_buffer.offset(i as isize * 2 + 1) = 0xb;
        }
    }
    loop {}
}

.cargo/config.toml:
[unstable]
build-std-features = ["compiler-builtins-mem"]
build-std = ["core", "compiler_builtins"]
[build]
target = "x86_64-blog_os.json"

Should I delete the no_std line? or build using "-Zbuild-std"
What did I do wrong? Maybe it's obvious, but I can be inattentive. .

The problem was that the config.toml file was common to all projects.


Tutorial doesn't work with the latest master version (based on Java 11)

This is explained on #33. Likely, the problem is we have some files with bad accessions, causing #29.

@KeywanHP, @AjitPS, was this updated? Can we close this?


Blocks: improve performance / reduce reliance on Core @wordpress packages

The Follow Me block currently relies on different @wordpress packages:

wp-api-fetch
wp-components
wp-compose
wp-dom-ready
wp-element
wp-i18n
wp-primitives

Those packages have to be loaded on the frontend, potentially on every page of the site if the Follow Me Block is added to a sidebar or the footer that appears on all pages.
Ideally, I think we should aim to have a block that's as light as possible on the frontend. Removing packages that in turn bring in all of React would be a good start, for example.

cc @mattwiebe who recently worked on #1091 for the Reactions block.
It would be nice if we could look into this for all our blocks. Having to load the whole React for the Reactions block, for example, may stop me from using the block on a site where I am careful about performance and try to avoid too many js loaded on the frontend.


Fix/linear shapes

Implemented the changes proposed here
Please note the changes to test/scholar/linear/bayesian_ridge_regression_test.exs to fully understand the scope of the changes.
On the above comment, I defended models being equal when fitting single column vectors and one dimensional vectors.
However, I've just thought a drawback to this approach.
If the output of .predict is the same on both input cases, this means that prediction and target shapes may be different. This can cause some inconveniences.
I still think this is the better approach, but I want to make clear that the change is significant.

I think it looks great :). Additionally, I would indicate somewhere information that the different input and target shapes may be different in specific case.

Great, I'll update the docs


Crash in `converter/plugins/SourcePlugin.js:128:22

I'm attempting to run typedoc 0.5.9  on a project that is all modules but has a single non-module script file.
Run with these params:
typedoc --out ./docs/ --mode modules --excludeExternals --module commonjs --target ES6 --readme ./README.md/ ./src/
I get this stacktrace:
Using TypeScript 2.2.1 from E:\git\apis\git_rest\node_modules\typedoc\node_modules\typescript\lib
E:\git\apis\git_rest\node_modules\typedoc\dist\lib\converter\plugins\SourcePlugin.js:128
            directory.files.push(file);
                     ^

TypeError: Cannot read property 'files' of undefined
    at E:\git\apis\git_rest\node_modules\typedoc\dist\lib\converter\plugins\SourcePlugin.js:128:22
    at Array.forEach (native)
    at SourcePlugin.onEndResolve (E:\git\apis\git_rest\node_modules\typedoc\dist\lib\converter\plugins\SourcePlugin.js:113:23)
    at triggerEvents (E:\git\apis\git_rest\node_modules\typedoc\dist\lib\utils\events.js:129:43)
    at triggerApi (E:\git\apis\git_rest\node_modules\typedoc\dist\lib\utils\events.js:111:13)
    at eventsApi (E:\git\apis\git_rest\node_modules\typedoc\dist\lib\utils\events.js:21:18)
    at Converter.EventDispatcher.trigger (E:\git\apis\git_rest\node_modules\typedoc\dist\lib\utils\events.js:280:13)
    at Converter.resolve (E:\git\apis\git_rest\node_modules\typedoc\dist\lib\converter\converter.js:183:14)
    at Converter.convert (E:\git\apis\git_rest\node_modules\typedoc\dist\lib\converter\converter.js:110:28)
    at CliApplication.Application.convert (E:\git\apis\git_rest\node_modules\typedoc\dist\lib\application.js:78:37)

I did a little digging and and the path variable that is set just before the crash is test/files which is a folder that contains the non-module script file.
I realize typedoc does not support building documentation for files and modules, and I am not expecting it to. I was just not expecting it to crash in the case it came across a non-module.
This may be related to: #420

Thanks for the detailed report. I think it is more likely related to #440. I'll close this a a duplicate.


Local area search senario discussion

We have this issue at Trello https://trello.com/c/sBVZQ64G. But it seems we are not actively using Trello anymore. Migrating to this.
My basic idea is like TAN scenarios, we demonstrate different sonar images for (1) plane floor (2) Various objects on the seafloor (3) Slopes on the bathymetry without having actual control, search algorithm, we could demonstrate how sensory, world, the framework can support those needs of uses.
I'll push forward in those aspects. To demonstrate anything looking at seafloor angle would require https://github.com/Field-Robotics-Lab/nps_uw_multibeam_sonar/pull/19 to be wrapped up.

Back to Trello 🗡


java.lang.NullPointerException when notification recieved when app in the foreground

Bug report

CHECKLIST

[X] I have read the issue reporting guidelines

[X] I confirm this is a suspected bug or issue that will affect other users

[X] I have reproduced the issue using the example project or provided the necessary information to reproduce the issue.

[X] I have read the documentation thoroughly and it does not help solve my issue.

[X] I have checked that no similar issues (open or closed) already exist.

Current behavior:

When app is in the foreground onMessageReceived is not triggered.
The following line appears in the console output:
[ng] [console.error]: "FirebasePlugin[native]: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.toString()' on a null object reference"

I believe the source of the error is the following line (152):
image = notification.getImageUrl().toString();

in FirebasePluginMessagingService.java
https://github.com/dpa99c/cordova-plugin-firebasex/blob/ddbaccc45c3da39e5b4a6fb8255935d372cfe275/src/android/FirebasePluginMessagingService.java#L152
notification.getImageUrl() can return null (see: https://firebase.google.com/docs/reference/android/com/google/firebase/messaging/RemoteMessage.Notification#public-uri-getimageurl), but this code doesn't handle that case.
Expected behavior:

onMessageRecieved should trigger without error

Fixed by #709 which is merged and will be published with next release

Wow, thank you and @rokkreslincom for the quick turnaround on this

Fixed by #709 which is merged and will be published with next release

When is that released? Kind og breaks our code right now.

When is that released? Kind og breaks our code right now.

@renemadsen I suggest you install this plugin at the specific commit that includes this fix, then subscribe to this issue to see when it's closed, or even subscribe to the repo as a whole to see when a new update is released.
I've installed this in my project using the following:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebasex.git#751ba5a35fe7461731cde6a1ea5fd1b973941572

obviously appending any --variable arguments your own project requires..

Well, its now been nearly 3 months that the 14.0.0 was released which is broken for Android but works in IOS.  So for Android I need either the specific commit OR use the previous 13.0.0 version and of course those both do NOT work in IOS because of issues with the LD_RUN... etc. The set of steps to take in IOS is also pretty much a nightmare.
Let me paint a picture of the only set of steps that currently works for IOS if the last one you worked on was Android:

remove<EMAIL_ADDRESS>from package.json (that works in Android)
comment all firebasex imports and code in src
delete package-lock.json and node_modules
do fresh npm install
ionic cordova platform add ios
ionic cordova build ios --prod
open .xcworkspace
set dev team + goto build settings -> signing -> Code signing identify and choose IOS developer
build settings --> linking --> Runpath Search paths and add the $(inherited) to both debug and release items in this category
build to simulator
close xcode/simulator
now we can add the plugin back and uncomment all the code in .src
back to xcode to test or release the code.

And of course the other way round if you then need to do an Android release. Love your plugin but feel my pain ;-)
Could we get an ETA on a next release please?

This is creating some major issues for me as well, trying to maintain simultaneous Android and iOS releases for my app. Not trying to be negative, just a bit puzzled by the lack of a new version release here.

Well, its now been nearly 3 months that the 14.0.0 was released which is broken for Android but works in IOS. So for Android I need either the specific commit OR use the previous 13.0.0 version and of course those both do NOT work in IOS because of issues with the LD_RUN... etc. The set of steps to take in IOS is also pretty much a nightmare.
Let me paint a picture of the only set of steps that currently works for IOS if the last one you worked on was Android:
* remove<EMAIL_ADDRESS>from package.json (that works in Android)

* comment all firebasex imports and code in src

* delete package-lock.json and node_modules

* do fresh npm install

* ionic cordova platform add ios

* ionic cordova build ios --prod

* open .xcworkspace

* set dev team + goto build settings -> signing -> Code signing identify and choose IOS developer

* build settings --> linking --> Runpath Search paths and add the $(inherited) to both debug and release items in this category

* build to simulator

* close xcode/simulator

* now we can add the plugin back and uncomment all the code in .src

* back to xcode to test or release the code.

And of course the other way round if you then need to do an Android release. Love your plugin but feel my pain ;-)
Could we get an ETA on a next release please?

This is creating some major issues for me as well, trying to maintain simultaneous Android and iOS releases for my app. Not trying to be negative, just a bit puzzled by the lack of a new version release here.

The issue is fixed for me by the 14.1 release - I no longer need to juggle the version for Android and iOS.


Improve PCK loading filename handling

This PR changes the code for loading a PCK file, specifically how it finds the .pck file. Discussed on RocketChat.
The existing behavior of having mygame.exe and mygame.pck still works fine. The code in this PR is actually simpler while still having the functionality of the current master and more, although there are more lines of code because I abstracted it into a separate method and added more comments.
The code continues stripping the file name of extensions until it finds a PCK, or until there are no more extensions to strip. For example, let's say our executable is "mygame.x86_64.exe". First we look for "mygame.x86_64.exe.pck". If that fails, we look for "mygame.x86_64.pck". If that fails, we look for "mygame.pck". This allows having multiple executables for a game that share a specific PCK file, or providing different PCK files for different architectures or other custom situations. This PR also moves this logic into its own method.
Aside from allowing stripping more extensions, this PR does change the order of how things are searched, which changes behavior, but only in a minor way, and in my opinion the new behavior is much better. It will now search for the fullest names first in all locations before trying a shorter name. For example, let's say we have an executable named mygame.exe, in the current master it will search for .pck files in this order:
mygame.pck (in executable directory)
mygame.exe.pck (in executable directory)
mygame.pck (in current directory)
mygame.exe.pck (in current directory)
(even if there were more extensions to strip, the current master would stop after looking at these 4)

In this PR, the order will instead look like this:
mygame.exe.pck (in executable directory)
mygame.exe.pck (in current directory)
mygame.pck (in executable directory)
mygame.pck (in current directory)
(if there were more extensions to strip, this PR would continue)

I have already done some testing, and it works exactly as expected.

I don't like this, it adds unnecessary flexibility and makes it harder to actuzlly detect Godot games for something like SteamDB. I don't see a good rationale for adding this flexibility.
We should not encourage filenames with multiple "extensions", that's confusing.

@akien-mga If users want to ship multiple executables for different architectures, how do you recommend this be done? On Linux there can be game.x86_64, game.x86_32, game.arm64 etc, since the extension is just a convention and we can just have a single extension for the architecture. On Windows the .exe extension is required so the best that could be done is something like game.x86_64.exe etc, or maybe game_x86_64.exe which would have one extension but then we can't reuse the same .pck file.
The flexibility is optional, we don't have to encourage its use or even document it. If all someone does is use the same names as in the current master and in 3.x, like game.exe, it will still work fine.

Or ever do it in opposite direction, something like:

get the list of PCK in the executable folder first.
use exec_filename.begins_with(pck_file.get_file()) to determine which to load.

I'm not sure what the point of that would be. This suggestion seems to add complexity for no benefit.

Yeah, this would be nice.
Alternatives I see are not very attractive:

ship separate packages for each architecture or bundle x86 based versions together (they compress well) and arm together? It's definitely more complicated
ship multiple copies of the .pck file... in ZIP it might deflate well, but will still take space on user's disk
ship a hard/symbolic link "alias" to the .pck file so other executables will find it - but not all filesystems support this...
ship launch script that runs the extra executables with parameters to make them find the .pck file

Being able to have more options to have Godot runtime find the .pck file would be really useful...


endpoint to Get resource timeline

Is your feature request related to a problem?
I want to retrieve the audit trail of changes for a resource to detect manual changes.
Describe the solution you'd like
Extended class with with get_resource_timeline (https://pan.dev/prisma-cloud/api/cspm/get-timeline-for-resource/)
Describe alternatives you've considered
Building myself or forking code
Additional context
See problem above.

Feel free to submit a PR, using this documentation to add the method:
https://github.com/PaloAltoNetworks/prismacloud-api-python/tree/main/prismacloud/api/cspm
Or just call the endpoint directly in your script via:
result = pc_api.execute('POST', 'resource/timeline', body_params={...})

Thank you, implemented that work around.


Calling the destructor of a websocket stream throws system error 22 (EINVAL)

Hello,
I have a custom STOMP implementation that uses an underlying stream of type
boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::tcp_stream>>

After connecting the STOMP implementation reads from/writes to the websocket and then closes the STOMP connection by sending the STOMP command DISCONNECT. Then the STOMP implementation reads from the socket waiting for the remote command RECEIPT. However it seems that the remote side just closes the websocket without sending the RECEIPT, so at one point the websocket read throws a boost system error with error code boost::beast::websocket::error::closed
This is a GDB print of the exception is as follows
(gdb) p e
$5 = (const boost::system::system_error &) @0x7fffffffd500: {<std::runtime_error> = {<std::exception> = {_vptr.exception = 0x6c69b8 <vtable for boost::system::system_error+16>},
    _M_msg = "The WebSocket stream was gracefully closed at both endpoints [boost.beast.websocket:1 at /usr/include/boost/beast/websocket/impl/stream.hpp:365:9 in function 'void boost::beast::websocket::stream< <te"...}, code_ = {{
      d1_ = {val_ = 1, cat_ = 0x80f400 <boost::beast::websocket::make_error_code(boost::beast::websocket::error)::cat>}, d2_ = "\001\000\000\000\377\177\000\000\000\364\200\000\000\000\000"}, lc_flags_ = 7379585}}

After that point attempt to call
close (boost::beast::websocket::close_code::normal)

on the websocket throw boost::system::errc::operation_canceled
Regardless of whether close has been called on the socket, any following attempt to call the destructor of the websocket cause it to throw boost::system::errc::invalid_argument
This is the relevant part of the GDB backtrace
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff72a8513 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2  0x00007ffff724fc4e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff7237902 in __GI_abort () at abort.c:79
#4  0x00007ffff74a5da9 in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95
#5  0x00007ffff74b7c4c in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48
#6  0x00007ffff74a5849 in __cxa_call_terminate (ue_header_in=0xa37c70) at ../../../../libstdc++-v3/libsupc++/eh_call.cc:56
#7  0x00007ffff74b74b0 in __cxxabiv1::__gxx_personality_v0 (version=<optimized out>, actions=6, exception_class=5138137972254386944, ue_header=0xa37c70, context=0x7fffffffd150)
    at ../../../../libstdc++-v3/libsupc++/eh_personality.cc:692
#8  0x00007ffff7cf4b59 in _Unwind_RaiseException_Phase2 (exc=exc@entry=0xa37c70, context=context@entry=0x7fffffffd150, frames_p=frames_p@entry=0x7fffffffd240) at ../../../libgcc/unwind.inc:64
#9  0x00007ffff7cf5231 in _Unwind_RaiseException (exc=0xa37c70) at ../../../libgcc/unwind.inc:136
#10 0x00007ffff74b7ecb in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=0x7ffff7655378 <typeinfo for std::system_error>, dest=0x7ffff74e7270 <std::system_error::~system_error()>)
    at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:93
#11 0x00007ffff74a9319 in std::__throw_system_error (__i=22) at /usr/src/debug/gcc-14.1.1-7.fc40.x86_64/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/system_error:233
#12 0x0000000000441d39 in std::mutex::lock (this=0xa35e08) at /usr/include/c++/14/bits/std_mutex.h:117
#13 0x000000000044869a in std::lock_guard<std::mutex>::lock_guard (this=0x7fffffffd460, __m=...) at /usr/include/c++/14/bits/std_mutex.h:250
#14 0x000000000048b1d6 in boost::beast::websocket::detail::service::impl_type::remove (this=0xa38680) at /usr/include/boost/beast/websocket/detail/service.ipp:35
#15 0x000000000048c2c2 in boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::unlimited_rate_policy> >, true>::~stream (this=0xa37900,
    __in_chrg=<optimized out>) at /usr/include/boost/beast/websocket/impl/stream.hpp:47
#16 0x000000000048c01e in std::default_delete<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::unlimited_rate_policy> >, true> >::operator() (this=0x824138, __ptr=0xa37900) at /usr/include/c++/14/bits/unique_ptr.h:93
#17 0x00000000005b9348 in std::__uniq_ptr_impl<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::unlimited_rate_policy> >, true>, std::default_delete<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::unlimited_rate_policy> >, true> > >::reset (this=0x824138, __p=0x0)
    at /usr/include/c++/14/bits/unique_ptr.h:205
#18 0x00000000005b9be5 in std::unique_ptr<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::unlimited_rate_policy> >, true>, std::default_delete<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::unlimited_rate_policy> >, true> > >::reset (this=0x824138, __p=0x0)
    at /usr/include/c++/14/bits/unique_ptr.h:503
#19 0x00000000005b74df in std::unique_ptr<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::unlimited_rate_policy> >, true>, std::default_delete<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::any_io_executor, boost::beast::unlimited_rate_policy> >, true> > >::operator=(decltype(nullptr)) (
    this=0x824138) at /usr/include/c++/14/bits/unique_ptr.h:436

It seems that the exception is thrown when the websocket tries to use an invalid mutex, one which is already destroyed or never initialized.
My GCC version
root@fedora:~# g++ --version
g++ (GCC) 14.1.1 20240701 (Red Hat 14.1.1-7)
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

My Boost version is 1.83
root@fedora:~# rpm -q boost-devel
boost-devel-1.83.0-5.fc40.x86_64

Could you provide a minimal reproducible example?
This looks like a concurrency bug. are you using a multi-threaded executor? Are you passing a concurrency hint to the io_context constructor?

Everything is single-threaded. I decided to write my own implementation of websocket, so I close the bugreport.


R-squared in PanelOLS

Using PanelOLS, I get different R-squared's than those produced in statistical software like STATA or ols in the statsmodels package. The reason might be that PanelOLS seems to return R-squared by removing fixed effects even if the model includes FEs (correct me if I'm wrong). In economics papers, this is perhaps less common. Is there any way to produce the R-squared without removing FEs?

You can directly compute the R2 that Stata uses with
import pandas as pd

df = pd.concat([y, res.fitted_values],1).dropna()
print(df.corr().iloc[0,1])

I'm surprised you recommend against linearmodels in your teaching material and instead suggest using dummies with statsmodels.  The statsmodels approach isn't always correct depending on the covariance structure and whether dummies are effects or consistently estimable parameters. The dummy approach also doesn't work when the panel is large and has many entities (it is either very slow or infeasible due to the large, sparse matrix).

Thanks! I'm surprised that you have explored my teaching material. :) I haven't encountered the type of error you mention yet for statsmodels, but statsmodels seemingly falsely report a null result when the variable is correlated with fixed effects and therefore is dropped. Also, the computation speed tends to be longer for statsmodels than linearmodels. Despite these drawbacks, I still chose statsmodels (although I taught about linearmodels in my class too!) as I thought about (a) a risk that my students would think that the reported R-squared is the correct one, (b) exporting the regression results as a tex file seems to be easy for statsmodels, and (c) it's related to (b) but I couldn't easily find basic examples for functions/methods included in linearmodels. Regarding (b) and (c), what would be the best way to export regression outcomes in the tex format with the correct R-squared like statsmodels do?

It is difficult to define the "right" R2 in a panel regression.  IMO the correct treatment of fixed effects is to consider then as errors, so that y_it=x_it beta + u_i + e_it ( +v_t) where u_i is the entity effect and v_t would be time effect. In most panels where N is big but T is small, fixed effects cannot be consistently estimated.  Ideally one would teach students how to interpret the R2 in a panel (which is nontrivial) and what different measure capture (and what they don't)
Exporting is nearly identical to statsmodels since the results use the statsmodels summary.
``
res.summary.to_latex()

Pretty much everything is documented here:

https://bashtage.github.io/linearmodels/panel/reference.html

I have improved the docstring for summary to be explicit about export based on your feedback. Thanks.

Thank you @bashtage ! It's good to know how one can easily export results in tex format. I also very much look forward to any further update on R2 measures!

Could you also explain the difference between R-squared and R-squared (Overall)? Are they adjusted R-squares? @bashtage

I added documentation that you will find
https://bashtage.github.io/linearmodels/devel/panel/mathematical-formula.html#r-2-estimates


Define how we handle Promtail configuration

Towards: https://github.com/giantswarm/roadmap/issues/311
We want to start shipping Promtail as early as possible to all clusters (MCs and WCs).
In order to achieve this we want to ship Promtail disabled by default with a dummy configuration to scrape nothing, and have the ability to enable it and configure it later on.
In the scope of this task we should define what would be the mechanism to :

enable Promtail on each cluster
update Promtail configuration

My idea here is to have a logging-controller that would create a configmap and a secret for each cluster named
logging-configuration or something that would be mounted by the observability-bundle as extra-configs
The issue I have here is that vintage would not allow us to add extraconfigs properly as opposed to CAPI but that is something we could edit with the logging controller.
This configuration would both enable/disable promtail but eventually configure promtail as well. What do you think?

I merged the rfc so I'm closing this, happy to discuss further when we get there.


Add pytest as tests_require

When running the six testsuite, pytest is needed.

@benjaminp This is needed because six needs pytest when running the tests.

Thanks for the PR. What is this good for? We don't really use setup.py test instead preferring tox.

Thanks for the PR. What is this good for? We don't really use setup.py test instead preferring tox.

@benjaminp Downstream (eg linux distros) who package six can then during the build process call the unittests via python setup.py test. That's why it is good to have the correct test_requires and setup_requires. And also the correct setup.py test integration

And also we (openSUSE distro) try to automatically convert sdist tarballs to rpm packages. And correct rquirements are needed for that.


CAMEL-13903: camel-telegram - use a stock HTTP client instead of the …

…JAX-RS client

At first sight, you'll need to update the Karaf feature too.

I'll review a bit deeper, later or tomorrow.

6f9b67a :

Updated the OSGi feature
Re-generated the telegram docs page

Some questions:

do we really need all the hashCode/equals impleemntations ?
do we really need awaitility in tests ? I see a mix of mock + awaitility

do we really need all the hashCode/equals impleemntations ?

No, only some of them are required by the tests. Do the unused ones harm for some reason?

do we really need awaitility in tests ? I see a mix of mock + awaitility

I removed Mockito, so you probably mean the usage of Camel MockEndpoint? Yes, at some locations, Awaitility could be replaced by the MockEndpoint's assertIsSatisfied(long timeoutForEmptyEndpoints) but my understanding is that MockEndpoint just waits that long before it performs any attempt to evaluate the asserions, while Awaitility starts evaluating immediately in a loop that exist when the condition is satisfied. So the overall test runtime is typically much better with Awaitility. That's why I preferred Awaitility. Maybe I am wrong in some of my assumptions?

79c78d7 :

s/4 * 1024/bufferSize/
Rebased & resolved conflicts

do we really need all the hashCode/equals impleemntations ?

No, only some of them are required by the tests. Do the unused ones harm for some reason?

I'm mostly thinking about maintenance as they need to be amended in case the model is updated for some reason.

do we really need awaitility in tests ? I see a mix of mock + awaitility

I removed Mockito, so you probably mean the usage of Camel MockEndpoint? Yes, at some locations, Awaitility could be replaced by the MockEndpoint's assertIsSatisfied(long timeoutForEmptyEndpoints) but my understanding is that MockEndpoint just waits that long before it performs any attempt to evaluate the asserions, while Awaitility starts evaluating immediately in a loop that exist when the condition is satisfied. So the overall test runtime is typically much better with Awaitility. That's why I preferred Awaitility. Maybe I am wrong in some of my assumptions?

I think now MockEndpoint should fail fast but I don't remember all the details, @davsclaus can provide more info.

No, only some of them are required by the tests. Do the unused ones harm for some reason?

I'm mostly thinking about maintenance as they need to be amended in case the model is updated for some reason.

Yes, we have to choose between maintenance costs and consistency. (Noting that you used to prefer consistency when I argued with the maintenance in the past :)

No, only some of them are required by the tests. Do the unused ones harm for some reason?

I'm mostly thinking about maintenance as they need to be amended in case the model is updated for some reason.

Yes, we have to choose between maintenance costs and consistency. (Noting that you used to prefer consistency when I argued with the maintenance in the past :)

There's no issue to have them, was curious as hash/equals are not really useful for the component itself to work. BTW, what are the tests that requires them ?

Yes dont use awaility for this, but use standard Camel mock endpoints.
And drop all that equals/hashCode maintaince overhead, and CS issue etc.

BTW, what are the tests that requires them ?

Only the four tests in this class https://github.com/apache/camel/pull/3414/files#diff-7f8ae9dac8f83e62240c68527c6b0cfaR47

BTW, what are the tests that requires them ?

Only the four tests in this class https://github.com/apache/camel/pull/3414/files#diff-7f8ae9dac8f83e62240c68527c6b0cfaR47

I think you can safely use one of the field by field comparison helpers that assertj provides

Did the requested cleanup in 74cf034. Please re-review.

733c862 :

Renamed InstantSerializer to UnixTimestampSerializer
Rebased

LGTM there is only that wrong annotation on the component class

51203cf  :

s/@UriParam/@Metadata/ in TelegramComponent


Making an element a @container messes with the width of the component

What version of @tailwindcss/container-queries are you using?
0.1.1
What version of Node.js are you using?
21.4
What browser are you using?
arc with chromium
What operating system are you using?
mac02
Reproduction repository
https://github.com/alexander-densley/permitify
Describe your issue
when I make an element a container, it seems to reduce the element to its min-width. confused as to how to use these if this is the expected behavior. would love any advice.
https://github.com/user-attachments/assets/2c16e886-a3e7-45f4-bd4b-113c6b938040

for context, there are no other uses of container in my code, i just noticed this behavior when I started trying to use it

That’s expected because of how containers work in HTML/CSS. Any CSS container cannot take its width from its children. It must have its width derived regardless of children sizes. See this note about inline-size.
This is not related to this plugin, it’s just how CSS Containers work.

@ericbf thanks!


Is there a simple method can directly use layoutlmv3 and test some image samples?

I only want to input some images without labels to this model and return a result including bbox, labels, etc. However, the code is too complicate for a novice... I tried to  import AutoModel from transformers in huggingface.co but how to use it, I only write some parts of code and I am still stuck in input my images.
import numpy as np
from pathlib import Path
from PIL import Image

from transformers import AutoTokenizer, AutoProcessor, AutoModel

tokenizer = AutoTokenizer.from_pretrained("microsoft/layoutlmv3-base")
processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base")
model = AutoModel.from_pretrained("microsoft/layoutlmv3-base")

print(model.eval())

image_path = Path("data/images/0001.jpg")
image = Image.open(image_path).convert("RGB")

encoding = processor(image, return_tensors="pt", truncation=True, max_length=512)
encoding = processor(image, return_tensors="pt", return_offsets_mapping=True)
offset_mapping = encoding.pop('offset_mapping')
import torch

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

print(encoding.keys())
for k,v in encoding.items():
    encoding[k] = v.to(device)
    #print(k,v.shape)

model.to(device)
outputs = model(**encoding)

last_hidden_states = outputs.last_hidden_state
print(last_hidden_states)

predictions, labels, metrics = trainer.predict(test_dataset)
predictions = np.argmax(predictions, axis=2)

logits = outputs.logits
print(logits.shape)
predictions = logits.argmax(-1).squeeze().tolist()
print(predictions)
labels = encoding.labels.squeeze().tolist()
print(labels)

Which line is necessary and how to get the prediction result from a pretrained model (microsoft/layoutlmv3) ?

The bbox information is a necessary input for layoutlm models. But you can skip the manual input of bbox and extract it automatically with an OCR processor. @NielsRogge provides two examples based on LayoutLMv2 and DiT: you just need to input an image to get its bbox and labels (more details). I hope these examples meet your need and help you modify the pre-trained model to LayoutLMv3.


jquery dialog implementation

Hello, I can get resumable to work in a simple jsp, but when the same jsp page is opened using a jquery dialog using ajax, it appears that the resumable.js script is not available to the page, as I get this:
VM8379:4 Uncaught ReferenceError: Resumable is not defined
at eval (eval at globalEval (VM5466 jquery-2.1.1.min.js:2), :4:17)
at eval ()
at Function.globalEval (VM5466 jquery-2.1.1.min.js:2)
at e.fn.init.domManip (VM5466 jquery-2.1.1.min.js:3)
at e.fn.init.append (VM5466 jquery-2.1.1.min.js:3)
at e.fn.init. (VM5466 jquery-2.1.1.min.js:3)
at n.access (VM5466 jquery-2.1.1.min.js:2)
at e.fn.init.html (VM5466 jquery-2.1.1.min.js:3)
at Object. (VM5476 htmlcomponents.js:3544)
at j (VM5466 jquery-2.1.1.min.js:2)
I have tried multiple ways of exposing the script, including it in the parent page, via $.getScript(".../resumable.js"), etc. but always run into this.  Even if I manage to get resumable.js to appear in the sources of the dev console, I get the same error.  Any ideas?
Thanks!

update to this issue.  If I do open the page in ajax, it works fine, so my workaround is  to create a div with the page content, and then autoopen that div in a jquery dialog.


点击结束举手

@hyrious

hi, @shunyue1320, please send your address, phone number, and name to my email address (bestony@linux.com), i will send you DAO.FM gift.


Problem with your release notes on version 4.0.0-beta.16

Bug Report
The release notes of 4.0.0-beta.16 are missing a key breaking change in the release notes page:
https://github.com/ionic-team/ionic/releases/tag/v4.0.0-beta.16
Missing section:
Simplifying Chip
Because of updates to the Material Design spec, ion-chip no longer requires a chip-specific version of ion-icon or ion-button. Chips themselves should be interactive and don't require a nested button.

Old usage:

<ion-chip>
  <ion-chip-icon name="checkmark"><ion-chip-icon>
</ion-chip>
New usage:

<ion-chip>
  <ion-icon name="checkmark"></ion-icon>
</ion-chip>

Describe the Bug
Missing section about ion-chip changes. Now changes are in the master changelog: https://github.com/ionic-team/ionic/blob/master/CHANGELOG.md
Expected Behavior
Have proper documentation in the release notes

Thank you! Updated the release notes.


Add Data SQL Scripts for CAMDECMPSMD and CAMDMD Tables

SQL scripts for the data contained in the CAMDECMPSMD and CAMDMD tables need to be added to the easey-db-scripts Git repo.
Each schema should get a new table-data folder added (at the same level as the tables folder).
Generate a .sql file for each MD table name in the correct MD folder:

file name - [table_name.sql] (should match the file name in the tables directory for the table)
contents - INSERT statements for each record currently in place on the dev PG database

Two folders "table-data" are added, related scripts are loaded there.
For insert scripts of 25 tables in camdmd and 129 tables in camdecmpmd.


Consider how to track changes over osm2pgsql version

Min version supported is v1.5.0, current latest.  Over time this project should allow tracking recommendations as specific new versions change performance characteristics, RAM requirements, etc.

Hasn't really been a need for this after 2 years.  Closing.