[SPARK-34052][SQL] A cached view should become invalid after the source table is dropped

What changes were proposed in this pull request?

This passes original SQL text to CacheTableAsSelect command in DSv1 and v2 so that it will be stored instead of the analyzed logical plan, similar to CREATE VIEW command.
In addition, this changes the behavior of dropping temporary view to also invalidate dependent caches in a cascade, when the config SQLConf.STORE_ANALYZED_PLAN_FOR_VIEW is false (which is the default value).
Why are the changes needed?

Currently, after creating a temporary view with CACHE TABLE ... AS SELECT command, the view can still be queried even after the source table is dropped or replaced (in v2). This can cause correctness issue.
For instance, in the following:
> CREATE TABLE t ...;
> CACHE TABLE v AS SELECT * FROM t;
> DROP TABLE t;
> SELECT * FROM v;

The last select query still returns the old (and stale) result instead of fail. Note that the cache is already invalidated as part of dropping table t, but the temporary view v still exist.
On the other hand, the following:
> CREATE TABLE t ...;
> CREATE TEMPORARY VIEW v AS SELECT * FROM t;
> CACHE TABLE v;
> DROP TABLE t;
> SELECT * FROM v;

will throw "Table or view not found" error in the last select query.
This is related to #30567 which aligns the behavior of temporary view and global view by storing the original SQL text for temporary view, as opposed to the analyzed logical plan. However, the PR only handles CreateView case but not the CacheTableAsSelect case.
Does this PR introduce any user-facing change?

Yes, now when SQLConf.STORE_ANALYZED_PLAN_FOR_VIEW is set to false (the default value), whenever a table/permanent view/temp view that a cached view depends on is dropped, the cached view itself will become invalid during analysis, i.e., user will get "Table or view not found" error. In addition, when the dependent is a temp view in the previous case, the cache itself will also be invalidated.
How was this patch tested?

Modified/Enhanced some existing tests.

Test build #133880 has started for PR 31107 at commit 69c81c6.

Test build #133880 has started for PR 31107 at commit 69c81c6.

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

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

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

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

Test build #133880 has finished for PR 31107 at commit 69c81c6.

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

Test build #133880 has finished for PR 31107 at commit 69c81c6.

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

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

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

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

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

Could you take a look at the UT failure, @sunchao ?

Could you take a look at the UT failure, @sunchao ?

@dongjoon-hyun yes I'm looking at some of the test failures. Will update this PR soon.

@dongjoon-hyun yes I'm looking at some of the test failures. Will update this PR soon.

One of the test failure:
CachedTableSuite.CACHE TABLE tableName AS SELECT ...
org.apache.spark.sql.catalyst.analysis.UnresolvedException: Invalid call to qualifier on unresolved object, tree: 'key

looks like a separate bug related to #30567, and I've opened SPARK-34076 to track it.

One of the test failure:
CachedTableSuite.CACHE TABLE tableName AS SELECT ...
org.apache.spark.sql.catalyst.analysis.UnresolvedException: Invalid call to qualifier on unresolved object, tree: 'key

looks like a separate bug related to #30567, and I've opened SPARK-34076 to track it.

Test build #134032 has started for PR 31107 at commit bce8265.

Test build #134032 has started for PR 31107 at commit bce8265.

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

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

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

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

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

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

Test build #134032 has finished for PR 31107 at commit bce8265.

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

Test build #134032 has finished for PR 31107 at commit bce8265.

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

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

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

Test build #134065 has started for PR 31107 at commit 380bbb1.

Test build #134065 has started for PR 31107 at commit 380bbb1.

Also, cc @MaxGekk

Also, cc @MaxGekk

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

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

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

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

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

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

Test build #134065 has finished for PR 31107 at commit 380bbb1.

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

Test build #134065 has finished for PR 31107 at commit 380bbb1.

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

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

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

cc @cloud-fan @viirya @HyukjinKwon

cc @cloud-fan @viirya @HyukjinKwon

thanks for catching this bug!

thanks for catching this bug!

Test build #134094 has started for PR 31107 at commit 120dd3d.

Test build #134094 has started for PR 31107 at commit 120dd3d.

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

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

Test build #134094 has finished for PR 31107 at commit 120dd3d.

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

Test build #134094 has finished for PR 31107 at commit 120dd3d.

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

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

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

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

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

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

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

Test build #134119 has started for PR 31107 at commit d7987d8.

Test build #134119 has started for PR 31107 at commit d7987d8.

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

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

Note that even though this addresses a potential correctness issue, it could introduce regression in terms cache lookup. I'm addressing this issue in SPARK-34108 (#31182).

Note that even though this addresses a potential correctness issue, it could introduce regression in terms cache lookup. I'm addressing this issue in SPARK-34108 (#31182).

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

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

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

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

Test build #134119 has finished for PR 31107 at commit d7987d8.

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

Test build #134119 has finished for PR 31107 at commit d7987d8.

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

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

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

Updated the PR. @cloud-fan @viirya please take another look when you get a chance. Thanks!

Updated the PR. @cloud-fan @viirya please take another look when you get a chance. Thanks!

LGTM, please fix the conflicts.

LGTM, please fix the conflicts.

Test build #134216 has started for PR 31107 at commit 7d6a554.

Test build #134216 has started for PR 31107 at commit 7d6a554.

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

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

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

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

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

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

Test build #134216 has finished for PR 31107 at commit 7d6a554.

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

Test build #134216 has finished for PR 31107 at commit 7d6a554.

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

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

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

Test build #134235 has started for PR 31107 at commit 12cd598.

Test build #134235 has started for PR 31107 at commit 12cd598.

CREATE TABLE t ...;
CACHE TABLE v AS SELECT * FROM t;
DROP TABLE t;
SELECT * FROM v;

BTW, for the example in the description, I think the t should be a view to show the issue?

CREATE TABLE t ...;
CACHE TABLE v AS SELECT * FROM t;
DROP TABLE t;
SELECT * FROM v;

BTW, for the example in the description, I think the t should be a view to show the issue?

I think it doesn't matter whether t is a table or view. The issue is v is stored as analyzed plan which doesn't get re-analyzed when t is dropped.

I think it doesn't matter whether t is a table or view. The issue is v is stored as analyzed plan which doesn't get re-analyzed when t is dropped.

Hmm, but seems I don't see such example is added as a test?

Hmm, but seems I don't see such example is added as a test?

I used to have a test here but removed it since I think it largely overlaps with some existing ones, but yeah I could add it back if you think that helps.

I used to have a test here but removed it since I think it largely overlaps with some existing ones, but yeah I could add it back if you think that helps.

yeah, thanks, i think it is better to have it as it is used in the description as example.

yeah, thanks, i think it is better to have it as it is used in the description as example.

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

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

Test build #134237 has started for PR 31107 at commit 40ef4b1.

Test build #134237 has started for PR 31107 at commit 40ef4b1.

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

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

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

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

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

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

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

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

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

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

Test build #134235 has finished for PR 31107 at commit 12cd598.

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

Test build #134235 has finished for PR 31107 at commit 12cd598.

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

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

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

Test build #134237 has finished for PR 31107 at commit 40ef4b1.

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

Test build #134237 has finished for PR 31107 at commit 40ef4b1.

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

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

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

Didn't take a close look too but sounds making sense.

Didn't take a close look too but sounds making sense.

thanks, merging to master!

thanks, merging to master!

@sunchao can you open a backport PR for 3.1 since the new SQL temp view semantic is already there? Thanks!

@sunchao can you open a backport PR for 3.1 since the new SQL temp view semantic is already there? Thanks!

Thanks for the review!

@sunchao can you open a backport PR for 3.1 since the new SQL temp view semantic is already there? Thanks!

I got lots of conflicts when backporting it - @imback82 is there any plan to backport SPARK-33654 to branch-3.1? I see its affected version is 3.1.0.

Thanks for the review!

@sunchao can you open a backport PR for 3.1 since the new SQL temp view semantic is already there? Thanks!

I got lots of conflicts when backporting it - @imback82 is there any plan to backport SPARK-33654 to branch-3.1? I see its affected version is 3.1.0.

Ah 3.1 doesn't have CacheTableAsSelect. We need to re-implement this fix with the old CacheTableCommand.

Ah 3.1 doesn't have CacheTableAsSelect. We need to re-implement this fix with the old CacheTableCommand.

I see. Let me implement it separately for branch 3.1.

I see. Let me implement it separately for branch 3.1.


item->link

Hello,
item-> link is not created I use the template variant, what am I doing wrong?
<?php
$options = [
      'url' => site()->url(),
    'feedurl' => site()->url() . '/rss-feed/',
    'title' => 'Feed',
    'description' => 'news feed',
    'link' => '/rss-feed/',
    'urlfield' => 'url',
    'datefield' => 'date_event_start',
    'textfield' => 'text_short',
    'modified' => time(),
    'snippet' => 'feed/rss', // 'feed/json'
    'mime' => null,
    'sort' => true,
];
echo page('news')->children()->visible()->flip()->limit(10)->feed($options);

https://github.com/bnomei/kirby3-feed/releases/tag/v1.3.4

@strukturart thanks for reporting. my options logic was too "clever" using callables on all options. i removed that and the feed is now valid again.


fix(stages): add commit threshold to merkle stage v2

Replaces https://github.com/paradigmxyz/reth/pull/1594.
DBTrieLoader now has an inner checkpoint (no commit) which writes it to a generic SyncStageProgress table, if 500_000 elements have been written to trie(s).
Follow-up: Make sure HashingAccount and HashingStorage also do not commit and use a similar checkpoint logic.

Codecov Report

