Rewrite lintElses check to handle multiple else ifs

As suggested by @dsymonds this PR handles multiple else-ifs in lintElses. The suggestion for outdenting an else block is only shown if the if block has a return as last statement, no else-ifs and of course an else block.The PR also adds some test cases to make the behavior clearer.

The code here is meant to completely ignore else if blocks, mostly because their control flow is a lot harder to see than just if+else. Can you make this change correctly ignore an else if chain, rather than trying to flag the dangling else when all the previous blocks return?

@dsnet: I guess this could be done much cleaner but it addresses the concerns of dsymonds without changing too much of the original PR. Please take a look.

@dsnet: I resolved @dsymonds concerns and adapted the whole PR to be smaller since most cases are not needed anymore because of the behavior change. Please take a look.

@dsnet Any update on this?

Any updates on this?

@dsymonds since this came up with #354 again. Could you please take another look at this PR? I would be really sad if the invested time would be wasted. (I guess since it is that old a CI rerun would be also a good idea)

@alandonovan can you take a look at this?

@zimmski ping

@googlebot cla?

Funny enough, I did not received any notifications for @alandonovan comments but got @andybons comments right away? So just in case my comments for the code are not going through:
a.) I made the one change @alandonovan requested, rebased to the latest master and pushed the newest version.
b.) Regarding adding support for "continue" and "break" statements: The original intention of this PR was to fix the else-if problems. Adding these statements is fine with me, but if it is up to me, I would add them in another PR.


[Feature]Support refresh mv by partition

What type of PR is this：

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

Which issues of this PR fixes ：

#11445
CREATE TABLE t1 (
                  col1 int,
                  col2 date,
                  col3 varchar(20)
                ) ENGINE=OLAP
                DUPLICATE KEY(col1,col2)
                COMMENT "OLAP"
                PARTITION BY RANGE(`col2`)
                (
                       START ("2021-01-01") END ("2021-01-04") EVERY (INTERVAL 1 day)
                )
                DISTRIBUTED BY HASH(col1) BUCKETS 3
                PROPERTIES (
                "replication_num" = "3"
                );

CREATE MATERIALIZED VIEW mv1 PARTITION BY `col2`
DISTRIBUTED BY HASH(col1) BUCKETS 3
REFRESH manual
AS SELECT col1, col2
FROM t1;

refresh materialized view mv1 force;

insert into t1  values (1,'2021-01-01','sss'),(2,'2021-01-01','sss'),(3,'2021-01-02','sss');

MySQL [p1]> select * from t1;
+------+------------+------+
| col1 | col2       | col3 |
+------+------------+------+
|    2 | 2021-01-01 | sss  |
|    3 | 2021-01-02 | sss  |
|    1 | 2021-01-01 | sss  |
+------+------------+------+
3 rows in set (0.01 sec)

refresh materialized view mv1 partition START ("2021-01-01") END ("2021-01-02") force;

select * from mv1;
+------+------------+
| col1 | col2       |
+------+------------+
|    2 | 2021-01-01 |
|    1 | 2021-01-01 |
+------+------------+
2 rows in set (0.01 sec)

refresh materialized view mv1 ;

MySQL [p1]> select * from mv1;
+------+------------+
| col1 | col2       |
+------+------------+
|    3 | 2021-01-02 |
|    1 | 2021-01-01 |
|    2 | 2021-01-01 |
+------+------------+
3 rows in set (0.01 sec)

Problem Summary(Required) ：

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

starrocks_be_unittest succeeded.

run all

starrocks_be_unittest succeeded.

[FE PR Coverage Check]
:disappointed: fail : 78 / 101 (77.23%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/ConnectorMetadata.java
0
1
00.00%
[179]

:large_blue_circle:
com/starrocks/qe/DDLStmtExecutor.java
0
1
00.00%
[261]

:large_blue_circle:
com/starrocks/scheduler/ExecuteOption.java
1
6
16.67%
[21, 22, 23, 24, 25]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
8
22
36.36%
[3444, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3460, 3461, 3462, 3463, 3464, 3465]

:large_blue_circle:
com/starrocks/scheduler/PartitionBasedMaterializedViewRefreshProcessor.java
14
16
87.50%
[376, 377]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskRunBuilder.java
15
15
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskManager.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RangePartitionWithoutIntervalDesc.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/common/SyncPartitionUtils.java
20
20
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RefreshMaterializedViewStatement.java
5
5
100.00%
[]

run starrocks_admit_test

[FE PR Coverage Check]
:disappointed: fail : 99 / 135 (73.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/ConnectorMetadata.java
0
1
00.00%
[179]

:large_blue_circle:
com/starrocks/qe/DDLStmtExecutor.java
0
1
00.00%
[261]

:large_blue_circle:
com/starrocks/scheduler/ExecuteOption.java
1
6
16.67%
[21, 22, 23, 24, 25]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
8
22
36.36%
[3444, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3460, 3461, 3462, 3463, 3464, 3465]

:large_blue_circle:
com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
21
34
61.76%
[544, 545, 547, 554, 555, 559, 560, 561, 562, 564, 565, 566, 568]

:large_blue_circle:
com/starrocks/scheduler/PartitionBasedMaterializedViewRefreshProcessor.java
14
16
87.50%
[376, 377]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskRunBuilder.java
15
15
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskManager.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RangePartitionWithoutIntervalDesc.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/common/SyncPartitionUtils.java
20
20
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RefreshMaterializedViewStatement.java
5
5
100.00%
[]

starrocks_be_unittest succeeded.

starrocks_be_unittest succeeded.

run starrocks_admit_test

run starrocks_fe_unittest

run starrocks_admit_test

starrocks_be_unittest succeeded.

[FE PR Coverage Check]
:disappointed: fail : 98 / 132 (74.24%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/ConnectorMetadata.java
0
1
00.00%
[179]

:large_blue_circle:
com/starrocks/qe/DDLStmtExecutor.java
0
1
00.00%
[261]

:large_blue_circle:
com/starrocks/scheduler/ExecuteOption.java
1
6
16.67%
[21, 22, 23, 24, 25]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
8
22
36.36%
[3444, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3460, 3461, 3462, 3463, 3464, 3465]

:large_blue_circle:
com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
21
34
61.76%
[544, 545, 547, 554, 555, 559, 560, 561, 562, 564, 565, 566, 568]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/PartitionBasedMaterializedViewRefreshProcessor.java
11
11
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskRunBuilder.java
15
15
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskManager.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RangePartitionWithoutIntervalDesc.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/common/SyncPartitionUtils.java
22
22
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RefreshMaterializedViewStatement.java
5
5
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 98 / 130 (75.38%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/ConnectorMetadata.java
0
1
00.00%
[179]

:large_blue_circle:
com/starrocks/qe/DDLStmtExecutor.java
0
1
00.00%
[261]

:large_blue_circle:
com/starrocks/scheduler/ExecuteOption.java
1
6
16.67%
[21, 22, 23, 24, 25]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
8
20
40.00%
[3444, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462]

:large_blue_circle:
com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
21
34
61.76%
[544, 545, 547, 554, 555, 559, 560, 561, 562, 564, 565, 566, 568]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/PartitionBasedMaterializedViewRefreshProcessor.java
11
11
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskRunBuilder.java
15
15
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskManager.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/PartitionRangeDesc.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/common/SyncPartitionUtils.java
22
22
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RefreshMaterializedViewStatement.java
5
5
100.00%
[]

starrocks_be_unittest succeeded.

starrocks_be_unittest succeeded.

starrocks_be_unittest succeeded.

starrocks_be_unittest succeeded.

[FE PR Coverage Check]
:disappointed: fail : 116 / 150 (77.33%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/ConnectorMetadata.java
0
1
00.00%
[178]

:large_blue_circle:
com/starrocks/qe/DDLStmtExecutor.java
0
1
00.00%
[261]

:large_blue_circle:
com/starrocks/scheduler/ExecuteOption.java
1
6
16.67%
[21, 22, 23, 24, 25]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
8
20
40.00%
[3444, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462]

:large_blue_circle:
com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
21
34
61.76%
[544, 545, 547, 554, 555, 559, 560, 561, 562, 564, 565, 566, 568]

:large_blue_circle:
com/starrocks/scheduler/PartitionBasedMaterializedViewRefreshProcessor.java
29
31
93.55%
[373, 394]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskRunBuilder.java
15
15
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskManager.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/PartitionRangeDesc.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/common/SyncPartitionUtils.java
22
22
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RefreshMaterializedViewStatement.java
5
5
100.00%
[]

BE Build Success

run starrocks_fe_unittest

run starrocks_fe_unittest

[FE PR Coverage Check]
:disappointed: fail : 114 / 148 (77.03%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/ConnectorMetadata.java
0
1
00.00%
[178]

:large_blue_circle:
com/starrocks/qe/DDLStmtExecutor.java
0
1
00.00%
[261]

:large_blue_circle:
com/starrocks/scheduler/ExecuteOption.java
1
6
16.67%
[21, 22, 23, 24, 25]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
6
18
33.33%
[3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3474]

:large_blue_circle:
com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
21
34
61.76%
[544, 545, 547, 554, 555, 559, 560, 561, 562, 564, 565, 566, 568]

:large_blue_circle:
com/starrocks/scheduler/PartitionBasedMaterializedViewRefreshProcessor.java
29
31
93.55%
[386, 407]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskRunBuilder.java
15
15
100.00%
[]

:large_blue_circle:
com/starrocks/scheduler/TaskManager.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/PartitionRangeDesc.java
6
6
100.00%
[]

:large_blue_circle:
com/starrocks/sql/common/SyncPartitionUtils.java
22
22
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/RefreshMaterializedViewStatement.java
5
5
100.00%
[]

run starrocks_admit_test


Uploaded logo for Face-X

Related Issue or bug
Logo for Face-X
Fixes: #163
Proposed Changes

Uploaded both SVG and PNG format of the logo in cartoonify-image/logo

Additional Info

Anything related Issues

Screenshots

A reminder to add labels for DWOC thank you!

tysm!


SCSS file import for inline styling not working

I want to use inline styling like this:
Importing as such
import styles from './styles.scss
then apply as such

But it looks like styles is undefined, and so is styles.button
This doesn't work unless CSS module is turned on - you can find this in react-scripts/config/webpack.config.js line 470 where it is
{
              test: sassRegex,
              exclude: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction
                    ? shouldUseSourceMap
                    : isEnvDevelopment,
                },
                'sass-loader'
              ),
              // Don't consider CSS imports dead code even if the
              // containing package claims to have no side effects.
              // Remove this when webpack adds a warning or an error for this.
              // See https://github.com/webpack/webpack/issues/6571
              sideEffects: true,
            }

to enable this I would add modules: true to the options as such:
{
              test: sassRegex,
              exclude: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction
                    ? shouldUseSourceMap
                    : isEnvDevelopment,
                  modules: true
                },
                'sass-loader'
              ),
              // Don't consider CSS imports dead code even if the
              // containing package claims to have no side effects.
              // Remove this when webpack adds a warning or an error for this.
              // See https://github.com/webpack/webpack/issues/6571
              sideEffects: true,
            }

Please make this work, thanks!

Never mind. I realised this would not make sense for the purpose of SASS...


Write the "Printing" concept

Official docs:
https://book.cairo-lang.org/ch11-08-printing.html

Exercism Concepts docs:
https://exercism.org/docs/building/tracks/concepts
Use "Felt Type" as inspiration for format:
https://github.com/exercism/cairo/tree/main/concepts/felts

may i do this task? @misicnenad

@Gobinath-B of course! Assigned you to the issue

@Gobinath-B how's the work going? Do you have a draft I could look at, maybe I can help you speed things up?

@misicnenad also assign this to me.

@okhaimie-dev once you're done with structs work, let me know which issue you'd like to work on first - this one or the "mutability" one.
It's best to work on one issue at a time; it both allows you to focus on one thing, and it allows more other devs to work on free issues in parallel

@misicnenad I already made a PR for both Struct and Mut

@okhaimie-dev loving the initiative, assigning you to this as well!

@okhaimie-dev you still working on this?


deps: update dependencies

Thanks to recent changes by Maryanne we can update some dependencies 🚀

ugh it works on my Windows machine but not on ci 🤔


Typescript Error Expression expected.

Hello guys am still a novice on Ionic Framework notably on its version 3. I've tried adding a firebase database authentication to my project but am recieving this error. Please what is? Details would help. Thanks

Hi @TMGaston! We have a required issue template. Feel free to reopen this issue with the details filled out.


Use OAuth to authenticate instead of PATs

As we push to move away from Personal Access Tokens (and the v1.1 API) we need to rewrite the authentication on this plugin to use OAuth.
One question that remains before we can task this: How do we store the OAuth Client Secret in a secure manner? If we use the same OAuth Application for all WordPress users it would require the same secret and anyone who acquired it could impersonate the app for nefarious purposes. If we don't use the same secret but require each user to create their own oauth app, it kind of defeats the purpose of oauth and breaks our own general application guidelines.
One possible option would be to build out some sort of expanded Oauth implementation that has a one public and many private keys. We could embed the public key in the API and require the user to enter their personal private key during registration. However, each user would need a different private key, and this approach also makes the Oauth part seem almost pointless since we'd be requiring a user provided string before we could even begin the auth flow.
Other ideas?

Per site oauth app that we hide from normal visibility? 😭

The downside of per-site app is the same as a private key. The user has to copy in values to get the Oauth to work rather than just "click to connect".


Using data-tubo-method="delete" and data-turbo-confirm in links (possible memory leak(

I'm trying the examples in documentation for Requiring Confirmation for a Visit.
Back to articles
Delete the article

The data-turbo-confirm is ignored in the first link.
The second links keeps creating related forms if the the confirmation message is canceled each time the link is clicked.

Thank you for opening this issue!
Self-removal after a dismissed confirmation is the latest in a long list of quirks that Turbo's handling of -as-<form> elements needs to account for.
In the short term, is it possible to replace the  with a <form>?

Yes, it's possible.
I see that Turbo creates the form and transfers attributes from the link to the form to have the form process data-turbo-confirm with it's submission process exiting if confirmMethod is false. And more quirks arrive as we need more data from the link element to make a cool confirmation dialog.
What about having the confirmMethod avaliable in FormLinkClickObserver and calling it before form creation?


Add note type 'Etymology'

(Or move the list of options to the Django admin field choices so I can do it myself, but I think we decided against this earlier, it doesn't happen too often that we want to modify the list)

Done.


Lamil/deployment updates

Description

Added .bat files to parse .lu files into deploymentScripts folder for all languages and skills
Removed all .luis and .qna files and added to .gitignore
Added dispatch.lu for each language
Updated POI cancel route .lu to use patterns for redundant utterances to allow for ludown parsing of dispatch.lu (cannot have more that 15000 utterances for one intent)

Notes

This does not include post build steps due to increased build time
Must run the .bat files before running msbotClone command

Related Issue

fixes #21
Testing Steps

Pull down code
Run update_deployment_scripts.bat
Verify populated deployment script files for all languages in DeploymentScripts folder of VirtualAssistant

Added updates files for each language, so they can selectively be added in as build steps if desired.


import failed

from pykafka import KafkaClient
Traceback (most recent call last):
File "", line 1, in
File "pykafka/init.py", line 1, in
from .broker import Broker
File "pykafka/broker.py", line 26, in
from .protocol import (
File "pykafka/protocol.py", line 1342
self.members = {_id: meta for _id, meta in response[5]}
^
SyntaxError: invalid syntax

python version 2.6.6

Hi @lowpower. Unfortunately, pykafka does not support python 2.6. It only works with python 2.7 and above.


Time 24 Hours Issue.

Describe the bug
Hi, I really impressed your plugin thanks for the sharing this plugin with us.
recently I found one issue in the 'HH:MM:SS' mask type. the issue is when I enter the first number 2 in the input field afterward it is not taking any value in the field.
Live example
https://jsfiddle.net/6usdg27n/
Please complete the following information:

OS: Window
Browser: All

Regards
Giriswamy

@pkgiriswamy ,
Upgrade to the 5.0.0 beta version
https://jsfiddle.net/ksjth8od/

Hi Sir,
Thanks for your replay, it's working but again it's having some issues.
First type 24:55:55 in the input box then it will take 02:55:55, now clear the input value and again type 2 then it's taking 02( here 24 hours not taking), it's taking only 12 hours format. Thanks for advance for your help.
Regards
Giriswamy

@pkgiriswamy ,
No in fact it takes 23:59:59, but 24:55:55 it not possible as it should be 00:55:55.
Anyway you don't see it as a clock but as just time.
What do you expect?  That you can type 35:45:65 and 32565:55:55
Or do you want a limit on the hours?

Thank you very much for quick replay, the first time value(24:55:55 into 02:55:55) it's taking auto-correct after, if I clear the value, I am not able to type 22 hours 55 minutes 55 seconds, it's taking 02 hours only.
Thanks for advance for replay.

@pkgiriswamy ,
You are correct.  I will see how to fix this.

@pkgiriswamy ,
I pushed an update which fixes your issue.
https://jsfiddle.net/y3wnL19s/
But I still need to see why you can't enter 22:55:55 with the previous datetime format.  So I keep the issue open.

Hi Sir,
Thanks for quick turnaround, the requirement here is when a user wants to type 23:58:45 has duration it should not allow the user to type numbers greater than 3 in the second digit of hh.
Thanks in advance.
Regards
Giri

@pkgiriswamy ,
Ok, you got my attention ;-)  I will see if I can fix the issue with not allowing 22 after 24.

Thanks, for the quick replay and waiting for your response.
Regards
Giriswamy

@pkgiriswamy ,
https://jsfiddle.net/0sm9gz7a/

Hi Robin,
Thanks for the quick replay, please check the below acceptance criteria for time 24 hours format.
Here are my acceptance criteria for date and time input.

User should able to give the input value in 24 hours format HH:MM:SS
When the user enters the first letter and 2 letters (HH)

If the first letter greater than 2, then it should prefix 0.
example:1. if I type 3 or 4( greater than 2) then it should be 03 or 04 hours
if I type 2 then the second letter should be 0,1,2 or 3, it should not allow more than 3.
example: max value is here 23 hours.

when user enter MM values

if 3 letters are greater than 5, then it should prefix 0.
example:1. if I type 3rd letter 6 or 7( greater than 5) then it should be 06 or 07 minutes and max value here 59 minutes.

When user enter SS values

If the 5th letter greater than 5, then it should prefix 0.
example:1. if I type 5th letter 6 or 7( greater than 5) then it should be 06 or 07 seconds and max value here 59 seconds.

when user copy and paste above all validations should work.

Thanks in advance, please help me with this one.
Regards
Giriswamy

@pkgiriswamy ,
Which case isn't handled?
https://jsfiddle.net/0sm9gz7a/

Hi Robin, Thanks for the quick replay,
2. When the user enters the first letter and 2 letters (HH)
If the first letter greater than 2, then it should prefix 0.
example:1. if I type 3 or 4( greater than 2) then it should be 03 or 04 hours
if I type 2 then the second letter should be 0,1,2 or 3, it should not allow more than 3.
example: max value is here 23 hours.
Regards
Giri

@pkgiriswamy ,
You mean when you type 24 it converts to 02:4M:SS  ?

It should not allow 4 after (max value is 23:59:59) first letter 2 enter.

Hi, If you don't mind, can we connect through a skype call? I can explain all the scenarios for you to understand.
Regards
Giri

@pkgiriswamy ,
I do understand the requirements, ... just need time to fix them, and will translate again into a delay for v5.00 :-(

Thanks, Robin, I am eagerly waiting for your response.
Thanks in advance

@pkgiriswamy ,
Can you have a try with https://codepen.io/robinherbots/pen/BayByYm


inline-entry-points-all: violates structured control flow rules when inlined function has early return

The structured control flow rules say:

the only blocks in a construct that can branch outside the construct are

a block branching to the construct’s merge block
a block branching from one case construct to another, for the same OpSwitch
a continue block for the innermost loop it is nested inside of
a break block for the innermost loop it is nested inside of
a return block

When the inline-entry-points-all pass inlines a function that has early returns, it generates a new exit block, and those inlined returns become branches to that new block.   But these branches could be leaving a structured construct, yet the new exit block is neither the merge block or continue construct for any construct.
So the pass can take a valid SPIR-V module and turn it into an invalid one, by the existing structured control flow rules.
Here's a running example. Start with this vertex shader:
#version 450

int foo(int c) {
  if (c < 10) {
    if (c < 5) return 23;
  }
  return 42;
}

void main() {
  int x = 0;
  x = foo(x);
}

This compiles to
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %main "main"
               OpSource GLSL 450
               OpName %main "main"
               OpName %foo_i1_ "foo(i1;"
               OpName %c "c"
               OpName %x "x"
               OpName %param "param"
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
          %8 = OpTypeFunction %int %_ptr_Function_int
     %int_10 = OpConstant %int 10
       %bool = OpTypeBool
      %int_5 = OpConstant %int 5
     %int_23 = OpConstant %int 23
     %int_42 = OpConstant %int 42
      %int_0 = OpConstant %int 0
       %main = OpFunction %void None %3
          %5 = OpLabel
          %x = OpVariable %_ptr_Function_int Function
      %param = OpVariable %_ptr_Function_int Function
               OpStore %x %int_0
         %31 = OpLoad %int %x
               OpStore %param %31
         %32 = OpFunctionCall %int %foo_i1_ %param
               OpStore %x %32
               OpReturn
               OpFunctionEnd
    %foo_i1_ = OpFunction %int None %8
          %c = OpFunctionParameter %_ptr_Function_int
         %11 = OpLabel
         %12 = OpLoad %int %c
         %15 = OpSLessThan %bool %12 %int_10
               OpSelectionMerge %17 None
               OpBranchConditional %15 %16 %17
         %16 = OpLabel
         %18 = OpLoad %int %c
         %20 = OpSLessThan %bool %18 %int_5
               OpSelectionMerge %22 None
               OpBranchConditional %20 %21 %22
         %21 = OpLabel
               OpReturnValue %int_23
         %22 = OpLabel
               OpBranch %17
         %17 = OpLabel
               OpReturnValue %int_42
               OpFunctionEnd

This is its control flow graph.

The early return occurs in block %21.  It escapes the structured selection headed by block %16.
That's valid.
After running inline-entry-points-all we get
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %main "main"
               OpSource GLSL 450
               OpName %main "main"
               OpName %foo_i1_ "foo(i1;"
               OpName %c "c"
               OpName %x "x"
               OpName %param "param"
       %void = OpTypeVoid
          %3 = OpTypeFunction %void
        %int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
          %8 = OpTypeFunction %int %_ptr_Function_int
     %int_10 = OpConstant %int 10
       %bool = OpTypeBool
      %int_5 = OpConstant %int 5
     %int_23 = OpConstant %int 23
     %int_42 = OpConstant %int 42
      %int_0 = OpConstant %int 0
       %main = OpFunction %void None %3
          %5 = OpLabel
         %33 = OpVariable %_ptr_Function_int Function
          %x = OpVariable %_ptr_Function_int Function
      %param = OpVariable %_ptr_Function_int Function
               OpStore %x %int_0
         %31 = OpLoad %int %x
               OpStore %param %31
         %34 = OpLoad %int %param
         %35 = OpSLessThan %bool %34 %int_10
               OpSelectionMerge %36 None
               OpBranchConditional %35 %37 %36
         %37 = OpLabel
         %38 = OpLoad %int %param
         %39 = OpSLessThan %bool %38 %int_5
               OpSelectionMerge %40 None
               OpBranchConditional %39 %41 %40
         %41 = OpLabel
               OpStore %33 %int_23
               OpBranch %42
         %40 = OpLabel
               OpBranch %36
         %36 = OpLabel
               OpStore %33 %int_42
               OpBranch %42
         %42 = OpLabel
         %32 = OpLoad %int %33
               OpStore %x %32
               OpReturn
               OpFunctionEnd
    %foo_i1_ = OpFunction %int None %8
          %c = OpFunctionParameter %_ptr_Function_int
         %11 = OpLabel
         %12 = OpLoad %int %c
         %15 = OpSLessThan %bool %12 %int_10
               OpSelectionMerge %17 None
               OpBranchConditional %15 %16 %17
         %16 = OpLabel
         %18 = OpLoad %int %c
         %20 = OpSLessThan %bool %18 %int_5
               OpSelectionMerge %22 None
               OpBranchConditional %20 %21 %22
         %21 = OpLabel
               OpReturnValue %int_23
         %22 = OpLabel
               OpBranch %17
         %17 = OpLabel
               OpReturnValue %int_42
               OpFunctionEnd

That has control flow graph:

This second module is invalid.   The correspondence is as follows:

block %37 is  the inlined form of block %16, the head of the inner structured selection construct
block %40 is the inlined form of block %22, the merge block of the inner structured selection
block %41 is the inlined form of block %21
block %42 is the newly created exit block made to accommodate the early return.

The problem is that:

Block %41 is "in" the structured selection headed at %37 since it is dominated by header block %37 and not dominated by the corresponding merge block %40.
Block %42 is not "in" the structured selection headed at %37 since %37 does not dominate %42.  There is another path from entry point block %5 to %42, via block %36.
Therefore the branch from %41 to %42 is a branch from inside a structured selection to outside the structured selection.  It doesn't satisfy any of the permitted ways:

Block %42 is not the merge block or continue target for any structured construct
Block %42 is not the head of a case construct. (There is no OpSwitch)
The branch is not an OpReturn.

Cc @greg-lunarg

When making this example, I tried a simpler one where function foo did not have the outer "if" construct.  But then the result of inlining was valid because the newly created exit block was dominated by the header of the (one and only) selection block.  So the newly created exit block would be considered "in" the selection construct and the branch to it is not escaping anything.    It was surprising, but valid.
Cc @johnkslang on this issue, for general interest in this issue.

The inliner is out of spec.
@greg-lunarg, @johnkslang have quickly discussed a few options to fix it.
Unfortunately, the validator currently does not catch this case.
Let's assume the spec remains unchanged.
First bucket of ideas is to avoid the problematic case:

Avoid inlining when structured control flow is required and

The inlined function contains early returns.

From the observation in https://github.com/KhronosGroup/SPIRV-Tools/issues/629#issuecomment-293970360 we can permit inlining again if whenever an early return is dominated by a structured header block, then that structured header block is the entry point of the inlined function.  This avoids the "alternate path to exit" and hence the branch to the newly created exit block stays "inside" the structured construct.
Second bucket of ideas:

wrap the body in a synthetic if (true) { } construct.  But that just adds more cases where the early return is escaping from an inner structured construct.
wrap the body in a synthetic do {  } while(false).  And then have the early return be a branch to the merge block of the synthetic loop.  But that only works if the early return is not itself in a nested loop. That's because the "break block" is only allowed to branch out to the merge block of the innermost containing loop.

As much as I would like it to be so, I am not sure the case of a single "if" construct is valid. By my reading the selection construct does not include the merge block or any blocks it dominates, including the "exit" block. So the branching to the "exit" block is still invalid, right?

Branching through multiple levels of nesting can certainly be done for

return statements, which exit all control flow

switch breaks, which exit up to the inner-most switch

loop breaks, which exit up to the inner-most loop

more? I assume this is the question, yes?  I can see the gray area here, and if this is the correct question, would like to dig deeper into it (including deeper understanding of the above discussion)

In the meantime, what's the status of an inliner policy?  We do not want to inline, say, medium--complex functions that are called from many locations.  It seems reasonable to include in the policy the black-listing of functions that have early returns inside of loops, or some rule to safe.

In the meantime, what's the status of an inliner policy? We do not want to inline, say, medium--complex functions that are called from many locations. It seems reasonable to include in the policy the black-listing of functions that have early returns inside of loops, or some rule to be safe.

I think functionality is concepturally layered.
The lower level is pure mechanism.  Each transform pass in the SPIRV-Tools does a particular transform.   It does not care whether it's an "improvement".
The higher levels is about policy:  Selection, parameterization, and sequencing of transforms to achieve a particular optimization goal.
So far in SPIRV-Tools we have a few transforms that fall into the lower layer, and nothing that falls squarely  into the upper layer.
 It intrinsically does not have an optimization goal.  A user of it is responsible for deciding whether it's a good idea to do.

As a mechanism fix we could add a pass to modify a function to have a single return. Those can always be easily inlined.
Then when the inliner discovers a return from a loop it can bail out and the user is then responsible for running the single return pass.

@johnkslang regarding inliner policy, I can look at how blacklisting early returns would effect the overall size for our client's shader set. It might be preferable to the cascading control flow required to simulate the branch in question. But being able to exhaustively inline entry points is still going to be attractive.
Might the SPIR-V WG consider allowing more liberal branching out of of a selection construct, say to any block which post-dominates the selection's merge block?

Might the SPIR-V WG consider allowing more liberal branching out of of a selection construct, say to any block which post-dominates the selection's merge block?

I can imagine a future where we all agree that an exit from a selection exits multiple levels of nesting.  Needs discussion.

... policy...

Policy wise, I think the inliner is a dangerous thing if it only works exhaustively, especially if the point is to make things smaller.  Complex shaders will have functions that should not be inlined (both for size and performance).
The default simple use a typical ISV will turn on should automatically not inline medium-large functions called from multiple places, due to the size increase and loss of information. This constitutes important information loss, which is against SPIR-V intent: It is bad both for SPIR-V as an interchange language, and bad for drivers blowing their instruction caches and not knowing there used to be a function call that would have helped.
We should only accept an exhaustive inliner if it is not the default inline policy, and one has to add an extra option (go out of their way) to enable it.  The starting position should be an inline that doesn't blow up code size and loose this information that could be critical to a driver for keeping instructions in cache.

@johnkslang I think we are on the same page. For now there are no "default" passes in spirv-opt, they all have to be explicitly enabled and the exhaustive inliner name "inline-entry-points-all" was meant to give the user the idea that the pass is exhaustive ("-all").

"entry-points" sounds like SPIR-V entry points.  Does it mean SPIR-V entry points, or does it mean function calls?  The option does not sound like an exhaustive inliner, it sounds like it applies to all the SPIR-V entry points in a module.  If it means "all function calls", should change to use SPIR-V terminology.
It would be better to a "safe inliner" show up first, rather than the more dangerous one.

Yes, we can possibly come up with an even better name. I will work with @dneto0 and you to come up with one we can all agree on.
Just to be clear, the current inliner only inlines function calls in entry point functions, and does so exhaustively until no function calls remain in any entry point functions.

@ratchetfreak wrote

As a mechanism fix we could add a pass to modify a function to have a single return. Those can always be easily inlined.

That's a good suggestion as it breaks the problem down into smaller pieces.  But I think the essence of the problem remains: The early returns pop out several nesting levels, which is what is not currently permitted via direct branch.  So the only valid solution is to use cascading control flow (e.g. introduce guard variables) that @greg-lunarg described in https://github.com/KhronosGroup/SPIRV-Tools/issues/629#issuecomment-294190000

https://github.com/KhronosGroup/SPIRV-Tools/pull/634 eliminated almost all bad cases, including all cases naturally generated by Glslang.

@greg-lunarg fixed this with https://github.com/KhronosGroup/SPIRV-Tools/pull/647
Thanks!


How can I reference resources from other stacks in Amplify?

Amplify CLI Version
10.6.1
Question
I want to add a custom policy to the function that Amplify created (in my case it's the XXXPostConfirmation function).
So I tried to edit the value of Resources.lambdaexecutionpolicy in the template file :
amplify/backend/function/XXXPostConfirmation/XXXPostConfirmation-cloudformation-template.json
I want to add the cognito-idp:AdminListGroupsForUser permission to this lambda function.
so here is what I tried:
{
    "lambdaexecutionpolicy": {
      "DependsOn": [
        "LambdaExecutionRole"
      ],
      "Type": "AWS::IAM::Policy",
      "Properties": {
        "PolicyName": "lambda-execution-policy",
        "Roles": [
          {
            "Ref": "LambdaExecutionRole"
          }
        ],
        "PolicyDocument": {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
              ],
              "Resource": {
                "Fn::Sub": [
                  "arn:aws:logs:${region}:${account}:log-group:/aws/lambda/${lambda}:log-stream:*",
                  {
                    "region": {
                      "Ref": "AWS::Region"
                    },
                    "account": {
                      "Ref": "AWS::AccountId"
                    },
                    "lambda": {
                      "Ref": "LambdaFunction"
                    }
                  }
                ]
              }
            },
            {
              "Effect": "Allow",
              "Action": [
                "cognito-idp:AdminListGroupsForUser"
              ],
              "Resource": {
                "Fn::GetAtt": [
                  "authXXX",
                  "Outputs.UserPoolArn"
                ]
              }
            }
          ]
        }
      }
    }
}

where authXXX is the name for auth category(amplify add auth).
After running amplify push I got this error:
Template error: instance of Fn::GetAtt references undefined resource authXXX

Can someone please tell me what's wrong with my code?

Hey @yaquawa :wave: thanks for raising this and apologies for the delay! We can reference other resources by creating a resource block in the dependsOn array in amplify/backend/backend-config.json and running amplify env checkout <current-env-name> to make the environment aware of the newly created dependency

It would also be recommended to step through the amplify update function prompts to grant access to other resources, though I believe this will create a circular dependency. What is the use case you're looking to tackle?

Closing due to inactivity


Don't show catalog name in drop-down if no kubernetes templates

Version - master 3/7
Steps to Reproduce:

Create a kubernetes environment
Go to catalog under kubernetes
Select the Community or Library catalog from drop-down

Results:
There are no catalogs templates showing in list
Expected:
Would be nice if there are no templates that will show up, that we don't show the catalog in the drop-down

No longer applicable in 1.4.


AttributeError: 'ObjectState' object has no attribute 'format_as_string'

File ~/AVstack/carla_sandbox/carla-sandbox/submodules/lib-avstack-core/avstack/modules/tracking/base.py:134, in (.0)
132 tracks = self.track(t, frame, detections, **kwargs)
133 if self.save:
--> 134     trk_str = "\n".join([trk.format_as_string() for trk in tracks])
135     fname = os.path.join(self.save_folder, "%06d.txt" % self.frame)
136     with open(fname, "w") as f:
AttributeError: 'ObjectState' object has no attribute 'format_as_string'
Based on the "Readthedocs" "Track Objects"  --> when switching from "BasicBoxTracker3D" to "Ab3dmotTracker" then this AttributeError above occurs.
Could you please check this?
Thanks

Yes absolutely. I'm in the process of updating the carla-sandbox submodules to their newest versions, and I believe I've left them in a broken state. I'll have this fixed by the end of the week.

Short addition.
Also this file is missing or it was renamed in your substantial changes: "hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class_20220301_150306-37dc2420.pth"
I hope those comments/hints will help you.
Best Regards

Thanks for the feedback. I was able to fix a few things and confirmed that the following code ran on my end with the latest repo.
Other notable changes: I changed the poetry dependencies base on python3.9 and I added a new submodule. Hopefully this isn't a problem for you.
The perception evaluation does not seem to have the correct output, but the tracking evaluation does, so I'll push this up and figure the percep eval later.
import os
import avstack
import avapi
from tqdm import tqdm

%load_ext autoreload
%autoreload 2

data_base = '/data/spencer/'
obj_data_dir_k = os.path.join(data_base, 'KITTI/object')
raw_data_dir_k = os.path.join(data_base, 'KITTI/raw')
obj_data_dir_c = os.path.join(data_base, 'CARLA/carla-object-v1')

KSM = avapi.kitti.KittiScenesManager(obj_data_dir_k, raw_data_dir_k, convert_raw=False)
KDM = KSM.get_scene_dataset_by_index(scene_idx=0)

DM = KDM  # let's use kitti for this one

result_folder = 'results_lidar'
P = avstack.modules.perception.object3d.MMDetObjectDetector3D(
        model='pointpillars', dataset='kitti', threshold=0.7,
        save_output=True, save_folder=result_folder)
T = avstack.modules.tracking.tracker3d.BasicBoxTracker3D(
        framerate=DM.framerate, save_output=True, save_folder=result_folder)

# detection and tracking
ego_ref = DM.get_ego(frame=0).as_reference()
for frame in tqdm(DM.frames):
    pc = DM.get_lidar(frame, sensor='main_lidar')
    timestamp = DM.framerate * frame

    # -- perception
    dets = P(pc, frame=frame, identifier='lidar-detections')

    # -- tracking
    tracks = T(detections=dets, t=timestamp, frame=frame, platform=ego_ref)

# %%capture
# ^^ suppress output
percep_res_frames, percep_res_seq, _ = avapi.evaluation.get_percep_results_from_folder(
    DM, P.save_folder, sensor_eval='main_lidar', multiprocess=True)
track_res_frames, track_res_seq, track_res_exp = avapi.evaluation.get_track_results_from_folder(
    DM, T.save_folder, sensor_eval='main_lidar', multiprocess=True)

print('Aggregate perception results:\n', percep_res_seq, '\n')
print('Aggregate tracking results:\n', track_res_seq, '\n')
print('Expanded track metrics include:\n', track_res_exp.keys(), '\n')
print(f'     e.g., HOTA_LocA(0): {track_res_exp["HOTA_LocA(0)"]}')


plugins/post_compress.py: export image if needed

With squash optionally omitted depending on the build method now, the
built image may not be exported from docker once it's time for compress
to run. So in that case, attempt to export it directly to the
compression stream.

It's not completely clear to me if this will work for base images -- need to figure out how to test those.

This looks fine to me. I don't expect base images would behave differently at this point, but definitely needs to be tested.

Stage build rhel-server-docker-private-lucarval-extras-rhel-713ec-18 ran the compress plugin with load_exported_image: False and it compressed a base image straight from docker just fine.

Added to release notes under Improvements

in the post_compress plugin, images will be exported even if the squash plugin did not run


[Feature]: Attach Pagination tab to GraphQL Editor with support Cursor based pagination

Is there an existing issue for this?

[X] I have searched the existing issues

Summary

Add Pagination tab content with support of Cursor based pagination with other types.

Why should this be worked on?
GraphQL support Cursor based pagination which should be handled by our platform

please see: https://graphql.org/learn/pagination/#pagination-and-edges


The  input and out tif files can not be  opened

The  input and out tif files can not be  opened.

Images seems to be bigtiff, I had with issue with old version of FIJI but managed to open it with version 2.14 of FIJI (based on ImageJ 1.54)

@blingsr @AymericFerreira - Thank you for your involvement in the project. I've updated the MATLAB code to include displays of both the initial and resulting images. Additionally, I’ve added a Python implementation of the algorithm. Please feel free to review these updates if you’re interested.


Building generated project failed due to vue-cli-service command not found

I created a new Vue project using the vue create command. I managed to build it properly on my MacOS platform, but on a CentOS 6.9 platform the build fails with the following error message:
sh: vue-cli-service: command not found
I found a workaround by modifying package.json as follows:
"scripts": {
    "serve"<EMAIL_ADDRESS>serve --open",
    "build"<EMAIL_ADDRESS>build",
    "lint"<EMAIL_ADDRESS>lint"
},

Version
3.0.0-beta.6
Reproduction link
This is random link, do not open! I cannot reproduce in these places.
https://jsfiddle.net/chrisvfritz/50wL7mdz/
Steps to reproduce
Install latest npm, latest vue-cli and try to build a Vue project in CentOS 6.9
What is expected?
The build should succeed
What is actually happening?
$ npm run build

><EMAIL_ADDRESS>build /mnt/partition/home/photoccino/src/apc-tools/moo/frontend
> vue-cli-service build

sh: vue-cli-service: command not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR<EMAIL_ADDRESS>build: `vue-cli-service build`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/photoccino/.npm/_logs/2018-04-10T06_37_11_606Z-debug.log

$ cat /home/photoccino/.npm/_logs/2018-04-10T06_37_11_606Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'build' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
8 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/mnt/partition/home/photoccino/src/apc-tools/moo/frontend/node_modules/.bin:/usr/local/bin:/usr/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/photoccino/bin
9 verbose lifecycle<EMAIL_ADDRESS>CWD: /mnt/partition/home/photoccino/src/apc-tools/moo/frontend
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'vue-cli-service build' ]
11 info lifecycle<EMAIL_ADDRESS>Failed to exec build script
12 verbose stack Error<EMAIL_ADDRESS>build: `vue-cli-service build`
12 verbose stack spawn ENOENT
12 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:48:18)
12 verbose stack     at emitTwo (events.js:126:13)
12 verbose stack     at ChildProcess.emit (events.js:214:7)
12 verbose stack     at maybeClose (internal/child_process.js:925:16)
12 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
13 verbose pkgid<EMAIL_ADDRESS>14 verbose cwd /mnt/partition/home/photoccino/src/apc-tools/moo/frontend
15 verbose Linux 2.6.32-131.17.1.el6.x86_64
16 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "build"
17 verbose node v8.11.1
18 verbose npm  v5.8.0
19 error file sh
20 error code ELIFECYCLE
21 error errno ENOENT
22 error syscall spawn
23 error<EMAIL_ADDRESS>build: `vue-cli-service build`
23 error spawn ENOENT
24 error Failed at the<EMAIL_ADDRESS>build script.
24 error This is probably not a problem with npm. There is likely additional logging output above.
25 verbose exit [ 1, true ]

This bug could be related to unstable npm installation due to crash in the installation stage: https://github.com/npm/npm/issues/20295
You may close this ticket if you think there is not further issues related to vue-cli

can you test with any other npm binary? For example npm i cat-ascii-faces, and then add a script entry that runs cat-face
If it also fails, then it is something dealing with npm/your os

i'm having the same issue with beta 11
even creating a new project seems to cause it for me
Vue CLI v3.0.0-beta.11
✨  Creating project in /Users/seb/dev/Barrys/scratch/barrys-ui.
🗃  Initializing git repository...
⚙  Installing CLI plugins. This might take a while...

yarn install v1.6.0
info No lockfile found.
[1/4] 🔍  Resolving packages...

success Saved lockfile.
✨  Done in 9.43s.
⠁
🚀  Invoking generators...
 ERROR  Error: Failed to resolve plugin: @vue/cli-service
Error: Failed to resolve plugin: @vue/cli-service
    at Creator.resolvePlugins (/Users/seb/.nvm/versions/node/v8.10.0/lib/node_modules/@vue/cli/lib/Creator.js:288:15)
    at Creator.create (/Users/seb/.nvm/versions/node/v8.10.0/lib/node_modules/@vue/cli/lib/Creator.js:137:32)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

updated yarn and node w/ no effect
Vue CLI v3.0.0-beta.11
✨  Creating project in /Users/seb/dev/Barrys/scratch/barrys-ui.
🗃  Initializing git repository...
⚙  Installing CLI plugins. This might take a while...

yarn install v1.7.0
info No lockfile found.
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...

success Saved lockfile.
✨  Done in 7.09s.

🚀  Invoking generators...
 ERROR  Error: Failed to resolve plugin: @vue/cli-service
Error: Failed to resolve plugin: @vue/cli-service
    at Creator.resolvePlugins (/Users/seb/.nvm/versions/node/v8.11.1/lib/node_modules/@vue/cli/lib/Creator.js:288:15)
    at Creator.create (/Users/seb/.nvm/versions/node/v8.11.1/lib/node_modules/@vue/cli/lib/Creator.js:137:32)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

turns out it was a yarn / nvm conflict - i was loading yarn global after nvm

This error is occuring for me after a fresh vue cli install and running the command :
vue create some_project_name
Error:
🚀  Invoking generators...  ERROR  Error: Failed to resolve plugin: @vue/cli-service Error: Failed to resolve plugin: @vue/cli-service     at Creator.resolvePlugins (C:\Users\sheld\AppData\Roaming\npm\node_modules\@vue\cli\lib\Creator.js:303:15)     at Creator.create (C:\Users\sheld\AppData\Roaming\npm\node_modules\@vue\cli\lib\Creator.js:146:32)     at <anonymous>     at process._tickCallback (internal/process/next_tick.js:188:7)
Vue CLI version:
Vue CLI v3.0.0-beta.14

Same here. Tried beta12 and beta14.
Env: win10, native console or gitbash/mingw64

Occurs here as well on Windows 10 with:

Vue CLI v3.0.0-beta.14
NPM 6.1.0
Cmder running git bash

I think it's an nvm issue.  For me at least switching to a regular node install works, where using nvm gave me the error

I fixed this by :

uninstalling my current version of node (10.3.0) and installing the latest stable version (8.11.2)
Uninstalling @vue/cli package (npm remove -g @vue/cli
and as mentioned by @prinzt installing vue/cli beta-1 (npm install -g<EMAIL_ADDRESS>

Same fix worked for me as well, upgraded to the latest stable version of node(8.11.2) and latest version of npm (6.1.0). That fixed the issue for me for windows 10

Upgrade to beta 15 did NOT resolve the issue for me. I was about to submit a new issue when I found this thread. Here's what I was about to post:
Version
3.0.0-beta.15
Reproduction link
Given that this is a tooling issue, I don't know how to reproduce online. Description below is for project generation using the GUI. However I also tried the exact same set of configuration options using $vue create my-app and I got the same error.
Steps to reproduce

Launch the GUI: $ vue ui
Select the "Create" tab
Click the "Create a new project here" button
Enter a project name, select npm as package manager, do NOT overwrite, click "Next"
Select "Manual" preset, click "Next"
Enable ALL features EXCEPT TypeScript, click "Create Project"
Click "continue without saving" (i.e. don't save this config as a preset)
Click "Create Project"

NOTE: The first time I did this, it asked me to specify options. The second time, it did not. Here's what I chose the first time:

Lint on Save
Config in dedicated config files
CSS preprocessor: SCSS/SASS
Linter: ESLint + Prettier
Unit Testing Framework: Jest
E2E Framework: Cypress

What is expected?
I expected a new project to be created and initialized in the target directory specified.
What is actually happening?
Project creation failed with the following error message (note: file path anonymized):
🚀  Invoking generators...
Error: Failed to resolve plugin: @vue/cli-service
    at Creator.resolvePlugins (/Users/myusername/.nvm/versions/node/v9.0.0/lib/node_modules/@vue/cli/lib/Creator.js:303:15)
    at Creator.create (/Users/myusername/.nvm/versions/node/v9.0.0/lib/node_modules/@vue/cli/lib/Creator.js:146:32)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

Some additional information about my dev machine:
OSX 10.13.4
Using NVM
Node: v9.0.0
NPM: v6.1.0
Output of npm list -g --depth=0:
/Users/myusername/.nvm/versions/node/v9.0.0/lib
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>

What packages were installed in the project?

In my case, it was a brand new project, so only default packages were installed. The failure happens when using vue create my-app from the command line, or otherwise trying to do vue ui and then generate a new project through the web interface. I've tried with the default preset as well, and still got the same error. If I cd into the directory and type which vue-cli-service I get ./node_modules/.bin/vue-cli-service so I'm pretty sure the command should be findable in the environment.

@Akryum likely the fallback version check is not taking 9.x into consideration.

I got it working (based on Evan's hint). Here's what I did:

Upgraded nvm (from v0.32.1 -> v0.33.11)
Installed latest node (v10.3.0)
Re-installed vue cli (v3.0.0-beta.15)
Used GUI to generate new project with same settings as above

Based on that, it's hard to say whether the ultimate cause of the hangup was the version of NVM or the version of Node, but my guess is that it is a Node version issue.

Seems to be supported by Node 9: https://nodejs.org/docs/latest-v9.x/api/modules.html#modules_require_resolve_request_options

Node 9.0.0 has the paths option: https://github.com/nodejs/node/blob/fa9990f3fb5b06fe94e294925246d2c136deb2c2/lib/module.js#L517-L534
So I don't think this is the cause of the issue.

I came across this thread with the same problem only I continued to have this problem using Windows 10 despite installing the latest stable version (8.11.2) of node and upgrading to npm (6.1.0). The problem it seems was upgrading npm to 6.1.0 using npm.
For anyone else with this problem using windows10 and wondering why their installation still isn't working, here there is a tool provided by windows:
https://github.com/felixrieseberg/npm-windows-upgrade.
Initially installing and running as described still did not work. I had to follow all the troubleshooting steps mentioned:

Uninstall Node.js (select Uninstall, not the Repair option).
Go into %programfiles%\nodejs and delete the entire folder.
Delete %appdata%\npm and %appdata%\npm-cache.
Edit your PATH and remove everything that references npm (to do so, hit "Start" and search for "Environment Variables").
Reinstall Node, and then follow the instructions using the npm-windows-upgrade tool,  and only use this tool to upgrade npm, do not attempt to run npm install npm.

The windows npm upgrade tool was linked to from npmjs troubleshooting here:  https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-npm
But I now also have windows 10 running 3.0.0-beta.15 with  Node (8.11.2) of node and npm (6.1.0).

small correction - I have to use the vue ui to create the projects, so the web interface is working for me but not the command line.
Still get the Error: Failed to resolve plugin: @vue/cli-service
using the command line vue create my-project.

If anybody is still facing this issue, i was able to solve it on MacOS by installing globally @vue/cli-service-global.
yarn global add @vue/cli-service-global
npm install -g @vue/cli-service-global
Which popped out when running vue serve:
  Command vue serve requires a global addon to be installed.
  Please run yarn global add @vue/cli-service-global and try again.

Hope it helps, Cheers!

I also ran into this with Node 9.11.1, and resolved it by updating to Node 10 (and npm 6.1.0), reinstalling @vue/cli, and doing a clean reinstall of my project's node_modules. I'm using n.

+1
But! I do npm run build  and again npm run serve. And it's work!

Same error here too.
node: v9.9.0
vue-cli 3.0.0-rc.5

"But! I do npm run build and again npm run serve. And it's work!"
Same here lol

My co-worker and I are also having this problem on OSX using Node 8.10.0 and npm 6.1.0 with the addition of using Yarn Workspaces and my personal use of nodenv.
On my computer, installing 3.0.0-beta.15 works fine on my computer but does not work on my co-workers computer.
Upgrading to 3.0.0-rc.5 does NOT work for me as it is failing to install the .bin in both the workspace's package AND in the root node_modules folder.
Reverting the upgrade and re-running yarn install re-installs the beta.15 .bin file and the app works again. ¯_(ツ)_/¯

Getting this with 3.0.0-rc.8. The binary is installed fine locally and I can build without problems, but when I try to deploy to Google Cloud App Engine it throws 404 Not Found: vue-cli-service@latest.

Running<EMAIL_ADDRESS>on
This error occurred for me following the use of npm-check-update (ncu v2.14.2):
><EMAIL_ADDRESS>serve /mnt/sda1/simon/Documents/GitHub/landingpages
> vue-cli-service serve

sh: 1: vue-cli-service: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR<EMAIL_ADDRESS>serve: `vue-cli-service serve`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/simon/.npm/_logs/2018-10-31T17_53_51_450Z-debug.log

To fix this I ran npm install in the directory .  Things worked after this.

This error was showing up in my CI environment (CodeShip Ubuntu 14.04). The details below got me unstuck.
With the --production flag (or when the NODE_ENV environment is set to production), npm will not install modules listed in devDependencies."
echo $NODE_ENV
production
npm config get production
true
npm config set -g production false
npm run build
... all good ...

This will load all dev dependencies including @vue/cli-service which may or may not be desirable depending on what environment you are building for.

I have install
sudo npm install -g @vue/cli-upgrade @vue/cli-service-global

but when I do vue upgrade, it still gives me this:
$ vue upgrade

  Command vue upgrade requires a global addon to be installed.
  Please run yarn global add @vue/cli-upgrade and try again.

:thinking: :thinking: :question:

Got this error, I think due to nvm switching node version.
was able to fix with just npm uninstall vue-cli -g && npm i vue-cli -g

on ubuntu I fixed this by:

uninstalled my old npm that was installed using apt install
apt-get remove npm
installed nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.9/install.sh | bash
restarted terminal
installed latest npm using nvm
nvm install --latest-npm
reinstall packages as suggested by diachedelic
rm -rf node_modules package-lock.json && npm install

on ubuntu I fixed this by:

uninstalled my old npm that was installed using apt install
apt-get remove npm
installed nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.9/install.sh | bash
restarted terminal
installed latest npm using nvm
nvm install --latest-npm
reinstall packages as suggested by diachedelic
rm -rf node_modules package-lock.json && npm install

This works well. Thank you.
Here's a link to the current nvm version, for anyone needing this fix in 2020 or beyond
Click me

i have same problem with docker


fix：Header header compatibility fix

Remote call, header header field will change, compatibility fix

What call do you use?

The lnmp server calls another php server. The fields in the header in the $SERVER variable will change to the HTTP style, which will not be correct.

Increase compatibility by converting field names in the $_SERVER variable

I think it should not be in the method


default db for Install-DbaSqlWatch is master

default db for Install-DbaSqlWatch is master, this should be the SQLWATCH devs intended default of SQLWATCH.
As noted by the beard at sql pass user group demo.
If I can figure out how to pull/sync/PR and all that jazz i'll do it now :)

fixed :D


[bug] Cannot generate examples for /./

Hi,
I found an issue that #examples method cannot generate examples for regexp /__.__/.
irb(main):017:0> /__.__/.examples
=> []

Note:
Examples for following regexp can be generated.

/____/
/_._/
/_.__/
/__._/

irb(main):018:0> /____/.examples
=> ["____"]
irb(main):019:0> /_._/.examples
=> ["_a_", "_b_", "_c_", "_d_", "_e_"]
irb(main):020:0> /_.__/.examples
=> ["_a__", "_b__", "_c__", "_d__", "_e__"]
irb(main):021:0> /__._/.examples
=> ["__a_", "__b_", "__c_", "__d_", "__e_"]

My environment:

ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32]
regexp-examples (1.4.4)

I wonder, did you encounter this in a real world scenario or because you were intentionally looking for a bug? 😉
This is caused by the "hacky" implementation of generating matches for regexes with back-references.  Due to this code, I effectively say "any instance of __xx__ in the string is a placeholder, not a real part of the result.
Possible quick "fix": Make the placeholder longer/more obscure. It could be 100 "random" characters long, for all I care!

Hi @tom-lord ,
Thanks for your comment.

I wonder, did you encounter thi

I'm using your gem as random string generator for RSpec examples.
When I tried to generate a hidden method name like __a__ by using /__\w__/ regexp then I got this problem.
I have workaround for this bug; generate random string by using /\w/ regexp and then add __ to head and tail of generated string. Therefore I have no problem due to this bug.
https://github.com/rggen/rggen-basic-output-components/blob/aba7e720e89146c4223438ecfeb38a46ebd076b1/spec/rggen/basic_output_components/systemverilog_utility/identifier_spec.rb#L126

Interesting use case, thanks for the report.
As I said above, I think the laziest solution will be to simply make the placeholder pattern much more obscure - so it's virtually impossible to re-encounter this bug unless you intentionally go looking for it 😅
I'll fix this in a new release soon, when I get time. Should be very straightforward.

As I said, I have a workaround for this bug. Therefore this is not a priority issue and you don't need to hurry.

"Fixed" in version 1.5.0 😃

Thank you!


Base 64 encoded key?

This may very well be user error, but I have been trying to use Joken with a JWT generated by a third party (auth0.com) and I am running into some problems verifying the signature.
Running the same token/signature provided through http://jwt.io works, but only if I click the "secret base64 encoded" check box.
Does Joken support encoded secret keys like this?
If it does not yet I am happy to help if given a little guidance (I am pretty unfamiliar with JWT, this is the first time I have used it).
I am using the master branch, not the hex.pm release.
Thanks!

Currently it does not base64 encode the secret. Probably the best way to handle it is to make it a config item and base64 encode the secret_key depending on the value. Then pass that to the Joken.Token.encode function.
For instance, with Joken.encode, the change can be
  def encode(payload, claims \\ %{}) do
    secret_key =  Application.get_env(:joken, :secret_key)
    json_module = Application.get_env(:joken, :json_module)
    algorithm =   Application.get_env(:joken, :algorithm, :HS256)
    encode_secret_key? = Application.get_env(:encode_secret_key?, false)

    if  encode_secret_key? do
        secret_key = Base.encode64(secret_key)
    end

    Token.encode(secret_key, json_module, payload, algorithm, claims)
  end

And then for Joken.decode you would have to make sure to do the same check before passing it in as well.

Great, thanks Bryan. I will take a stab at this tonight.

Fix in: https://github.com/bryanjos/joken/pull/22

Hello,
What was the actual fix for this? I'm running into the same issue with auth0 secret. I am using this
verify_token = "ey....." |> token |> with_signer(hs256(Base.encode64(auth0_secret))) |> verify
but getting an invalid signature error.

@dtrce the code changed completely since this issue, but the resolution was to set a configuration to not base64 encode the given secret. It looks like that configuration was lost in the rewrite, but if it's something that's needed, we can add the option to not encode the secret that is passed in.
Alternatively, in your example, you could try
verify_token = "ey....." |> token |> with_signer(hs256(auth0_secret)) |> verify

And see if that gives you the expected result

I tried without Base.encode64 but receving an error "Invalid Signature"

I will take a look when I get some free time

actually @dtrce do you mind creating a new issue for this and some info on how to reproduce it?


Marshal 'BYTES' and 'TIME' column / paramter types

Closes #2229.

I will merge as soon as either Circle CI or Travis passes the Py3k fix I just pushed.

Travis is showing build failures for docs which don't happen on Circle or on my local machine.


[Bug] Deploy dropdown always shows 'copy app publish link' tooltip

Description

Fixes required:

The tooltip shouldn't be visible
The tooltip message should say: 'Copy link to published app'

@areyabhishek Should we just change the text or should the tooltip be removed completely? Is it an either-or situation or an AND situation?

I should have given more details. This tooltip appears when I click the drop-down.
Change required: It should only appear on hover. And update the text's language. Today it's always visible.


New version: ElectronCommunity.ElectronFiddle version 0.35.1

Pull request has been created with WinGet Automation 🪟📦🤖
Microsoft Reviewers: Open in CodeFlow

Url validation error

manifests\e\ElectronCommunity\ElectronFiddle\0.35.1

https://openjsf.org/wp-content/uploads/sites/84/2021/04/OpenJS-Foundation-Privacy-Policy-2019-11-15.pdf

Http status code: NotFound


Copyimages for migrations helm chart

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/approve
/lgtm


Reloading of Replication* or Slave* settings after a config change will break a running server

This problems is specific to reloading a configuration via sending a SIGHUP signal to the running orchestrator process (to make it reload it's configuration).
Symptoms are:
2018-10-08 11:19:47 FATAL config's ReplicationLagQuery and SlaveLagQuery are synonyms and cannot both be defined

Checking the configuration I see:
12:18:55 $ sudo grep LagQuery /etc/orchestrator.conf.json
  "ReplicationLagQuery": "SELECT /*+ MAX_EXECUTION_TIME(3000) */ slave_lag_seconds FROM booking_meta.heartbeat_status",

So there is only one configuration setting.
It looks to me like this is caused by:

case syscall.SIGHUP: calls config.Reload() which calls read which affectively updates config.Config.
this leads to  ReplicationLagQuery having a new value and that then will have a different value to SlaveLagQuery

This leads to the following code generating an error and stopping the running daemon:
                        return fmt.Errorf("config's ReplicationLagQuery and SlaveLagQuery are synonyms and cannot both be defined")
                }

This problem will only occur if you change settings with Slave* or Replication*.
I wonder if the config.Reload() should generate a new config from an empty state but that seems to imply that the current behaviour of config.Config is unprotected.

Workaround: restart orchestrator process rather than reload.


Update Affirm Messaging

Affirm rolled out a notice today about marketing messaging onsite. Below is the email and attaching their attachment

APR_ALA_update_7.21.20__1_.pdf

@peterberkenbosch  Wanted to share an update that went out now to all stores using affirm

Thanks @seandawes


Initial Version - Facebook Ads API read only operations

This branch has been in progress for a while and I wanted to submit it even though it is not complete.
All of the read-only operations for the Facebook Ads API are here, but I haven't yet implemented anything else.  I wanted some eyes on this before proceeding.
Thanks!

@willtaylor Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


Cargo hf2

Description of changes

cargo-hf2 provides the hf2 subcommand for cargo for flashing uf2 devices connected via usb.
Homepage: https://lib.rs/crates/cargo-hf2
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

I don't think automatic testing is feasible as it requires external hardware.

Anything I still need to do from my side?


Adding a custom interface or message to esp-idf microROS

Hello, another basic question again because I have gotten a little confused about how to get a custom service working. I read other issues about adding the ROS2 built package to an extra_packages directory. When I add in and try and build however I see the error output
CMake Error at CMakeLists.txt:9 (find_package):
  By not providing "Findcv_interface.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "cv_interface", but CMake did not find one.

  Could not find a package configuration file provided by "cv_interface" with
  any of the following names:

    cv_interfaceConfig.cmake
    cv_interface-config.cmake

  Add the installation prefix of "cv_interface" to CMAKE_PREFIX_PATH or set
  "cv_interface_DIR" to a directory containing one of the above files.  If
  "cv_interface" provides a separate development package or SDK, be sure it
  has been installed.

I may be skipping a step here as I am still really new to the microROS system and am working my way through various tutorials. Thanks for the assistance!

I have figured this out.


Modify "Contact" section

[x] Add wavy animations to the contact page
[x] Add email.js or a PHP script to the contact page

Added Calendly for them to set meeting instead


A function to add players and change their color from the amongcord sync app

Same as #34
With the setcolor command implemented, hopefully, this can be on the horizon.  When getting a game setup, it would be much easier to click a name, and click a color to set it, rather than issuing a bunch of setcolor commands (or forcejoin commands).


Update treadmill interface and firmware

Currently blocked by https://github.com/AllenNeuralDynamics/harp.device.treadmill/issues/20

PR has been made and waiting to be merged:
https://github.com/AllenNeuralDynamics/harp.device.treadmill/pull/21

Closed in #282


Using foreign key with integer type and generated Adapter compare int with null

Firstly, I will talk about my database schema.

Collection  (msg_key INTEGER PRIMARY KEY , message_id INTEGER, ...)
Message (message_id : INTEGER PRIMARY KEY, ...)

And my Java code on same package,
Message class:
@Table(database = MyDatabase.class, name = Constants.TBL_MESSAGE, allFields = true)
public class Message extends BaseModel {

    @PrimaryKey
    int message_id;
    String description;
}

Collection class:
@Table(database = MyDatabase.class, name = Constants.TBL_COLLECTION, allFields = true)
public class Collection extends BaseModel {
    @Column(setterName = "setMsg_key", getterName = "getMsg_key")
    @PrimaryKey
    private int msg_key;

    @Column(setterName = "setMessage_id", getterName = "getMessage_id")
    @ForeignKey(references = {
            @ForeignKeyReference(columnType = Integer.class,
                    columnName = Constants.TBL_COL_MSG,
                    foreignKeyColumnName = Constants.TBL_MSG_ID)}
            , saveForeignKeyModel = false)
    private Message message_id;

    public void setMessage_id(Message message_id) {
        this.message_id = message_id;
    }

    public void setMsg_key(int msg_key) {
        this.msg_key = msg_key;
    }

    public int getMsg_key() {
        return msg_key;
    }

    public Message getMessage_id() {
        return message_id;
    }
}

As DBFlow document,

All fields must be public or package private as the _Adapter class
needs access to them. NOTE: Package private fields need not be in the
same package as DBFlow will generate the necessary access methods to
get to them.

Or private ONLY when you specify get{Name}() and
set{Name}(columnType) methods for a column named {name}. This can be
configured.

But when I build the application, android studio throw an error that

Error: incomparable types: int and <null>

Then I check generated code by DBFlow and realize its compare int with null.

I'm not sure it's DBFlow bug or I missing/wrong configuration on somewhere?
Please give me your suggest/solutions.
== Update ==
I'm using DBFlow ver 3.0.0 beta 3
Thanks!

I came across the same problem and fixed it with https://github.com/Raizlabs/DBFlow/pull/643.

@GrahamRogers: thanks, It's help me a lot!

Did my pull request fix your issue? If so, you should reopen this issue until my pull request has been included.

@GrahamRogers : Thanks, it's solved my problem! I re-opened.

this was fixed in last version.

i'm still seeing this on 3.1.1

in the top model class:

in the message class:

is there something i'm missing? or should i pin to an older version?

I'm currently facing the same issue :

same here on 3.1.1

@bblia Android Studio has correctly colored the fields and is underlining more than model.last_message.id, suggesting that the fields are there you have a different issue.
@alexbeville You want model.getCategory().getId()

Indeed, it should be getId();
The problem was that I had an existing db file, and my model class should fit the database scheme.
So instead of doing this, and make it more complex, I decide to forget the existing db file, and remove the @ForeignKeyReference
It works now but the issue still exists for other projects

It's comparing an int with null in the generated adapter class, isn't that the same issue as originally reported?
Sorry if it's my mistake, but it seems like the same issue to me haha

You're right, I was thinking of a different issue. You might want to create a new issue instead of commenting on a closed one though.


[Enhancement] External ResourceDictionary support

Added reloading of external resource dictionaries and app resources
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/resource-dictionaries

v 1.2.1


How do I add block lists? Are there any existing block lists?

When I launch the program, I see No blocklist has been loaded, is this intentional?

premade block-lists can be downloaded from AGB Blocklists

Ah thank you

premade block-lists can be downloaded from AGB Blocklists

You should really add a "Installation & Usage" section to the readme ^^


Implementation of Doubly Linked List | C++

Implementation of Doubly Linked Lis -
what will change -
Type of Issue -
Please add/delete options that are not relevant.

[x] Adding New Code

Programming Language
Please add/delete options that are not relevant.

[x] C++

Self Check

Ask for issue assignment before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Happy Coding,

Please assign this issue to me.

could you assign this task to me?

Please assign me this issue...

Please assign me to this issue

could you please assign this to me


sync: release 7.1.0+driver

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area CI
What this PR does / why we need it:
Cherry picks CI fix 3e57e67b69777fffd4c598ae5498c0af83759b57 from master, to allow release-body-driver triggered on the release branch to pass fine.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

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

/milestone 7.1.0+driver

/unhold

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,leogr]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,leogr]

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


Update main.tf file

Fix a line of code in the file

This repo is read only. Please update here: https://github.com/GoogleCloudPlatform/magic-modules/blob/main/mmv1/templates/terraform/examples/sql_instance_iam_condition.tf.erb

Closing this PR as change was merged via #99


Support percent in config values for height and width

I was unsure about where to put the function. config/params.rs seemed like the right place.
Resolves #25

There's no activity there for more than a year so I'm closing this. Feel free to open a new PR or update this one


When updating code on a component the template for a tab reverts back to a previous version

Short description of the problem:
When I start to serve the app everything goes fine. The tools take my latest version of everything basically.
However when I'm updating my templates and code, I can see that a previous version of a template is being used after updating code in a component or service.
What behavior are you expecting?
To always see the latest version of the template being rendered.
Steps to reproduce:

Start to serve the app (both npm run ionic:serve or ionic serve)

Output
> ionic-app-scripts serve

[15:42:22]  ionic-app-scripts 1.1.0
[15:42:22]  watch started ...
[15:42:22]  build dev started ...
[15:42:22]  clean started ...
[15:42:22]  clean finished in 9 ms
[15:42:22]  copy started ...
[15:42:22]  transpile started ...
[15:42:28]  transpile finished in 6.00 s
[15:42:28]  preprocess started ...
[15:42:28]  preprocess finished in 1 ms
[15:42:29]  webpack started ...
[15:42:29]  copy finished in 6.37 s
[15:42:39]  webpack finished in 10.30 s
[15:42:39]  sass started ...
[15:42:40]  sass finished in 1.35 s
[15:42:40]  postprocess started ...
[15:42:40]  postprocess finished in 1 ms
[15:42:40]  lint started ...
[15:42:40]  build dev finished in 17.71 s
[15:42:43]  watch ready in 20.43 s
[15:42:43]  dev server running: http://localhost:8100/

Make a change in one of the typescript files and save it. I'm using a service that gets injected into the component for which I'm updating the template. The change gets reflected in the running app.

Output
[15:42:46]  lint finished in 5.37 s
[15:43:16]  build started ...
[15:43:16]  transpile update started ...
[15:43:17]  transpile update finished in 199 ms
[15:43:17]  webpack update started ...
[15:43:22]  webpack update finished in 5.24 s
[15:43:25]  build finished in 8.33 s

Make an update to a template (like adding a new h1 element), save it and see that the change gets reflected into the running app

Output
[15:43:59]  build started ...
[15:43:59]  template update started ...
[15:44:00]  template update finished in 110 ms
[15:44:00]  build finished in 117 ms

Again make an update to the previous typescript file (in my case the service I was talking about). In my case I see a template that was previously used, so without the changes from step 3.

Output
[15:44:19]  build started ...
[15:44:19]  transpile update started ...
[15:44:19]  transpile update finished in 27 ms
[15:44:19]  webpack update started ...
[15:44:24]  webpack update finished in 4.60 s
[15:44:25]  build finished in 6.32 s

Which @ionic/app-scripts version are you using?
"devDependencies": {
    "@ionic/app-scripts": "1.1.0",
    "typescript": "2.0.9"
  },

Sidenote
I would like to help find this issue (or whatever could explain it), but it's very hard to figure out where I need to start searching. I was hoping to be able to search for the log messages like "webpack update started" but to no avail. Could you maybe give me a general direction where I could start looking?

Hi - I cannot recreate this. Say you have component-one.html, component-one.ts, component-two.html and component-two.ts, can you create steps to reproduce with those two components?
Thanks,
Dan

Hi Dan,
I'll try to reproduce it with those steps, it will just be a bit later today (kids and programming don't always go hand in hand ;-))
Diedrik

No worries. Whenever you get a chance. Please let me know how it goes.
Thanks,
Dan

Hi Dan,
I'm able to reproduce it with a simple component...

I've created a new ionic project with the following command:
ionic start --v2 ionictest

I then let the creation run its course and it finishes without errors or warnings. I then start to serve the ionic app
ionic serve

I go to the src/app folder and add two new files: component1.html and component1.ts. Here's the current code for both:

component1.html
<h1 (click)="callOnMe()">Hello There!</h1>

component1.ts
import { Component, OnInit } from '@angular/core';

@Component({
    selector: 'Component1',
    templateUrl: 'Component1.html'
})
export class Component1 implements OnInit {
    constructor() { }

    callOnMe(){
        console.log('Muahaha!');
    }

    ngOnInit() {

     }
}

Of course I go to the app.module.ts and add a reference to Component1 (and import it) and I also remove everything from the app.html and add the directive for Component1 as follows:

app.module.ts
**import { Component1 } from './component1';**
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { AboutPage } from '../pages/about/about';
import { ContactPage } from '../pages/contact/contact';
import { HomePage } from '../pages/home/home';
import { TabsPage } from '../pages/tabs/tabs';

@NgModule({
  declarations: [
    MyApp,
    AboutPage,
    ContactPage,
    HomePage,
    TabsPage,
    **Component1**
  ],
  imports: [
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    AboutPage,
    ContactPage,
    HomePage,
    TabsPage
  ],
  providers: [{provide: ErrorHandler, useClass: IonicErrorHandler}]
})
export class AppModule {}

app.html
<Component1></Component1>

Here I'm already getting the strange behavior, but just to be safe, I then stop ionic serve and do the following steps:
a. start ionic serve
b. revert app.html so it contains <ion-nav [root]="rootPage"></ion-nav> again and save it. It automatically reloads the page and shows me the tabbed view we love so dearly :)
c. Go to component1.ts and change the callOnMe function to callOnMe(){      console.log('Hello there!');   } and save it again. It will reload automatically and show Component1 again on page instead of the ionic tabs.