Merging #1656 (5182fc0) into main (92a0ebb) will decrease coverage by 30.07%.
The diff coverage is 59.85%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             main    #1656       +/-   ##
===========================================
- Coverage   74.45%   44.38%   -30.07%
===========================================
  Files         377      377
  Lines       45197    45398      +201
===========================================
- Hits        33650    20152    -13498
- Misses      11547    25246    +13699

Flag
Coverage Δ

integration-tests
18.42% <0.00%> (-2.52%)
:arrow_down:

unit-tests
36.59% <59.85%> (-32.47%)
:arrow_down:

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

Impacted Files
Coverage Δ

bin/reth/src/dump_stage/merkle.rs
0.00% <0.00%> (ø)

crates/primitives/src/lib.rs
100.00% <ø> (ø)

crates/storage/db/src/tables/codecs/compact.rs
86.95% <ø> (ø)

crates/storage/db/src/tables/mod.rs
0.00% <ø> (ø)

crates/storage/provider/src/transaction.rs
51.38% <0.00%> (-33.34%)
:arrow_down:

crates/storage/provider/src/trie/mod.rs
54.18% <63.84%> (-37.59%)
:arrow_down:

crates/stages/src/stages/merkle.rs
67.84% <64.70%> (-9.86%)
:arrow_down:

crates/primitives/src/proofs.rs
14.97% <100.00%> (-82.16%)
:arrow_down:

crates/rpc/rpc-api/src/trace.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

crates/primitives/src/contract.rs
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 198 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Persona bar: Users shows empty with "Could not find stored procedure 'dbo.Personabar_GetUsersBySearchTerm'."

Description of bug
When opening the users tab on the persona bar, it shows empty and shows the red error:

Could not find stored procedure 'dbo.Personabar_GetUsersBySearchTerm'.

Steps to reproduce
List the precise steps to reproduce the bug:

Login as host
Open users in persona bar

Current behavior

Could not find stored procedure 'dbo.Personabar_GetUsersBySearchTerm'.
Nothing is logged on the admin logs.

Expected behavior
Shows users

[ ] 9.5.0

is this a new or upgraded (from which version) DNN?

Upgraded from 9.3.2-9.4.1-9.5
On Tue, Feb 25, 2020, 14:01 Sebastian Leupold<EMAIL_ADDRESS>wrote:

is this a new or upgraded (from which version) DNN?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3597?email_source=notifications&email_token=AGKKKX6FFCDEPMNPKDFM6FLREUQEZA5CNFSM4K3FNGR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM4CDLA#issuecomment-590881196,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKKKXZPVFTSBVFPOE26BGDREUQEZANCNFSM4K3FNGRQ
.

This procedure is added in 03.00.00.SqlDataProvider inside the PersonaBar extension.
Did you encounter issues during upgrade (Check the log files inside /portals/_Default/logs folder).

I'll check when I get home. Is there a quick fix?
On Tue, Feb 25, 2020, 14:11 Sebastian Leupold<EMAIL_ADDRESS>wrote:

This procedure is added in 03.00.00.SqlDataProvider inside the PersonaBar
extension.
Did you encounter issues during upgrade (Check the log files inside
/portals/_Default/logs folder).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3597?email_source=notifications&email_token=AGKKKXZ4GZE25X7PGB4WRA3REURJ7A5CNFSM4K3FNGR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM4DEJI#issuecomment-590885413,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKKKX3RJT7RJYB7QRE44LDREURJ7ANCNFSM4K3FNGRQ
.

run the following code in Host > SQL
`
IF EXISTS (SELECT * FROM sys.procedures WHERE object_id = object_id(N'{databaseOwner}[{objectQualifier}Personabar_GetUsersBySearchTerm]'))
DROP PROCEDURE {databaseOwner}[{objectQualifier}Personabar_GetUsersBySearchTerm]
GO
CREATE PROCEDURE {databaseOwner}[{objectQualifier}Personabar_GetUsersBySearchTerm]
@PortalId         Int,           --  Null|-1: any Site
@SortColumn       nVarChar(32),  --  Field Name, supported values see below.
Is this expected?
Authentication,  Registration ,  Search Results,  Users and Roles,
ViewProfile
On Tue, Feb 25, 2020 at 3:01 PM Sebastian Leupold<EMAIL_ADDRESS>wrote:

run the following code in Host > SQL
`
IF EXISTS (SELECT * FROM sys.procedures WHERE object_id =
object_id(N'{databaseOwner}[{objectQualifier}Personabar_GetUsersBySearchTerm]'))
DROP PROCEDURE
{databaseOwner}[{objectQualifier}Personabar_GetUsersBySearchTerm]
GO
CREATE PROCEDURE
{databaseOwner}[{objectQualifier}Personabar_GetUsersBySearchTerm]
@PortalId Int, -- Null|-1: any Site
@SortColumn nVarChar(32), -- Field Name, supported values see below.

Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3597?email_source=notifications&email_token=AGKKKX55HAKIF7IIUHNCXQDREUXDDA5CNFSM4K3FNGR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM4JEOQ#issuecomment-590910010,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKKKX2IB5BHWGIO6ULAYA3REUXDDANCNFSM4K3FNGRQ
.

--
Cumprimentos,
João Gomes

Did you unblock downloaded Upgrade package (in file properties), prior to unzipping the files contained?
Do you see the modules in /desktopmodules/admin (old location) or /desktopmodules/admin/personabar/extensions?

Nope. Just unziped and uploaded.
They are in the old folder.
On Tue, Feb 25, 2020, 15:55 Sebastian Leupold<EMAIL_ADDRESS>wrote:

Did you unblock downloaded Upgrade package (in file properties), prior to
unzipping the files contained?
Do you see the modules in /desktopmodules/admin (old location) or
/desktopmodules/admin/personabar/extensions?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3597?email_source=notifications&email_token=AGKKKX2NQPPULG664KBV2HTREU5PHA5CNFSM4K3FNGR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM4QBQQ#issuecomment-590938306,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKKKXYXCERIHTTFUCXLTLLREU5PHANCNFSM4K3FNGRQ
.

Should I try to reapply 9.5 update with the unblocked zip?
Or install the extensions one by one?

if you want to be sure, you should restore latest backup before upgrade and apply upgrade again.

Not possible. Too many changes since then.
On Tue, Feb 25, 2020, 20:32 Sebastian Leupold<EMAIL_ADDRESS>wrote:

if you want to be sure, you should restore latest backup before upgrade
and apply upgrade again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dnnsoftware/Dnn.Platform/issues/3597?email_source=notifications&email_token=AGKKKX7K6SHKTIPRWELE4STREV55HA5CNFSM4K3FNGR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM5MM7Y#issuecomment-591054463,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGKKKX6VK5U3TZZJKSJ2RZTREV55HANCNFSM4K3FNGRQ
.

Here are the logs. I only see info lines.
I did have the 9.4 issue where the persona bar extensions were not updated. This was fixed by manually installing them.
logs.zip

This reminds me of when the old Persona Bar modules do not fully uninstall.  Have you checked your extensions you should only have 1 PersonaBar Extensions module I will post more info in a minute.

Uninstall all others and possibly reinstall the 9.5 package if things do not work normally again.

Yes. As I said in the post above, the persona bar issue was fixes after the 9.4 update.

Have you tried to reinstall the persona bar extension?

Installing resources
To add resources such as skins, modules, providers etc. in a single bulk install action, a site administrator can add the packages to the appropriate folder under /Install. The /Install folder has a number of sub-folders. Zip files placed in these folders can be installed by browsing to the url
http://www.yoursitename.com/Install/install.aspx?mode=InstallResources

put the 9.5 personabar module package in the install folder sub-folder and be sure to put the 2 missing install files that are deleted after upgrades or installs are performed located in the install folder then delete them when you are done for one way to reinstall the PersonaBar if you completely remove it.
More info found here https://www.dnnsoftware.com/wiki/installpage
This info should be in on dnndocs.com but trying to locate it.  Closest to it is the following:
https://dnndocs.com/content/tutorials/troubleshooting/ts-install-missing-resources/index.html#solution
Hoping we can fix this issue without any "bug fix" with something that can at least be added to the troubleshooting area here.

Nope. Just unziped and uploaded. They are in the old folder.

Sometimes re-apply permissions to site folders sub folders and contents fixes some issues as well.

https://github.com/dnnsoftware/Dnn.Platform/issues/3215

as @brewadmin said in the issue above you may look at what DLL files are still in the bin folder

removing all the extra personabar dlls worked

@sleupold The query fixed my issue. Thanks. Is there any way to know if there are other procedures missing? Or try to fix them somehow?
Dlls are fine for the bar extentions.
I only see these modules on 9.3.2 Authentication,  Registration ,  Search Results,  Users and Roles

I am going to close this issue since it is probably some special case situation here and not semething we can reproduce and that makes it developeable. This does not prevent to keep discussing on it though, just not something we need to develop.

@eXistenZe you may also rerun subsequent sql scripts, they should be rerunnable and this would be the best option to make sure, all database upgrades habe been applied. Always make sure to use proper numbered order, starting with files xx.xx.xx.sqldataprovider inside /providers/dataproviders/sqldataprovider having a number greater(!) than 09.03.02 and files inside \DesktopModules\Admin\Dnn.PersonaBar\Modules\Sql\SqlDataProvider starting with file 03.00.00.SqlDataProvider.

@sleupold @bdukes @david-poindexter can we get some type of documentation put DNN Docs that gives this for troubleshooting tip if needed.  This seems helpful for anyone that experiences a bad upgrade path and needs to rebuild the stored procedures to how the current version expects.  Maybe this is already included there but if not this would be a great thing to reference people.