Like I already said previously: I'm running the apps on version 1.1.0. The rest of my setup is as follows:
local typescript: 2.0.9
global tsc (tsc -v): 2.1.4
global ionic: 2.2.1
I'm running on Windows 10 (x64) and I'm using Chrome to test this. I have Chrome set up so that it deletes caching whenever the Developer Tools are open and yes I've got them open while I tested this ;-).
I hope this helps?
Thanks,
Diedrik

This matches symptoms I am seeing - webpack update appears to be bringing in an older version of a template at (random?) times.  I have used 'wget -r' to validate that it seems to be webpack that is serving the wrong contents to chrome, but I don't have any further details.  Hopefully the reproducible test case above is enough to trace this, let me know if you need me to try to create another.

I am also seeing this behavior in two separate projects.

same here

I see this problem as well, once a project grows above a simple test project with a few pages & components this happens frequently when rebuilding.
Running Windows 10

i also have this issue, very strange. when i update component code the template reverts to an earlier version. restart of the dev server resolves it.

Same here!

This should be fixed in nightly. I was able to recreate and resolve it. This slipped through the cracks as part of the Webpack 2.x RC to GA update a month or two back.
Thanks,
Dan

Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0

same issue, every time manullay delete build folder and rerun ionic serve, this makes development difficult


Updated MAINTAINERS.md format.

Coming from https://github.com/opensearch-project/.github/issues/121, updated MAINTAINERS.md to match opensearch-project recommended format.

Codecov Report

Merging #539 (a664b73) into main (147090b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #539   +/-   ##
=======================================
  Coverage   49.67%   49.67%
=======================================
  Files         195      195
  Lines        6225     6225
  Branches     1023     1023
=======================================
  Hits         3092     3092
  Misses       2910     2910
  Partials      223      223

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

Looks like some CI has failed. This change has no code changes, can someone please take a look at that?

Looks like some CI has failed. This change has no code changes, can someone please take a look at that?

#540 bumping main for 2.5.0 release to fix the workflow. We can merge this one for now.

@Angie-Zhang The CI failed in https://github.com/opensearch-project/index-management-dashboards-plugin/actions/runs/3849075013/jobs/6557631838. Is there an issue open for this?


Update languages.json

added a new language to the language json

Hii thanks for contributions but we'll need the language specific data alongwith language so it's partially correct, closing for now


[HUDI-1313] Rename hudi-spark-client module to hudi-client-spark

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
Rename hudi-spark-client module to hudi-client-spark
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@wangxianghu I did not end up doing this in my pr because hudi-sync is alreadynamed in the same way. We can leave this also as-is?