@eXistenZe you may also rerun subsequent sql scripts, they should be rerunnable and this would be the best option to make sure, all database upgrades habe been applied. Always make sure to use proper numbered order, starting with files xx.xx.xx.sqldataprovider inside /providers/dataproviders/sqldataprovider having a number greater(!) than 09.03.02 and files inside \DesktopModules\Admin\Dnn.PersonaBar\Modules\Sql\SqlDataProvider starting with file 03.00.00.SqlDataProvider.

@thabaum there is a nice Troubleshooting section under Tutorials on dnndocs.com.  That would be the ideal spot for some new documentation if you’d like to submit.  Thanks!


Fix tier checks in smoke tests

Fixes issue in two of the smoke tests.

Seems alright to me, but don't page blobs have a tier on premium containers?

Seems alright to me, but don't page blobs have a tier on premium containers?

They sort of do (in terms their standard sizes) but its a different set of possible values from the usual "Hot/Cold" etc, and its Hot that the tests check for by default. (So all I've done is tell the test not to check at all)


An adopted schema extension disables implicit root operations + Prep releases

adopt_orphan_extensions is a non-standard mode so we don’t have a spec to precisely define its behavior, but I think this behavior is more consistent. See new test for an example.
Also prepare releases for:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>(only needed to update the pinned compiler dependency)

Accidentally merged, so I reverted main and moved to https://github.com/apollographql/apollo-rs/pull/909


artifacts generate CLI to resolve output urls

Move definition of experiment directory structure to artifacts package by defining new artifacts generate CLI.
Added public API:

artifacts generate BUCKET PROJECT TAG

Refactored public API:

resolve-output-url.yaml argo workflow now uses above CLI

[x] Tests added

I'm confused by the integration test error. On my local machine, the artifacts generate CLI works fine. Is it somehow using an old version of the fv3net image?

I pulled us.gcr.io/vcm-ml/fv3net:3e415ee16bbe188903906493739d8e436374db2e and artifacts generate works fine in there. Does seem like the wrong image is being used somehow.

Turns out kustomize does not play nicely with an image being specified within an argo script.


frontend dataset view

#675
https://app.zenhub.com/workspaces/single-cell-5e2a191dad828d52cc78b028/issues/chanzuckerberg/corpora-data-portal/675
Adds dataset view functionality to the collection view
Shows upload status and dataset metadata when available
Reviewers
Functional:
@tihuan
Readability:

Changes

frontend/src/common/API.ts

Add status endpoint

frontend/src/common/entities.ts

Add entities for dataset upload status

frontend/src/common/queries/datasets.ts + frontend/src/common/queries/entities.ts

Add query for dataset status

frontend/src/components/Collections/components/Grid/components/DatasetsGrid/index.tsx

create grid for viewing datasets

frontend/src/components/Collections/components/Grid/components/Row/DatasetRow/index.tsx

Dataset row component, fetches metadata and upload status

frontend/src/components/DropboxChooser/index.tsx + frontend/src/views/Collection/index.tsx

Include filename in dropbox chooser

frontend/src/views/Collection/components/DatasetUploadToast/index.tsx

Create toast for communicating dataset upload

Hi @hthomas-czi quick question on this checkbox!

Is it intended to allow the users to select multiple datasets before clicking on "Download" or should it be radio button, so we restrict the user to only select one dataset at a time? Because the Download dropbox seems to be designed to only display one dataset's files?
Thank you!
CC: @seve

Hi @hthomas-czi quick question on this checkbox!

Is it intended to allow the users to select multiple datasets before clicking on "Download" or should it be radio button, so we restrict the user to only select one dataset at a time? Because the Download dropbox seems to be designed to only display one dataset's files?
Thank you!
CC: @seve

Design updates were made yesterday, will be updating the branch today

Design updates were made yesterday, will be updating the branch today

Added @hthomas-czi for UX approval! Thank you!

Added @hthomas-czi for UX approval! Thank you!

Thanks so much for your super detailed review, @MDunitz ! To avoid merge conflicts, I will make your suggested changes in this PR 🙏 Thank you!!

Thanks so much for your super detailed review, @MDunitz ! To avoid merge conflicts, I will make your suggested changes in this PR 🙏 Thank you!!

@seve @tihuan I see the dataset that's being uploaded appears in the middle of other datasets (some succeeded, other failed). Datasets that should appear sequentially based on when they were uploaded, so I would expect datasets that are being uploaded to appear at the bottom of the table. How are they being sorted currently?

I had the same question before, and what I observed is that FE is just returning the datasets in the order supplied by the backend.
FE can sort the datasets from oldest to newest for sure 👍 Will make that change in this PR! Thank you!

@seve @tihuan I see the dataset that's being uploaded appears in the middle of other datasets (some succeeded, other failed). Datasets that should appear sequentially based on when they were uploaded, so I would expect datasets that are being uploaded to appear at the bottom of the table. How are they being sorted currently?

I had the same question before, and what I observed is that FE is just returning the datasets in the order supplied by the backend.
FE can sort the datasets from oldest to newest for sure 👍 Will make that change in this PR! Thank you!


Disable buttons after confim

Hi,
Amazing library, thank you for keeping it up to date!
The library doesn't seem to expose any methods to disable/enable the buttons.  I've tried all methods I can think of and I can't disable the confirm button after it's been pressed, either by means of finding the button or via the dialog.  I'd like to disable it until an operation has been completed, then either re-enable the button of close the dialog.
var updateCustomerModal = new jBox('Confirm', {
content: "Update Customer?",
cancelButton: 'No',
confirmButton: 'Yes',
closeOnConfirm: false,
closeOnEsc: true,
onOpen: function () {
},
confirm: function () {
//Disable buttons here
updateCustomerModal.setContent("Updating customer..");
// Operation
//Enable buttons here
}
}).open();
Thanks,
Brent.

Bit tricky, but doable:
See here: https://jsfiddle.net/StephanWagner/g3qtms7n/
When the jBox is created you'll have to update the default events on the cancel button:
onCreated: function() {
  this.wrapper.find('.jBox-Confirm-button-cancel')
    .off('click tap')
    .on('click tap', function() {
      // Here we abort if the buttons are disabled
      if (updateCustomerModal.disableButtons) {
        return false;
      }
      updateCustomerModal.close();
    });
},

Then in the confirm function you'll have to check too if they are disabled:
// Abort if buttons are disabled
if (updateCustomerModal.disableButtons) {
  return false;
}

// Disable buttons here
updateCustomerModal.disableButtons = true;

I also added a little CSS and following JS so that the user sees that a request is in process. That's how I handle my requests anyways:
// Set loading status
updateCustomerModal.wrapper.find('.jBox-Confirm-button').addClass('button-disabled');
updateCustomerModal.wrapper.find('.jBox-Confirm-button-submit').addClass('loading-bar');

Perfect! Great solution, works well, many thanks for your time! I've seen others ask the same question, do you have a FAQ of these solutions you do? - it would be really useful! Thanks again Stephan.

I do have a couple of demos here: https://stephanwagner.me/jBox/demos
I always wanted to add more there but didn't really have the time to do so.


[Compute] Add restore point collection operations

Description

RestorePoints feature https://github.com/Azure/azure-cli/issues/18844
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Compute

Because this PR needs to wait for the update of the new Python SDK before merging, so make it with tag do not merge first


Adds Powerspike to list of adopters

Hey, I just made a Pull Request!
Adds Powerspike to the list of adopters.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Rest are N/A

Welcome @trelore and Powerspike 🙌


please add the support to transfer file and binary data.

I want to based on this to develop one chat app, seems websockets has no api to indicate the data type,  like file or binary.

There's no such thing in the websocket API. Your only options as per the RFC is "text" or "binary" frames, both of which are supported by this package. The rest is up to the protocol built on top of websockets.


docs: add composer minimum-stability instructions

Description
This PR adds instructions to the docs about handling composer minimum-stability errors.
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[ ] Conforms to style guide

Thanks!


WIP Opinionated module, flexible modules

I like the general idea of this a lot. The convention of :hashed_password is a good one IMO :)

Haha, I had some smart people suggest it. 😄
Thanks for the review, I'll take a look at these this afternoon.


-display-warp: TypeError: 'str' object is not callable

Version: b5da17a8858507992513061c46d8eb0d7a7b42f3
Terminal output
julien-macbook:~/sct_testing_data/t2 $ sct_image -i warp_template2anat.nii.gz -display-warp

--
Spinal Cord Toolbox (git-master-b5da17a8858507992513061c46d8eb0d7a7b42f3)

sct_image -i warp_template2anat.nii.gz -display-warp
--

Traceback (most recent call last):
  File "/Users/julien/code/sct/spinalcordtoolbox/scripts/sct_image.py", line 563, in <module>
    main(sys.argv[1:])
  File "/Users/julien/code/sct/spinalcordtoolbox/scripts/sct_image.py", line 233, in main
    visualize_warp(im_warp=im_in, im_grid=None, step=3, rm_tmp=True)
  File "/Users/julien/code/sct/spinalcordtoolbox/scripts/sct_image.py", line 520, in visualize_warp
    fname_warp = im_warp.absolutepath()
TypeError: 'str' object is not callable

Ah. This was a typo on my part, introduced in #3208.
- im_warp.absolutepath()
+ im_warp.absolutepath

This functionality of sct_image is not covered by tests, so it wasn't caught.


Did not raise an error if it didn't match the disjoint union

A disjoint union Action is declared. When using if ... else ... for the disjoint union, it did not raise an error if it didn't match the disjoint union definition.
// @flow

type UserData = {|
  username: string
|};

type Action =
  | {| type: 'LOGIN', payload: UserData |}
  | {| type: 'LOGOUT' |}
  ;

function reduce(state: mixed, action: Action) {
  if (action.type === 'LOGINGG') {  // No this action.type. It should raise error.
    const userData = action.payload;
    console.log(userData.username);
    return state;
  }
  //...
}