@wangxianghu I did not end up doing this in my pr because hudi-sync is alreadynamed in the same way. We can leave this also as-is?

Yes, I named it as hudi-spark-client refer to hudi-sync too.  Since you also have this idea, let's leave it as hudi-spark-client


Pods crash loop on selinux enabled cluster due to SELinux preventing /usr/bin/bash read access on the file network

Environmental Info:
K3s Version:
v1.21.10-rc1+k3s1
v1.22.7-rc1+k3s1
v1.23.4-rc1+k3s1
Node(s) CPU architecture, OS, and Version:
OS: Rocky Linux 8.4: ami-0382eea882ee397b8
Cluster Configuration:
3 server, 1 agent cluster
$ kubectl get nodes
NAME                                          STATUS   ROLES                       AGE   VERSION
ip-172-31-10-207.us-east-2.compute.internal   Ready    <none>                      21m   v1.21.10-rc1+k3s1
ip-172-31-5-247.us-east-2.compute.internal    Ready    control-plane,etcd,master   25m   v1.21.10-rc1+k3s1
ip-172-31-6-153.us-east-2.compute.internal    Ready    control-plane,etcd,master   36m   v1.21.10-rc1+k3s1
ip-172-31-6-29.us-east-2.compute.internal     Ready    control-plane,etcd,master   24m   v1.21.10-rc1+k3s1

Describe the bug:
Coredns/Traefik pods are in Crash Loop Backoff state
$ kubectl get pods -A
NAMESPACE     NAME                                      READY   STATUS             RESTARTS   AGE
kube-system   coredns-6c46d74d64-99pql                  0/1     CrashLoopBackOff   12         40m
kube-system   helm-install-traefik-crd-mnbmc            0/1     CrashLoopBackOff   12         40m
kube-system   helm-install-traefik-n8dn7                0/1     CrashLoopBackOff   12         40m
kube-system   local-path-provisioner-84bb864455-pr4wv   1/1     Running            0          40m
kube-system   metrics-server-ff9dbcb6c-2fcpd            1/1     Running            0          40m

SElinux packages are installed
$ rpm -qa | grep selinux
libselinux-2.9-5.el8.x86_64
rpm-plugin-selinux-4.14.3-13.el8.x86_64
k3s-selinux-0.5-1.el8.noarch
selinux-policy-3.14.3-67.el8.noarch
libselinux-utils-2.9-5.el8.x86_64
container-selinux-2.173.0-1.module+el8.5.0+735+2f243138.noarch
python3-libselinux-2.9-5.el8.x86_64
selinux-policy-targeted-3.14.3-67.el8.noarch

Steps To Reproduce:
Create a cluster with any of the version specified above enabling SELinux
Expected behavior:
All pods should be running
Actual behavior:
Coredns/Traefik pods are in Crash Loop Backoff state
Additional context / logs:
$ ausearch -m AVC,USER_AVC -ts recent