The if block in the syntax if (action.type === 'LOGINGG') {} should never be executed, because the action type LOGINGG doesn't exist. I think Flow should tell this error.

Yep, that's a known area of improvement, there are improvements to do about reachability, you'll also find this problem with a switch/case. See #2399 for instance.


Azure gov login info needed

[Enter feedback here]
Please add how to switch to different clouds when using the azcopy login command. For the US Gov cloud, this is the command, but the other clouds should be included as well.
azcopy.exe login --tenant-id  --aad-endpoint https://login.microsoftonline.us/

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

ID: b8f56abd-559f-abcd-6ca4-6a21f1233d12
Version Independent ID: e968b1b6-331c-e4d5-1713-59144483a65f
Content: azcopy login
Content Source: articles/storage/common/storage-ref-azcopy-login.md
Service: storage
Sub-service: common
GitHub Login: @normesta
Microsoft Alias: normesta

@rodsaw11
Thanks for your feedback! We will investigate and update as appropriate.

@rodsaw11
The Azure Active Directory endpoint to use can be specified using the --aad-endpoint option.The default endpoint is https://login.microsoftonline.com which is correct for the global Azure cloud. If you want to authenticate in a national cloud, you can set this parameter to the appropriate endpoint.
For the US Gov cloud, you can use the following command:
azcopy login --tenant-id --aad-endpoint https://login.microsoftonline.us/
For other clouds, you can use the following endpoints:
Azure China 21Vianet: https://login.chinacloudapi.cn
Azure Germany: https://login.microsoftonline.de
Azure US Government: https://login.microsoftonline.us
You can find more information about the azcopy login command in the following document:


[Feature Request] Add Guilded API support

What do you want to request?
Guilded API support
Do you have any solutions?
If you have, please tell us so we can add(or at least think about) your solution!
Guilded has similar naming to discord when it comes to features such as embed and webhooks, a check could be implemented to switch between logic depending on your platform
Do you have anything to tell us about your request?
It would be helpful for developers if they would be able to run a guilded bot using the same codebase as a discord one.

I belive that this would be a great addition to harmony support it. Thumbs up from me!

I don't think it's a good idea to add it to this repo. Mostly because it would mean that we would be dealing with even more complexity. Maybe better to have it in a different repo

There isn't a Discord library in the world that also supports Slack because it would be a hell of a mess having the two combined, and the same goes for Guilded. Having a separate lib for that makes way more sense than shoehorning it into the current codebase.

shoehorning it into the current codebase.

Especially with harmony code base sometimes 😅

Guilded support is out of scope for this project.

Maybe later when harmony gets v3 release we'll consider about it
Right now we're doing v3 project and we want to finish this as soon as possible


🐛 [firebase_analytics] Item relevant events do not sent the right properties

Bug report
For functions logging specific events involving items (like for example logViewItem, logAddToCart or logRemoveFromCart) the parameters are not sent in the format Google Analytics expects.
This means that among other things explorations involving item_name in Google Analytics fail.
Expected behaviour
The above mentioned events are logged as documented
Additional context
This should just show the issue more directly, currently I do not have the time to do a thorough PR myself:
Currently logViewItem (and similarly the other fuctions) is implemented as follows:
Future<void> logViewItem({
    @required String itemId,
    @required String itemName,
    @required String itemCategory,
    String itemLocationId,
    double price,
    int quantity,
    String currency,
    double value,
    String flightNumber,
    int numberOfPassengers,
    int numberOfNights,
    int numberOfRooms,
    String origin,
    String destination,
    String startDate,
    String endDate,
    String searchTerm,
    String travelClass,
  }) {
    _requireValueAndCurrencyTogether(value, currency);

    return logEvent(
      name: 'view_item',
      parameters: filterOutNulls(<String, dynamic>{
        _ITEM_ID: itemId,
        _ITEM_NAME: itemName,
        _ITEM_CATEGORY: itemCategory,
        _ITEM_LOCATION_ID: itemLocationId,
        _PRICE: price,
        _QUANTITY: quantity,
        _CURRENCY: currency,
        _VALUE: value,
        _FLIGHT_NUMBER: flightNumber,
        _NUMBER_OF_PASSENGERS: numberOfPassengers,
        _NUMBER_OF_NIGHTS: numberOfNights,
        _NUMBER_OF_ROOMS: numberOfRooms,
        _ORIGIN: origin,
        _DESTINATION: destination,
        _START_DATE: startDate,
        _END_DATE: endDate,
        _SEARCH_TERM: searchTerm,
        _TRAVEL_CLASS: travelClass,
      }),
    );
  }

but if itemId and itemName should be logged properly the call would actually be
logEvent(name: 'view_item', parameters: {
      'items': [
        {
          'item_id': itemId,
          'item_name': itemName,
        },
      ],
    });

Any news on this?
The current implementation is worse than not having one as someone who does not look into it will not log the events properly and either think

analytics gives very few insights or
search for a solution, probably not suspecting the library (which does log something) to be the culprit

Any news on this?
The current implementation is worse than not having one as someone who does not look into it will not log the events properly and either think

analytics gives very few insights or
search for a solution, probably not suspecting the library (which does log something) to be the culprit

On a look into the code, I might be able to provide a PR myself.
The question I get from this is, whether

the full width of Analytics should be available (e.g. for the addToCart event expecting a List<Item>) or
the current API surface should stay unchanged, (e.g. addToCart being limited to a single item being added to the cart).

On a look into the code, I might be able to provide a PR myself.
The question I get from this is, whether

the full width of Analytics should be available (e.g. for the addToCart event expecting a List<Item>) or
the current API surface should stay unchanged, (e.g. addToCart being limited to a single item being added to the cart).

So as discussed on Discord I give a suggestion based on my comparison of the Dart API and the available standard events of Google Analytics:
Keeping the current API surface seems not appropriate, the options I see are

either these extra functions should be removed completely with the logEvent function containing a link to all events or
they should be adapted using an Item class to reduce code duplication and better match the official API

I come to this conclusion based on

the insights listed at the bottom of the page
the fact that none of the native libraries (I checked Java, Kotlin and JS) have functions for specific events (which is somewhat understandable looking at the very long list of events and parameters)
a developer using the API will suspect that the available functions match the full feature set available
the current API surface is not maintainable due to the massive code duplication necessary if the Item is not a reusable class
Having a reusable class will simplify the conversion for calling code as one conversion function from the user's product to the Item is sufficient for using all the events

Insights from the comparison of the Dart API with the Analytics Events

The current API surface in Dart does not match the official events in numerous ways:

For all events involving items there are multiple issues:

events are not transferred correctly (as mentioned in the top of the issue)
Instead of a List of items only one item can be transferred
for the single item only a small subset of the properties can be set which is different per event and there are some properties that are not documented in the Analytics documentation regarding travel that are available

Some events do not have a matching method: e.g. view_promotion, view_cart, select_promotion, select_item
For most events not involving items the API surface seems correctly

So as discussed on Discord I give a suggestion based on my comparison of the Dart API and the available standard events of Google Analytics:
Keeping the current API surface seems not appropriate, the options I see are

either these extra functions should be removed completely with the logEvent function containing a link to all events or
they should be adapted using an Item class to reduce code duplication and better match the official API

I come to this conclusion based on

the insights listed at the bottom of the page
the fact that none of the native libraries (I checked Java, Kotlin and JS) have functions for specific events (which is somewhat understandable looking at the very long list of events and parameters)
a developer using the API will suspect that the available functions match the full feature set available
the current API surface is not maintainable due to the massive code duplication necessary if the Item is not a reusable class
Having a reusable class will simplify the conversion for calling code as one conversion function from the user's product to the Item is sufficient for using all the events

Insights from the comparison of the Dart API with the Analytics Events

The current API surface in Dart does not match the official events in numerous ways:

For all events involving items there are multiple issues:

events are not transferred correctly (as mentioned in the top of the issue)
Instead of a List of items only one item can be transferred
for the single item only a small subset of the properties can be set which is different per event and there are some properties that are not documented in the Analytics documentation regarding travel that are available

Some events do not have a matching method: e.g. view_promotion, view_cart, select_promotion, select_item
For most events not involving items the API surface seems correctly

Pinging @kroikie, @Ehesp, looks like some of the firebase_analytics methods require revisiting?

Pinging @kroikie, @Ehesp, looks like some of the firebase_analytics methods require revisiting?

Not sure why you closed this but reopening it because it is relevant.

Not sure why you closed this but reopening it because it is relevant.

Not sure why you closed this but reopening it because it is relevant.

No idea how this happened. Thanks!

Not sure why you closed this but reopening it because it is relevant.

No idea how this happened. Thanks!

So any news?
The methods in question should at least be marked as deprecated or the documentation should at least state that they are not doing what the name implies.

This should probably be the case but as I understand the team is currently busy with getting working null-safety versions for all the plugins out. This is on their radar though. If you want to speed things up you can always submit a PR if you have the time.

@markusaksli-nc @kroikie, @Ehesp As far as I understand it we would need either https://github.com/FirebaseExtended/flutterfire/pull/4394 or https://github.com/FirebaseExtended/flutterfire/pull/1458 before we could fix this issue in the first case. And based on the age of these PRs it doesn't look like PRs are speeding anything up around here 😢.
It would be great if either one of thoses PRs finally gets merged.
The following events rely on items and therefore currently don't work:

ADD_PAYMENT_INFO
ADD_SHIPPING_INFO
ADD_TO_WISHLIST
BEGIN_CHECKOUT
PURCHASE
REFUND
REMOVE_FROM_CART
SELECT_ITEM
SELECT_PROMOTION
VIEW_CART
VIEW_ITEM
VIEW_ITEM_LIST
VIEW_PROMOTION

Cheers

@russellwheatley  #4394 can help for fixing this issue, but it is no fix. Therefore this issue should be reopened.

Re-opening since it seems like the PR just fixed the issue that was blocking a solution for this?

Apologies, the issue was linked to the PR and was automatically closed.

Hey guys, we have reworked Firebase Analytics plugin. Look at the documentation here for a list of the latest predefined analytics events you can use and also how to send a list of items. Thanks.


Unable to position a subflow containing a ui-node on the dashboard

Current Behavior
I have a ui-text in a subflow with the Group configured via a subflow property. It functions correctly except that the position of the widget in the group does not work if the group has at least two other (non-subflow) widgets. It is possible to position it at the top or the bottom, though often node-red must be restarted for that work, but it seems not possible to position it between the other two nodes. I have tried restarting node-red, clearing the browser cache etc but the widget remains stubbornly stuck at the bottom or top.  If there is a workaround I would grateful to know it as this is holding me up.
Expected Behavior
It should be possible to position it.
Steps To Reproduce
Import this example flow and attempt to position the subflow node between the other two.
[{"id":"2f0e52fdece0de69","type":"subflow","name":"D2 Subflow test","info":"","category":"","in":[{"x":50,"y":30,"wires":[{"id":"8fb70b21253672bc"}]}],"out":[],"env":[{"name":"Group","type":"ui-group","value":"","ui":{"type":"conf-types"}}],"meta":{},"color":"#DDAA99"},{"id":"8fb70b21253672bc","type":"ui-text","z":"2f0e52fdece0de69","group":"${Group}","order":0,"width":0,"height":0,"name":"Text node in subflow","label":"Text node in subflow","format":"{{msg.payload}}","layout":"row-spread","style":false,"font":"","fontSize":16,"color":"#717171","className":"","x":350,"y":180,"wires":[]},{"id":"682ba2185159afe5","type":"ui-text","z":"997da33a0beedade","group":"a97448ecc2eeef18","order":1,"width":0,"height":0,"name":"A text node","label":"A text node","format":"{{msg.payload}}","layout":"row-spread","style":false,"font":"","fontSize":16,"color":"#717171","className":"","x":850,"y":3040,"wires":[]},{"id":"cf1699214f3c72cb","type":"subflow:2f0e52fdece0de69","z":"997da33a0beedade","name":"Text node in subflow","env":[{"name":"Group","value":"a97448ecc2eeef18","type":""},{"key":"DB2_SF_ORDER","value":2,"type":"str"}],"x":880,"y":3140,"wires":[]},{"id":"6d8676e34f68a3c1","type":"ui-dropdown","z":"997da33a0beedade","group":"a97448ecc2eeef18","name":"A dropdown node","label":"Select Option:","tooltip":"","order":3,"width":0,"height":0,"passthru":false,"multiple":false,"options":[{"label":"","value":"A","type":"str"},{"label":"","value":"B","type":"str"}],"payload":"","topic":"topic","topicType":"msg","className":"","x":870,"y":3080,"wires":[[]]},{"id":"a97448ecc2eeef18","type":"ui-group","name":"subflow test group","page":"67c5a34c404dda86","width":"6","height":"1","order":-1,"showTitle":true,"className":"","visible":"true","disabled":"false"},{"id":"67c5a34c404dda86","type":"ui-page","name":"subflow test page","ui":"ID-BASE-1","path":"/sub","icon":"home","layout":"grid","theme":"a965ccfef139317a","order":-1,"className":"","visible":"true","disabled":"false"},{"id":"ID-BASE-1","type":"ui-base","name":"Dashboard","path":"/dashboard"},{"id":"a965ccfef139317a","type":"ui-theme","name":"Default","colors":{"surface":"#404040","primary":"#109fbc","bgPage":"#e8e8e8","groupBg":"#d6d6d6","groupOutline":"#6fbc10"},"sizes":{"pagePadding":"12px","groupGap":"12px","groupBorderRadius":"4px","widgetGap":"12px"}}]

Environment

Dashboard version: 1.5.1
Node-RED version: 4.0.0 Beta 1
Node.js version: 20.5.1
npm version:
Platform/OS: Ubuntu on laptop
Browser: Edge

Have you provided an initial effort estimate for this issue?
I am not a FlowFuse team member

Part of the problem may be that when a subflow is edited it sometimes loses the DB2_SF_ORDER key which seems to cause it to appear at the top of the list in the dashboard, but the bottom in the UI.  When it is then dragged and dropped back to where it should be it appears to get the correct DB2_SF_ORDER between the adjacent widgets, but it still remains at the bottom in the UI.
I haven't yet investigated whether the same thing happens with other ui nodes in subflows.

Would it be possible to treat this as a fairly high priority please?  At the moment subflows containing a widget are not really usable as the widget cannot be positioned in the group, so all the great work to allow widgets in subflows and sizing them there is not much use.  Issue #722, to allow the subflow to be packaged in a node module, is the other thing stopping me doing what I want at the moment, which is to be able to release packaged ui-template nodes as installable modules.

Colin, could you try adding DB2_SF_ORDER as an env var in the subflow template & see if it sticks around or gets lost?
I do have a thought around this but wanted to know if this temporarily contains the issue first.

Assuming you mean I should do this by adding a subflow property:

then, unfortunately, when I add that (but don't give it a value) and Deploy and attempt to open the D2 panel I see
Uncaught TypeError: Cannot read properties of undefined (reading 'type')
    at <anonymous>:909:84
    at Array.filter (<anonymous>)
    at <anonymous>:909:63
    at Object.eachNode (red.min.js?v=3ee9a1d92ab2:16:57365)
    at Object.eachNode (red.min.js?v=3ee9a1d92ab2:16:88026)
    at buildLayoutOrderEditor (<anonymous>:903:19)
    at <anonymous>:1195:25
    at Object.eachConfig (red.min.js?v=3ee9a1d92ab2:16:88173)
    at Object.onchange (<anonymous>:1155:27)
    at Object.onchange (red.min.js?v=3ee9a1d92ab2:18:325626)
    at _ (red.min.js?v=3ee9a1d92ab2:18:64237)
    at Object.onselect (red.min.js?v=3ee9a1d92ab2:18:69899)
    at f (red.min.js?v=3ee9a1d92ab2:18:48838)
    at HTMLAnchorElement.<anonymous> (red.min.js?v=3ee9a1d92ab2:18:47481)
    at HTMLAnchorElement.dispatch (vendor.js?v=3ee9a1d92ab2:2:43090)
    at v.handle (vendor.js?v=3ee9a1d92ab2:2:41074)

If I restart node-red while it is not on the dashboard panel, and refresh, I see
VM1277:909
 Uncaught TypeError: Cannot read properties of undefined (reading 'type')
    at <anonymous>:909:84
    at Array.filter (<anonymous>)
    at <anonymous>:909:63
    at Object.eachNode (red.min.js?v=3ee9a1d92ab2:16:57365)
    at Object.eachNode (red.min.js?v=3ee9a1d92ab2:16:88026)
    at buildLayoutOrderEditor (<anonymous>:903:19)
    at refreshSidebarEditors (<anonymous>:1119:13)
    at later (<anonymous>:44:38)

I tried making it of type number and setting it to 0 but it didn't help

Thanks anyhow Colin - plenty clues for when I get on to this issue.

+1
The feature of having ui-template in subflows to be able to reuse templates more easily is very nice but is a bit useless if having more than one subflow in a single group since the order is not constant, sometimes it change just by editing the properties of the subflow.

+1
since learning this features I have build several subflows with ui-elements. Unfortunatelly, I have to modify them occasionally and than the whole sequence of elements changes in randomly fashion.
It would really be great to have the capability to define the layout in subflows as with the UI elements on the usual dashboard.
to be clear, I do not need to change the ui-sequence dynamically during execution ... but there should be a proper design option for these ui-elements in subflows
thanlks for all your great effort

+1 I keep coming back hoping this one might be fulfilled :)


Workaround for compilation: fixing HIP path

Compilation was failing because of the wrong path in the files.
Corrected the path for compilation.

@ashutom https://ontrack-internal.amd.com/browse/SWDEV-295133?focusedCommentId=7613641&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-7613641


Refactor GameRegistry

GameRegistry as we know it is bloated with all the getXX(): Optional<?> methods when all of our "types" aren't conforming to a common standard, some "types" have a getName() and others have getId(). This PR attempts to unify the types and clean up GameRegistry along with it.
Adds a handy CatalogTypes for indexing known CatalogType classes for easy auto completion in Eclipse.

+1

Nice work! How woud the implementations likely work? Check if the provided class implements CatalogType, and if so, check for the CataloguedBy annotation, and provide that class?

IMO we should get the builders out of there. The game registry should be really only related to working with the catalog types and not also for creating a builder.

IMO we should get the builders out of there. The game registry should be really only related to working with the catalog types and not also for creating a builder.

I was contemplating on whether this PR should handle refactoring the remaining builders and extra getters by mimicking the Text builders. Maybe we should have a Builder of builders?

@Zidane I do believe this is at a point of "pull or not pull", getting the #542 PR ready almost relies on this being merged (I say almost because I don't want to have to add Optional<Foo> getFoo(String) for each of the new types I've added in the PR).


Try Email option not visible now.

Try Email option not visible now.

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

ID: 176e3f9d-0f8e-d58e-b425-01c233fcd3fc
Version Independent ID: 694c721b-22fe-41b3-dd67-e6ca8f044441
Content: Quickstart - How to send an email using Azure Communication Service - An Azure Communication Services Quickstart
Content Source: articles/communication-services/quickstarts/email/send-email.md
Service: azure-communication-services
GitHub Login: @bashan-git
Microsoft Alias: bashan