time->Tue Feb 22 21:58:33 2022
type=PROCTITLE msg=audit(1645567113.789:1211): proctitle=2F636F7265646E73002D636F6E66002F6574632F636F7265646E732F436F726566696C65
type=SYSCALL msg=audit(1645567113.789:1211): arch=c000003e syscall=257 success=no exit=-13 a0=ffffffffffffff9c a1=c000056720 a2=80000 a3=0 items=0 ppid=6887 pid=10025 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="coredns" exe="/coredns" subj=system_u:system_r:container_t:s0:c68,c392 key=(null)
type=AVC msg=audit(1645567113.789:1211): avc:  denied  { read } for  pid=10025 comm="coredns" name="resolv.conf" dev="nvme0n1p1" ino=8410230 scontext=system_u:system_r:container_t:s0:c68,c392 tcontext=system_u:object_r:var_lib_t:s0 tclass=file permissive=0

$ journalctl -t setroubleshoot
-- Logs begin at Tue 2022-02-22 21:33:24 UTC, end at Tue 2022-02-22 22:02:45 UTC. --
Feb 22 21:33:34 ip-172-31-6-153.us-east-2.compute.internal setroubleshoot[747]: AnalyzeThread.run(): Cancel pending alarm
Feb 22 21:33:42 ip-172-31-6-153.us-east-2.compute.internal setroubleshoot[747]: SELinux is preventing /usr/bin/bash from read access on the file network. For complete SELinux messages run: sealer>
Feb 22 21:33:42 ip-172-31-6-153.us-east-2.compute.internal setroubleshoot[747]: SELinux is preventing /usr/bin/bash from read access on the file network.

                                                                                *****  Plugin file (35.3 confidence) suggests   ******************************

                                                                                This is caused by a newly created file system.
                                                                                Then you need to add labels to it.
                                                                                Do
                                                                                /sbin/restorecon -R -v network

[rocky@ip-172-31-6-153 ~]$ kubectl logs -n kube-system helm-install-traefik-crd-mnbmc
Error relocating /usr/lib/libreadline.so.8: RELRO protection failed: Permission denied
Error relocating /lib/ld-musl-x86_64.so.1: RELRO protection failed: Permission denied
Error relocating /usr/lib/libncursesw.so.6: RELRO protection failed: Permission denied
Error relocating /usr/bin/entry: RELRO protection failed: Permission denied
[rocky@ip-172-31-6-153 ~]$ kubectl logs -n kube-system coredns-6c46d74d64-99pql
plugin/forward: not an IP address or file: "/etc/resolv.conf"

Backporting

[ X] Needs backporting to older releases

Issue is resolved passing channel while installing the cluster on rpm based systems.

The fix from testing channel is available in both latest and stable now so this should be fully resolved

Will this fix get backported to older k3s versions?

It doesn't need to be backported, since it was fixed by an update to the k3s-selinux RPM, not K3s itself.

Great, thanks for the quick answer!


⚠ WSINGRESOS - OXXO has degraded performance

In 1b875dc, WSINGRESOS - OXXO (https://srvshyweb.yucatan.gob.mx/cgi-bin/wspd_cgi.sh/WService=wsingresos/internet/compartido/wspagosoxxo.r) experienced degraded performance:

HTTP code: 200
Response time: 6635 ms

Resolved: WSINGRESOS - OXXO performance has improved in c49e1a4.