@abhinovpankaj
Thanks for your feedback! We will investigate and update as appropriate.

I think the page should clearly mention that this would be visible on Azure Communication service not email service.
I found the Try email option..
We can mark this closed.

abhinovpankaj, Thanks for the follow-up and update.


python311Packages.boschshcpy: 0.2.83 -> 0.2.84

Diff: https://github.com/tschamm/boschshcpy/compare/0.2.83...0.2.84
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 277871 run on aarch64-darwin 1

4 packages built:

python310Packages.boschshcpy
python310Packages.boschshcpy.dist
python311Packages.boschshcpy
python311Packages.boschshcpy.dist

Result of nixpkgs-review pr 277871 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.bosch_shc
python310Packages.boschshcpy
python310Packages.boschshcpy.dist
python311Packages.boschshcpy
python311Packages.boschshcpy.dist


local.conf.sample missing SUPERVISOR_TAG

This is needed because barys seds this conf and sets the supervisor version accordingly

PR merged.


bump curl version to 7.68.0

Just because we can and this is the same version used on Ubuntu Focal.

CI build with only FastRTPS testing anything above libcurl_vendor:

Linux
Linux-aarch64
macOS
Windows


Cannot use custom form in contrib.modeladmin with some fields excluded

Supposing we have the following model
class Author(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)

and customize the form to exclude a field
class AuthorAdminForm(forms.ModelForm):
    class Meta:
        model = Author
        fields = ("first_name", )

and add a Wagtail ModelAdmin
from wagtail.contrib.modeladmin.views import EditView
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register

class AuthorEditView(EditView):
    def get_form_class(self):
        return AuthorAdminForm

class AuthorModelAdmin(ModelAdmin):
    model = Author
    edit_view_class = AuthorEditView
    list_display = ("first_name", "last_name")

modeladmin_register(AuthorModelAdmin)

When accessing /admin/author/author/edit/<id>/, we get an error that reads:
u"Key 'last_name' not found in 'AuthorAdminForm'"

The same is true when using the create_view_class attribute as well.
Maybe related to #2712

Yes, this is related to #2712 - see that issue for the suggested approach to achieving this (it doesn't involve custom forms). Whether or not forms should be override-able is something I've asked on that issue and I think we just need some more guidance in the docs about which things we're familiar with from "vanilla" Django we can do with modeladmin and which we can't.

Hi both.
I have addressed this to some degree on #2712, but It makes sense to repeat some of what I said here, as the issue name and thread are more relevant.
Using custom forms in modeladmin isn't something that is supported right now. In time, I'm hoping we might be able to find a way around this, but I'm not yet familiar enough with Wagtail's 'edit handler' layer to know what would be involved. I'm hoping @gasman might be able to provide some guidance there?

When edit handlers are in use (as they are in ModelAdmin), the edit handler mechanism is responsible for generating a ModelForm with the appropriate fields. In this case, I think setting a panels definition on the model should do everything you need:
class Author(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)

    panels = [
        FieldPanel('first_name')
    ]

More complex form customisations, such as form validation, can be done by defining a base_form_class, as per http://docs.wagtail.io/en/v1.5.2/advanced_topics/customisation/page_editing_interface.html#customising-generated-forms.
(@theju, I guess this answers your question on wagtail-developers about why ModelAdmin doesn't follow the Django Admin API - it's because ModelAdmin adopts Wagtail's own 'edit handlers' mechanism for constructing modelforms, which is fundamentally different from django-admin's approach. This also means - I suspect - that it's not really compatible with supporting a get_form_class method.)

With respect to base_form_class, it becomes tricky to have the form and the model in separate files because of the recursive import issue and, having both in the same file feels unnatural.
Another question is why doesn't the wagtail edit handler not take into account the form's fields/exclude attribute? Specifically, https://github.com/torchbox/wagtail/blob/master/wagtail/wagtailadmin/edit_handlers.py#L252-L258
That way handling custom forms in modeladmin (and elsewhere) would also be possible. Reusing existing forms and validation would be another advantage of this fix.
Doing any customization on the edit_handlers generally replicates a lot of the form's (and sometimes template's) functionality and in my opinion, a violation of DRY.
Would love to know what the core wagtail devs think.

Since I brought up the issue of honouring the form's fields/exclude attribute, here is a quick patch that I wrote (almost all tests pass).
diff --git a/wagtail/wagtailadmin/edit_handlers.py b/wagtail/wagtailadmin/edit_handlers.py
index 93ba79b..f961a10 100644
--- a/wagtail/wagtailadmin/edit_handlers.py
+++ b/wagtail/wagtailadmin/edit_handlers.py
@@ -252,10 +252,17 @@ class BaseCompositeEditHandler(EditHandler):
     def __init__(self, instance=None, form=None):
         super(BaseCompositeEditHandler, self).__init__(instance=instance, form=form)

-        self.children = [
-            handler_class(instance=self.instance, form=self.form)
-            for handler_class in self.__class__.children
-        ]
+        self.children = []
+        for child in self.__class__.children:
+            if not getattr(child, "children", None) and getattr(child, "field_name", None):
+                if child.field_name in (self.form._meta.exclude or []) or \
+                   child.field_name not in (self.form._meta.fields or []):
+                    continue
+            self.children.append(child(instance=self.instance, form=self.form))

     def render(self):
         return mark_safe(render_to_string(self.template, {

An updated patch where all current tests pass and also have ability for custom forms in modeladmin
diff --git a/wagtail/wagtailadmin/edit_handlers.py b/wagtail/wagtailadmin/edit_handlers.py
index 93ba79b..31a2340 100644
--- a/wagtail/wagtailadmin/edit_handlers.py
+++ b/wagtail/wagtailadmin/edit_handlers.py
@@ -252,10 +252,20 @@ class BaseCompositeEditHandler(EditHandler):
     def __init__(self, instance=None, form=None):
         super(BaseCompositeEditHandler, self).__init__(instance=instance, form=form)

-        self.children = [
-            handler_class(instance=self.instance, form=self.form)
-            for handler_class in self.__class__.children
-        ]
+        self.children = []
+        for child in self.__class__.children:
+            if not getattr(child, "children", None) and getattr(child, "field_name", None):
+                if self.form._meta.exclude:
+                    if child.field_name in self.form._meta.exclude:
+                        continue
+                if self.form._meta.fields:
+                    if child.field_name not in self.form._meta.fields:
+                        continue
+            self.children.append(child(instance=self.instance, form=self.form))

     def render(self):
         return mark_safe(render_to_string(self.template, {

Hi @theju. Thanks for taking some time to investigate. Would you be able to add your changes as pull request and include your tests etc, so that it can be reviewed properly?

PR #2752 has been created for this ticket.

Implemented in #2752.


Add an option to fill spots in rendering

This PR allows users to set whether spots are filled or not from the settings dialog.
This option is helpful for visualization.
If this option is set, the spots will be drawn filled with the colour selected in [View > Coloring], and the outline of the spots will be drawn in black.

Merged indirectly.


Adding another column

Hello,
This is actually not an issue as such but more of a request for more information.
I would like to have another table column in the Geo Location panel. The new column ('i.e. 'Data results') will do some mathematical operation on the TX data and show the transformed data in the new column.
Is it possible to do so by modifying the repo code. If so, is there a documentation on where the columns are set and how to add another column?
Thank you for your help.
Best Wishes
Robin

Could you provide more details about the content of the new column and the specific calculations or data it should include? Please feel free to provide a few examples to illustrate your requirements.

Hi Gerado
Thank for this.
I need this calculation in the new column named 'Emissions' Unit for the column will be grams.
data from existing column TX (converted to GB) x 268.515
Hope this helps.
Best Wishes
Robin
On Sep 13 2023, at 3:15 am, Gerardo O. @.***> wrote:

Could you provide more details about the content of the new column and the specific calculations or data it should include? Please feel free to provide a few examples to illustrate your requirements.
—
Reply to this email directly, view it on GitHub (https://github.com/allinurl/goaccess/issues/2553#issuecomment-1716790612), or unsubscribe (https://github.com/notifications/unsubscribe-auth/AMPANJAA6P5AG64IAVDVXB3X2ECMRANCNFSM6AAAAAA4TEHLOY).
You are receiving this because you authored the thread.


[backport] Fix true_divide with dtype argument

Backport of #2076

[automatic post] Jenkins, test this please.

Force-pushed.
Please check the diffs and trigger Jenkins. >reviewer

Jenkins CI test (for commit 44f3ee8d5cd083101f29847856ff90628f8296f2, target branch v6) failed with status FAILURE.

Jenkins, test this please.

Could you check test failures?

Jenkins CI test (for commit 32d0cd505b1c6f4c7f1c39b71540a426a62c8ed3, target branch v6) failed with status FAILURE.

In Python2 name could be str as well as unicode (which is str in Cython language level 3)
Fixed. PTAL.

Jenkins, test this please.

Jenkins CI test (for commit aa657db0db121cd48cff2428f4bfff51d51cc33b, target branch v6) succeeded!

LGTM.


Implement Connection Status component

The indicator dot needs written requirements.  Does it change?  ie. Does it turn red if the connection was dropped?

If the switch button isn't in this, it needs to be moved to the Header component.


navigation_experimental: 0.4.1-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository navigation_experimental to 0.4.1-1:

upstream repository: https://github.com/ros-planning/navigation_experimental.git
release repository: https://github.com/ros-gbp/navigation_experimental-release.git
distro file: noetic/distribution.yaml
bloom version: 0.11.2
previous version for package: 0.4.0-1

assisted_teleop

No changes

goal_passer

No changes

navigation_experimental

No changes

pose_base_controller

No changes

pose_follower

No changes

sbpl_lattice_planner
* Implement allow_unknown feature (#60 <https://github.com/ros-planning/navigation_experimental/issues/60>)
* debug move_base launch files: Fix warnings, track unknown space
* Contributors: Martin Günther, Martin Peris

sbpl_recovery

No changes

twist_recovery

No changes

Holding for Noetic sync


[DEVOPS-390] Freeze poky layer due to gtest bug

Commit 11d99fba1ff4da5b031e03c6504bc0e777615ac2 in the poky layer
causes build errors when including gtest. Freeze poky refspec until this issue
has been resolved.

Works fine :) (Jenkins feature pipeline #899)


⚠ Bofrost.at has degraded performance

In 0fa2110, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1183 ms

Resolved: Bofrost.at performance has improved in 368e5e2 after 7 minutes.


“When you gotta go, you gotta go”: A proposal for tagging preset for gender neutral toilets

I'd like to bring up the topic of gendered toilets, how they're tagged in OSM, and humbly suggest iD support the following tagging scheme, which I'm willing to offer to help implement.
There is a a tagging scheme in use for gender neutral toilets, which has for 4 mutually exclusive options for an amenity=toilets:

Male & Female, separated: female=yes,male=yes,unisex=no
All genders together: unisex=yes (with no male or female tags)
Male only: male=yes,female=no,unisex=no
Female only: female=yes,male=no,unisex=no

This supports the tagging of “gender neutral toilets” (as well single gender, and gender segregated toilets). A good UI for this would be a 4-option radio button. AFAIK iD (& JOSM) cannot support this tagging scheme as a preset (right?).
But this is something I'd like to see in the world, and I'm not a great javascript programmer, but I'm willing to try to implement this feature. I think we should promote this tagging scheme.
But before I spend time on this, I must ask advice. Is this a feature that (if implemented) you'd merge into iD? Is this feature request “well formed”? Have I forgotten anything? Is there some hidden cases which will make this impossible/very hard?
This feature might be used be other tagging schemes, but I don't know of any right now. (Clearly these scheme can be used as toilet:unisex=.../etc for amenity=restaurant/bar/pub/...).
To get specific, in order to implemented this, I suggest creating a new preset type of field 'multiKeyRadio', and this gender option would be stored like this:
{
  'type': 'multiKeyRadio',
  'label': 'Gender',
  'placeholder': 'Unknown/Other',
  'strings'

  'options': [
    {'id': 'male', tags: {'male': 'yes', 'female': 'no', 'unisex': 'no' } }.
    {'id': 'female': tags: {'male': 'no', 'female': 'yes', 'unisex': 'no' } },
    {'id': 'gender_segreated', tags: {'male': 'yes', 'female': 'yes', 'unisex': 'no' } },
    {'id': 'gender_neutral': tags: {'unisex': 'yes' }, 'removeKeys': ['male', 'female'] }
  ]
}

The important part is options, each gets a separate list entry. Each has an id (for it's id code), tags to mean "set these keys to these values", and removeKeys (default []), a list of keys to remove/unset.
When an OSM object is selected, if the tags set set to one option that radio button will be selected. If another combination of tags, then no option will be selected in the radio list. (e.g. if there is male=yes,female=no only).
So what do yous think? Should I try to start working on a PR for this? What feedback do yous have?
If someone else is skilled and able to do this, then that's great 🙂 But I'm willing to try to hack together some JS, if I'm sure there aren't any major flaws.
Related iD issues: #3954 (big issue with lots of comments) #2422 #5221 #6569 #7165
See also:

OSM Wiki on unisex tag
OSM Wiki on tagging gender neutral toilets
A quarterly project was held to improve this data
StreetComplete devs talk about this topic
https://github.com/RefugeRestrooms/refugerestrooms/issues/298
https://github.com/RefugeRestrooms/refugerestrooms/issues/169
https://github.com/RefugeRestrooms/refugerestrooms/issues/80

I'm glad to see you persisting on this topic @rory! Thanks for putting in the time and effort!

AFAIK iD (& JOSM) cannot support this tagging scheme as a preset (right?).

Yes, #3954 goes into more detail about this.  I'd also like to see more better tagging for gender neutral restrooms.
Given that neither iD nor JOSM can support the existing male/female/unisex tag scheme easily - don't you think that this might be a good reason to rethink the tagging instead of pushing forward with implementing a new UI control?  I commented on #3954 with suggestions on how namespacing can help.
If you really do want a control, I'd prefer to just make a special toilet radio button control that sets the necessary tags, rather than a generalized "multiKeyRadio".  We have implemented a few other special controls for things like Cycleway and Structure radio buttons, which can set a handful of tags at once, so it's a thing we do sometimes.

I didn't know about the possibility of a special control. I'll look into that.
JOSM can't support it (now) because I wanted to start with the larger editor, id.
This male/female/unisex has bajillions of uses. To try to add a new tagging scheme just because the code doesn't exist now sounds like tagging for the preset system. 🙂 And doing it backwards
On 13 March 2020 17:14:44 CET, Bryan Housel<EMAIL_ADDRESS>wrote:

AFAIK iD (& JOSM) cannot support this tagging scheme as a preset
(right?).

Yes, #3954 goes into more detail about this.  I'd also like to see more
better tagging for gender neutral restrooms.
Given that neither iD nor JOSM can support the existing
male/female/unisex tag scheme easily - don't you think that this
might be a good reason to rethink the tagging instead of pushing
forward with implementing a new UI control?  I commented on #3954 with
suggestions on how namespacing can help.
If you really do want a control, I'd prefer to just make a special
toilet radio button control that sets the necessary tags, rather than a
generalized "multiKeyRadio".  We have implemented a few other special
controls for things like Cycleway and Structure radio buttons, which
can set a handful of tags at once, so it's a thing we do sometimes.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/iD/issues/7427#issuecomment-598801148

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

What is about the tag gender_segregated=yes/no? It is less used, yes, but it can solve the problem that unisex=yes/no wasn't clear in the past whether to use for both genders or to say that there is (no) gender segregation.

What is about the tag gender_segregated=yes/no?

That also has the disadvantage of being nearly entirely unused, You could try to map this detail yourself to give it a boost?

Yes I could. But please think of the tag traffic_signals=signal, which also was used nearly only in Helsinki before iD made it to the standard value for a highway=traffic_signals-node. It was the editor itself which gave this tag a boost. The same for many other tags. The thing is whether people assume the tag to be useful, because in iD the osm-wiki seems to have "not so much to say" anymore, but I know, the numbers of actual usages have...

As the meaning of unisex=yes is not so much clear, male=yes/no and female=yes/no can be used just to say whether one of these genders has access at all. gender_segegated=no would say then, that it is a gender neutral toilet. For adding the tag gender_segregated, there have to be the tags male=yes and female=yes. It's just like the example that there has to be the tag internet_access=yes/wlan, for adding the tag internet_access:fe=yes/no.

This is an important topic and highlights the need to use the proposal process to gain community consensus on the preferred tagging scheme.  We should not be using the iD editor as a back-door way of avoiding that process.

Well, yes, when we have someone who wants to go on with this process, I'd like it very much.

With #9656, iD is able to edit all of the mentioned possibilities from the original post, although in a slightly different way: by manually selecting/deselecting the individual options. While arguably being a little bit overkill and potentially overly complex for the toilets use case, this solution has the benefit of also being applicable to other tags with yes/no options (e.g. recycling.*=yes/no, payment:*=yes/no, etc.).


Converted more uorb messages to autogen and worked on eff-c++ warnings.

Also added ctor and virtual dtor to c++ autogen classes to silence -Weffc++ warnings. Still needs to be tested more, but wanted to get some feedback.

It looks good to me. I think we should work hard to validate fast and get this in, since its welcome cleanup but creates noise in the development flow if not done swiftly and smoothly. Did you flight test this change?

I haven't flight tested this yet. I will make sure to clean up the autogenerated files, this is kind of rough right now. I am investigating some odd glitches in the sensor_combined message with the debugger. Possibly the different layout of the c and c++ structs are causing issues. Any ideas?

The C++ struct with virtual dtors were changing the memory layout so that they didn't match the C struct. So I'm not really sure I can make the code -Weffc++ compliant as is. I just reverted that change. It looks good in memory now and I will flight test in a couple of hours.

So this is now tested and would be good to go?

Yes, I have flight tested this on two systems with one running ROS and all the messages were fine and I didn't have any other issues or see anything when looking at the log files.

Can someone test the change to the sf0x driver and make sure this clean up didn't cause any functional change. I don't have the hardware.

@severinleuenberger could you give this branch a try and report back if the laser driver is still working? I'd like to avoid breaking it for you, and the unit is not in widespread use currently.


Loading repo from explicit hash fails due to fix for other issues in custom nomenclature version

Specifying git_hash parameter in iam_validation.nomenclature.defs.NomenclatureDefs.from_url fails with a git error. The reason appears to be that the loading code in the custom version of the nomenclature-iamc package currently specified in pyproject.toml tries to pull updates, but that fails if the id is an explicit hash rather than a branch name. We need to either fix the fix, or complete the PR to the nomenclature-iamc that ensures non-ASCII characters in region mappings don't cause crashes PR #406.

The relevant PR in nomenclature has been merged there, and is included in release 0.20.0. Commit 43ebc3c (release v0.1.0) here therefore switches the dependency to the released nomenclature-iamc package, which closes this issue.


update handling of security groups in kube-stack test env

The security group modules now create a base SG (for each node/role), and a bunch of rules are then added to that base SG. The kube-stack test env - https://github.com/fpco/terraform-aws-foundation/tree/master/examples/kube-stack-private for example - has not been updated since those SG modules were refactored. After this update, the test env ought to deploy cleanly and work in a basic sense.

I've updated the kube-stack-private env, and that is complete. The public env still needs the same updates. I'm reassigning this to @lpaulmp to complete those updates as part of his work with this kube-stack.


bcrypt module not compatible with nodejs12.x

AWS discontinued support for nodejs8.10. I changed the code to nodejs12.x based on previous commit that updated project nodejs version. This caused an error with bcrypt module:
"errorMessage": "The module '/var/task/node_modules/bcrypt/lib/binding/bcrypt_lib.node'\nwas compiled against a different Node.js version using\nNODE_MODULE_VERSION 57. This version of Node.js requires\nNODE_MODULE_VERSION 72. Please try re-compiling or re-installing\nthe module (for instance, using `npm rebuild` or `npm install`)."

I tried to replace bcrypt in lambda-login.zip with the latest version but it didn't help. Unfortunately, I don't know enough about nodejs deployment to quickly resolve it. I was wondering if you are planning to update to latest supported nodejs version?

No I'm not planning on making changes to this project in the near future.

I fixed the bcrypt EOL in https://github.com/jpsim/AWSPics/pull/49
Now it uses bcrypt 5.0.1+ instead of bcrypt 2.0.1 which had reached End of Life.

Marking closed with latest PR https://github.com/jpsim/AWSPics/pull/49


Hackathon DAO | zk repo - understanding zkRollup PartII

Participate in podcast to help people understand detailed tech design for zkRollup, including proof generation and off-chain verification.
Bounty: 100 USDT + 1 $HAC
Instructions

Join our Discord
Go to #💰bounties channel
Send “zk repo - understanding Bulletproof” and our staff will follow up with you bounty details and reviewing.
The bonus will be released after the first PR of the referee merged.

#33


Feature request: print warnings during --dry-run

This is just a side-thought from #867.
It might be helpful to print warnings during a --dry-run for mistakes like using sha256("file/path.txt") instead of sha256_file("file/path.txt"). Don't know how common or reasonable this is, but it's a thought. *shrug*

I think it's not possible to detect an error like sha256("file/path.txt"), since you might actually want the hash of that string. Anything that is detectable should get a warning, and that should definitely printed during --dry-run.


add the pattern support for scatterND op in constant folding pass

Can one of the admins verify this patch?

Can one of the admins verify this patch?

I agree with @chentong319's comments. I am sorry that there is no document about the infrastructure for constant propagation at this time. Please look at the comment at the beginning of ConstProp.cpp and follow one of the examples.

@jenkins-droid test this please

Can one of the admins verify this patch?

propagation

Got it!. I will follow the style of the example at the beginning.

Be aware of that ONNX constants may be in buffer format in constant folding pass. No document for that yet. But you can find relevant code, such as getArrayFromAttributeOrBuffer, in ConstProp.cpp. Those utility functions could help you.
Is there a particular reason that table gen (ConstProp.td) is not used for this pattern? Or just personal preference?

thanks for your comment, I will refactor this part and submit it once again.

@jenkins-droid test this please

Can one of the admins verify this patch?

@jenkins-droid test this please

@DavidChan0519 I wrote a document about constant propagation in this PR #1004. Hope it help.

@DavidChan0519 I wrote a document about constant propagation in this PR #1004. Hope it helps.

thanks!


Strange shadowing issue near edges of camera view

I've attached a screenshot. You can see at the edges the shadow is not showing and has a jagged edge. It is really bad if I turn the camera fast and takes a few hundred milliseconds to fade to the correct shadow... I've injected shadows with the storm clouds using Weather Maker, but this problem happens even if I simply edit the UpdateShadow.shader file and simply return a small value for the shadow, like 0.1.

Unfortunately this is a "feature" - the shadow cascade data is not available outside the frustum.
There might be a way to artificially expand the cascade shadow map so that crest can get more data, but i don't know it.
The alternative is to not use crest shadow data at all and just sample shadows directly in the shader. i had a bad time trying to do this with the built-in render pipeline, the SRP may afford more flexibility here.

I'm not so sure the cascade shadowmap is the issue. Try returning a value like 0.1 hard-coded in the shadow shader. You will still see a problem on the edges and in the distance.

I added a commit to your PR which "addresses" it. It uses the undisplaced location to sample the shadow. I decided to push it your way instead of going straight to master as i could use a second pair of eyes, let me know what you think.

Ok will have a look now.

It looks a lot better. Things are still bright in the distance even with a hard-coded shadow value in the shadow shader, but this is progress!


browserVersion: 'insiders' is actually not running insiders

All our insiders builds run with latest VS Code stable but not insiders.

I had a look and I think the easiest thing to do would be to copy the approach taken by @vscode/test-electron (see https://github.com/microsoft/vscode-test/blob/main/lib/util.ts#L42).
Is there an easy way to test the download after updating the code? Looks like test:e2e doesn't run the download. If you let me know I'll patch and open a PR.
👍🏻.

Looks like test:e2e doesn't run the download.

It should, make sure to delete the .wdio-vscode-service folder as it caches the binaries.

Something must be up here where we try to get the tag for insiders. It finds that tag by visiting https://api.github.com/repos/microsoft/vscode/releases/latest and checking the tag_name. My hunch is that this approach is flawed because insiders is not always the last released artifact in that repository. The problem is that we need the insiders tag to be able to fetch the right cgmanifest.json  file which tells us which Chromedriver to download.

@vscode/test-electron actually uses a different API: https://update.code.visualstudio.com/latest/${platform}/insider

@mattseddon getting insiders is not the problem but finding out which Chromium version is used within it so we can download the correct Chromedriver version is.

Sorry I didn't fully understand the problem. I've read the code again and raised #29. LMK what you think. Thanks


[feature] EOL tracking with release date of current dependency version

We are searching for a tool to support EOL management of dependencies. I'll try to explain our idea and would like to know, if a pull request of this kind is interesting for others as well and would be accepted - or if this is out of scope of this plugin.
The current report via "dependency-updates-report" is great to be informed for possible updates and so it ensures that the projects don't use real old dependency versions if newer are available.
But what if there is no newer version for a dependency since years? It will never show in the report, because there is no update. We would like to visualize this dependencies too - so the project can decide what to do with this old dependencies. Is it still ok to use them or should they be replaced by another dependency? Maybe just the GAV was changed? Or there is a fork? Or something completely new?
An outline of what changes would be required to make this possible:
a) a new config parameter like "eolBefore" which contains a date and advices the report to treat all dependencies with a release date before this to be old
b) the release date of each dependency needs to be determinded (e.g. a request like https://search.maven.org/solrsearch/select?q=a:jasypt-spring3+AND+g:org.jasypt&rows=1&wt=json to get the "timestamp") - or does somebody know a better source?
c) the dependency-updates-report should contain one more column which contains the release date of the dependency
d) the dependency-updates-report should contain one more category "# of dependencies using the latest version available which is older than "
Only if in a) the config parameter is used, b), c) and d) will be executed.

Hi @jarmoniuk @stephenc
Could you give me a feedback about my feature proposal? Or whom should I ask?

@slachiewicz is probably your best bet. I'm dragged to a different language by work so not super active in JVM 😭

I would like to simple add next - option c
We can call it as libyear - https://libyear.com/
There is a example plugin:
mvn eu.maveniverse.maven.plugins:toolbox:gav-libyear -Dgav=org.codehaus.mojo:versions-maven-plugin:2.16.2

@cstamas is a autor of it

Much better source is Central itself, just do a HEAD against artifact and you will get the "published date" of artifact. It works for all "recently published" artifacts, while some (pre)historic artifacts migrated from old Central have it off, but IMHO is ok.
You can use search-api w/ RR backend (as it does all for you):
https://github.com/apache/maven-indexer
(smo-backend is the Sonatype search you showed example with, that is central only, while remoterepo backend is a limited functionality but usable for against all repoitories).
Or, you can reuse "shared" module from toolbox:
https://github.com/maveniverse/toolbox

Thanks for your suggestions @slawekjaranowski and @cstamas .
I checked them and libyear looks really great to get an idea about the "age" of a projects dependencies. Really better than "bad" or "really bad". :)
But...like the version plugin the reports from libyear are just missing the dependencies which are on the latest version but this version being e.g. 10 years old. And exactly this possible EOL dependencies I would like to catch and handle.
Before your suggestions my question was "would the version plugin" accept my feature?". Now the question seems to be if the version plugin is the right place or if even libyear would accept such a feature.
As the aim of libyear is to calculate the "libyears behind", the best it could do is to add "current but old" dependencies e.g. with their age to the libyears. But this still does not clearly identify "current but old" dependencies.
So I'm still on the version plugin on would like to implement this, if the project will accept it.
But that's just my point of view. What do you think about?

Example of added "age": https://gist.github.com/cstamas/fe8d4b006a4b47f638dd7f8d59af04a8

Showing up to date deps age as well
https://gist.github.com/cstamas/28b53ad146ec7e1af51df65358e1eaac

Your last example including the up to date deps is exactly what is driving me.
Deps like "javax.inject:javax.inject:jar 1 (2009-10-14) [age 14.67 years]" I would like to identify.
So if a PR as described by me in the first post of this issue would be accepted, I'll go into further details of how to implement including your hints about possible implementations.
Thanks so far.


Aurn Script Reorganising

I've split out the different functions in the AURN postprocessing_organisation routine - so that we have two parallel routines, one for imputing data, the other for simply organising the data without imputing it, followed by a single routine which calculates the daily mean / max values, and returns the final dataframe for outputting. This is to bring it inline with the met processing scripts.
There's also some small changes to the datetime function loading (again to bring consistency across the aurn and met scripts).

Please add a parameter description to the define_years_to_download function (for years)

I've realised I was just passing self.years - so have removed the parameter from the function call, and am loading it directly in the function.