[BACKLOG-20155] - creates StepDialog annotation so we can have a clea…

…n way to separate plugins UI from implementation logic.

@pentaho/2-1b pls review
I'm waiting for wingman to finish the tests first, to then request a full stack build.

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/KettleClientEnvironment.java
  core/src/main/java/org/pentaho/di/core/PDIClassLoader.java
  core/src/main/java/org/pentaho/di/core/logging/LogChannelInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/BaseFragmentType.java
  core/src/main/java/org/pentaho/di/core/plugins/BasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/JarFileCache.java
  core/src/main/java/org/pentaho/di/core/plugins/Plugin.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginFolder.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginRegistry.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginTypeInterface.java
  core/src/test/java/org/pentaho/di/core/PDIClassLoaderTest.java
  engine/src/main/java/org/pentaho/di/core/KettleEnvironment.java
  engine/src/main/java/org/pentaho/di/core/annotations/Step.java
  engine/src/main/java/org/pentaho/di/core/annotations/StepDialog.java
  engine/src/main/java/org/pentaho/di/core/plugins/JobEntryPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/LifecyclePluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepDialogFragmentType.java
  engine/src/main/java/org/pentaho/di/trans/TransMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/BaseStepMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/StepDialogInterface.java
  engine/src/main/java/org/pentaho/di/trans/step/StepMetaInterface.java
  plugins/dummy/core/src/main/java/org/pentaho/di/pdi/jobentry/dummy/JobEntryDummy.java
  ui/src/main/java/org/pentaho/di/ui/core/gui/GUIResource.java
  ui/src/main/java/org/pentaho/di/ui/job/dialog/JobDialogPluginType.java
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegate.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPlugin.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPluginType.java

Newly Broken Tests:
org.pentaho.di.trans.steps.textfileinput.TextFileInputMetaLoadSaveTest.testSerialization:
:red_circle: java.lang.RuntimeException
java.lang.RuntimeException: Error validating dateFormatLocale
	at org.pentaho.di.trans.steps.textfileinput.TextFileInputMetaLoadSaveTest.testSerialization(TextFileInputMetaLoadSaveTest.java:167)
Caused by: org.pentaho.di.core.exception.KettleException:

Attribute dateFormatLocale started with value no_NO_NY ended with value no_no_ny

	at org.pentaho.di.trans.steps.textfileinput.TextFileInputMetaLoadSaveTest.testSerialization(TextFileInputMetaLoadSaveTest.java:167)

Newly Fixed Tests:
org.pentaho.di.trans.steps.textfileoutput.TextFileOutputMetaTest.testRoundTrip:
:large_blue_circle: org.pentaho.di.core.exception.KettleXMLException
org.pentaho.di.core.exception.KettleXMLException:

Unable to load step info from XML
 at org.apache.maven.surefire.booter.ForkedBooter.main (ForkedBooter.java:121)
 at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess (ForkedBooter.java:240)
 at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader (ForkedBooter.java:286)
 at org.apache.maven.surefire.junit4.JUnit4Provider.invoke (JUnit4Provider.java:184)
 at org.apache.maven.surefire.junit4.JUnit4Provider

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.core.KettleClientEnvironment

Instruction Change: -0.2% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.BaseFragmentType

Coverage: 0% :exclamation:

org.pentaho.di.core.plugins.BasePluginType

Method Change: -5.5% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.PluginInterface

Coverage: 0% :exclamation:

org.pentaho.di.core.plugins.PluginRegistry

Line Change: -0.1% :small_red_triangle_down:
Method Change: -1.5% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.PluginTypeInterface

Coverage: 0% :exclamation:

org.pentaho.di.core.KettleEnvironment

Line Change: -4.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.JobEntryPluginType

Complexity Change: -4.5% :small_red_triangle_down:
Instruction Change: -2% :small_red_triangle_down:
Line Change: -4.5% :small_red_triangle_down:
Method Change: -7.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.LifecyclePluginType

Complexity Change: -7.4% :small_red_triangle_down:
Instruction Change: -9.7% :small_red_triangle_down:
Line Change: -13.6% :small_red_triangle_down:
Method Change: -8.3% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.StepDialogFragmentType

Coverage: 0% :exclamation:

org.pentaho.di.job.entries.evaluatetablecontent.JobEntryEvalTableContent

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.step.BaseStepMeta

Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.calculator.CalculatorMetaFunction

Branch Change: -8.7% :small_red_triangle_down:
Complexity Change: -3% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/core/src/main/java/org/pentaho/di/core/KettleClientEnvironment.java

:heavy_exclamation_mark: '{' is not preceded with whitespace. at Line: 65 Column: 26

:heavy_exclamation_mark: 'if' is not followed by whitespace. at Line: 66 Column: 9

/home/buildguy/project/ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.trans.step.StepDialogInterface. at Line: 64 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.trans.step.StepMetaInterface. at Line: 66 Column: 8

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/KettleClientEnvironment.java
  core/src/main/java/org/pentaho/di/core/PDIClassLoader.java
  core/src/main/java/org/pentaho/di/core/extension/ExtensionPointPluginType.java
  core/src/main/java/org/pentaho/di/core/logging/LogChannelInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/BaseFragmentType.java
  core/src/main/java/org/pentaho/di/core/plugins/BasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/DatabasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/JarFileCache.java
  core/src/main/java/org/pentaho/di/core/plugins/Plugin.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginFolder.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginRegistry.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginTypeInterface.java
  core/src/main/java/org/pentaho/di/core/xml/XMLHandlerCacheEntry.java
  core/src/test/java/org/pentaho/di/core/PDIClassLoaderTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginRegistryUnitTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginTest.java
  engine/src/main/java/org/pentaho/di/core/KettleEnvironment.java
  engine/src/main/java/org/pentaho/di/core/annotations/Step.java
  engine/src/main/java/org/pentaho/di/core/annotations/StepDialog.java
  engine/src/main/java/org/pentaho/di/core/compress/CompressionPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/JobEntryPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/LifecyclePluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepDialogFragmentType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepPluginType.java
  engine/src/main/java/org/pentaho/di/trans/TransMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/BaseStepMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/RowDistributionPluginType.java
  engine/src/main/java/org/pentaho/di/trans/step/StepDialogInterface.java
  engine/src/main/java/org/pentaho/di/trans/step/StepMetaInterface.java
  engine/src/main/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInput.java
  engine/src/test/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInputTest.java
  engine/src/test/java/org/pentaho/di/trans/steps/textfileinput/TextFileInputMetaLoadSaveTest.java
  plugins/dummy/core/src/main/java/org/pentaho/di/pdi/jobentry/dummy/JobEntryDummy.java
  plugins/repositories/core/src/test/java/org/pentaho/di/ui/repo/RepositoryConnectControllerTest.java
  ui/src/main/java/org/pentaho/di/ui/core/gui/GUIResource.java
  ui/src/main/java/org/pentaho/di/ui/job/dialog/JobDialogPluginType.java
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegate.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPlugin.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPluginType.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.core.KettleClientEnvironment

Instruction Change: -0.2% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.BaseFragmentType

Complexity Coverage: 16.7% :exclamation:
Instruction Coverage: 58.7% :exclamation:
Line Coverage: 41.2% :exclamation:
Method Coverage: 16.7% :exclamation:

:new: org.pentaho.di.core.plugins.BaseFragmentType.FragmentTypeListener

Complexity Coverage: 75% :exclamation:
Method Coverage: 75% :exclamation:

:new: org.pentaho.di.core.plugins.BaseFragmentType.new BaseFragmentType.FragmentTypeListener() {...}

Branch Coverage: 50% :exclamation:
Complexity Coverage: 66.7% :exclamation:

org.pentaho.di.core.plugins.PluginRegistry

Line Change: -0.3% :small_red_triangle_down:
Method Change: -1.5% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.PluginTypeInterface

Coverage: 0% :exclamation:

org.pentaho.di.core.injection.bean.BeanInjector

Branch Change: -0.8% :small_red_triangle_down:
Complexity Change: -1.3% :small_red_triangle_down:

org.pentaho.di.core.KettleEnvironment

Line Change: -4.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.JobEntryPluginType

Complexity Change: -4.5% :small_red_triangle_down:
Instruction Change: -2% :small_red_triangle_down:
Line Change: -4.5% :small_red_triangle_down:
Method Change: -7.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.LifecyclePluginType

Complexity Change: -7.4% :small_red_triangle_down:
Instruction Change: -9.7% :small_red_triangle_down:
Line Change: -13.6% :small_red_triangle_down:
Method Change: -8.3% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.StepDialogFragmentType

Coverage: 0% :exclamation:

org.pentaho.di.job.entries.ftpsget.JobEntryFTPSGet

Branch Change: -0.5% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.step.BaseStepMeta

Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:
Line Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/KettleClientEnvironment.java
  core/src/main/java/org/pentaho/di/core/PDIClassLoader.java
  core/src/main/java/org/pentaho/di/core/extension/ExtensionPointPluginType.java
  core/src/main/java/org/pentaho/di/core/logging/LogChannelInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/BaseFragmentType.java
  core/src/main/java/org/pentaho/di/core/plugins/BasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/DatabasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/JarFileCache.java
  core/src/main/java/org/pentaho/di/core/plugins/Plugin.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginFolder.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginRegistry.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginTypeInterface.java
  core/src/main/java/org/pentaho/di/core/xml/XMLHandlerCacheEntry.java
  core/src/test/java/org/pentaho/di/core/PDIClassLoaderTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginRegistryUnitTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginTest.java
  engine/src/main/java/org/pentaho/di/core/KettleEnvironment.java
  engine/src/main/java/org/pentaho/di/core/annotations/Step.java
  engine/src/main/java/org/pentaho/di/core/annotations/StepDialog.java
  engine/src/main/java/org/pentaho/di/core/compress/CompressionPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/JobEntryPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/LifecyclePluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepDialogFragmentType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepPluginType.java
  engine/src/main/java/org/pentaho/di/trans/TransMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/BaseStepMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/RowDistributionPluginType.java
  engine/src/main/java/org/pentaho/di/trans/step/StepDialogInterface.java
  engine/src/main/java/org/pentaho/di/trans/step/StepMetaInterface.java
  engine/src/main/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInput.java
  engine/src/test/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInputTest.java
  engine/src/test/java/org/pentaho/di/trans/steps/textfileinput/TextFileInputMetaLoadSaveTest.java
  plugins/dummy/core/src/main/java/org/pentaho/di/pdi/jobentry/dummy/JobEntryDummy.java
  plugins/repositories/core/src/test/java/org/pentaho/di/ui/repo/RepositoryConnectControllerTest.java
  ui/src/main/java/org/pentaho/di/ui/core/gui/GUIResource.java
  ui/src/main/java/org/pentaho/di/ui/job/dialog/JobDialogPluginType.java
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegate.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPlugin.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPluginType.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.core.KettleClientEnvironment

Instruction Change: -0.2% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.BaseFragmentType

Complexity Coverage: 16.7% :exclamation:
Instruction Coverage: 58.7% :exclamation:
Line Coverage: 41.2% :exclamation:
Method Coverage: 16.7% :exclamation:

:new: org.pentaho.di.core.plugins.BaseFragmentType.FragmentTypeListener

Complexity Coverage: 75% :exclamation:
Method Coverage: 75% :exclamation:

:new: org.pentaho.di.core.plugins.BaseFragmentType.new BaseFragmentType.FragmentTypeListener() {...}

Branch Coverage: 50% :exclamation:
Complexity Coverage: 66.7% :exclamation:

org.pentaho.di.core.plugins.PluginRegistry

Line Change: -0.3% :small_red_triangle_down:
Method Change: -1.5% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.PluginTypeInterface

Coverage: 0% :exclamation:

org.pentaho.di.core.auth.core.impl.DefaultAuthenticationConsumerFactory

Branch Change: -7.2% :small_red_triangle_down:
Complexity Change: -7.7% :small_red_triangle_down:

org.pentaho.di.core.KettleEnvironment

Line Change: -4.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.JobEntryPluginType

Complexity Change: -4.5% :small_red_triangle_down:
Instruction Change: -2% :small_red_triangle_down:
Line Change: -4.5% :small_red_triangle_down:
Method Change: -7.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.LifecyclePluginType

Complexity Change: -7.4% :small_red_triangle_down:
Instruction Change: -9.7% :small_red_triangle_down:
Line Change: -13.6% :small_red_triangle_down:
Method Change: -8.3% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.StepDialogFragmentType

Coverage: 0% :exclamation:

org.pentaho.di.trans.step.BaseStepMeta

Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:
Line Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Method Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.insertupdate.InsertUpdateMeta

Instruction Change: -0.1% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/KettleClientEnvironment.java
  core/src/main/java/org/pentaho/di/core/PDIClassLoader.java
  core/src/main/java/org/pentaho/di/core/extension/ExtensionPointPluginType.java
  core/src/main/java/org/pentaho/di/core/logging/LogChannelInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/BaseFragmentType.java
  core/src/main/java/org/pentaho/di/core/plugins/BasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/DatabasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/JarFileCache.java
  core/src/main/java/org/pentaho/di/core/plugins/Plugin.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginFolder.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginRegistry.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginTypeInterface.java
  core/src/main/java/org/pentaho/di/core/xml/XMLHandlerCacheEntry.java
  core/src/test/java/org/pentaho/di/core/PDIClassLoaderTest.java
  core/src/test/java/org/pentaho/di/core/extension/ExtensionPointHandlerTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginRegistryUnitTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginTest.java
  engine/src/main/java/org/pentaho/di/core/KettleEnvironment.java
  engine/src/main/java/org/pentaho/di/core/annotations/Step.java
  engine/src/main/java/org/pentaho/di/core/annotations/StepDialog.java
  engine/src/main/java/org/pentaho/di/core/compress/CompressionPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/JobEntryPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/LifecyclePluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepDialogFragmentType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepPluginType.java
  engine/src/main/java/org/pentaho/di/trans/TransMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/BaseStepMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/RowDistributionPluginType.java
  engine/src/main/java/org/pentaho/di/trans/step/StepDialogInterface.java
  engine/src/main/java/org/pentaho/di/trans/step/StepMetaInterface.java
  engine/src/main/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInput.java
  engine/src/test/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInputTest.java
  engine/src/test/java/org/pentaho/di/trans/steps/textfileinput/TextFileInputMetaLoadSaveTest.java
  plugins/dummy/core/src/main/java/org/pentaho/di/pdi/jobentry/dummy/JobEntryDummy.java
  plugins/repositories/core/src/test/java/org/pentaho/di/ui/repo/RepositoryConnectControllerTest.java
  ui/src/main/java/org/pentaho/di/ui/core/gui/GUIResource.java
  ui/src/main/java/org/pentaho/di/ui/job/dialog/JobDialogPluginType.java
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegate.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPlugin.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPluginType.java
  ui/src/test/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegateTest.java

Newly Broken Tests:
org.pentaho.di.core.plugins.PluginRegistryUnitTest.testMergingPluginFragment:
:red_circle: org.mockito.exceptions.verification.WantedButNotInvoked
org.mockito.exceptions.verification.WantedButNotInvoked:

Wanted but not invoked:
pluginInterface.merge(<any>);
-> at org.pentaho.di.core.plugins.PluginRegistryUnitTest.testMergingPluginFragment(PluginRegistryUnitTest.java:190)

However, there were other interactions with this mock:
pluginInterface.getIds();
-> at org.pentaho.di.core.plugins.PluginRegistry.registerPlugin(PluginRegistry.java:210)

pluginInterface.getName();
-> at org.pentaho.di.core.plugins.Plugin.lambda$static$0(Plugin.java:44)

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.core.KettleClientEnvironment

Instruction Change: -0.2% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.BaseFragmentType

Complexity Coverage: 25% :exclamation:
Instruction Coverage: 61.9% :exclamation:
Line Coverage: 47.1% :exclamation:
Method Coverage: 25% :exclamation:

:new: org.pentaho.di.core.plugins.BaseFragmentType.FragmentTypeListener

Complexity Coverage: 75% :exclamation:
Method Coverage: 75% :exclamation:

:new: org.pentaho.di.core.plugins.BaseFragmentType.new BaseFragmentType.FragmentTypeListener() {...}

Branch Coverage: 50% :exclamation:
Complexity Coverage: 66.7% :exclamation:

org.pentaho.di.core.plugins.PluginRegistry

Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -4.3% :small_red_triangle_down:
Line Change: -3.8% :small_red_triangle_down:
Method Change: -3% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.PluginTypeInterface

Coverage: 0% :exclamation:

org.pentaho.di.core.row.RowBuffer

Complexity Change: -16.7% :small_red_triangle_down:
Instruction Change: -10% :small_red_triangle_down:
Line Change: -8.4% :small_red_triangle_down:
Method Change: -16.7% :small_red_triangle_down:

org.pentaho.di.core.KettleEnvironment

Line Change: -4.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.JobEntryPluginType

Complexity Change: -4.5% :small_red_triangle_down:
Instruction Change: -2% :small_red_triangle_down:
Line Change: -4.5% :small_red_triangle_down:
Method Change: -7.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.LifecyclePluginType

Complexity Change: -7.4% :small_red_triangle_down:
Instruction Change: -9.7% :small_red_triangle_down:
Line Change: -13.6% :small_red_triangle_down:
Method Change: -8.3% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.StepDialogFragmentType

Coverage: 0% :exclamation:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.3% :small_red_triangle_down:
Line Change: -3.9% :small_red_triangle_down:

org.pentaho.di.trans.step.BaseStepMeta

Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.calculator.CalculatorMetaFunction

Branch Change: -8.7% :small_red_triangle_down:
Complexity Change: -3% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/KettleClientEnvironment.java
  core/src/main/java/org/pentaho/di/core/PDIClassLoader.java
  core/src/main/java/org/pentaho/di/core/extension/ExtensionPointPluginType.java
  core/src/main/java/org/pentaho/di/core/logging/LogChannelInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/BaseFragmentType.java
  core/src/main/java/org/pentaho/di/core/plugins/BasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/DatabasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/JarFileCache.java
  core/src/main/java/org/pentaho/di/core/plugins/Plugin.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginFolder.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginRegistry.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginTypeInterface.java
  core/src/main/java/org/pentaho/di/core/xml/XMLHandlerCacheEntry.java
  core/src/test/java/org/pentaho/di/core/PDIClassLoaderTest.java
  core/src/test/java/org/pentaho/di/core/extension/ExtensionPointHandlerTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginRegistryUnitTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginTest.java
  engine/src/main/java/org/pentaho/di/core/KettleEnvironment.java
  engine/src/main/java/org/pentaho/di/core/annotations/Step.java
  engine/src/main/java/org/pentaho/di/core/annotations/StepDialog.java
  engine/src/main/java/org/pentaho/di/core/compress/CompressionPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/JobEntryPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/LifecyclePluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepDialogFragmentType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepPluginType.java
  engine/src/main/java/org/pentaho/di/trans/TransMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/BaseStepMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/RowDistributionPluginType.java
  engine/src/main/java/org/pentaho/di/trans/step/StepDialogInterface.java
  engine/src/main/java/org/pentaho/di/trans/step/StepMetaInterface.java
  engine/src/main/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInput.java
  engine/src/test/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInputTest.java
  engine/src/test/java/org/pentaho/di/trans/steps/textfileinput/TextFileInputMetaLoadSaveTest.java
  plugins/dummy/core/src/main/java/org/pentaho/di/pdi/jobentry/dummy/JobEntryDummy.java
  plugins/repositories/core/src/test/java/org/pentaho/di/ui/repo/RepositoryConnectControllerTest.java
  ui/src/main/java/org/pentaho/di/ui/core/gui/GUIResource.java
  ui/src/main/java/org/pentaho/di/ui/job/dialog/JobDialogPluginType.java
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegate.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPlugin.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPluginType.java
  ui/src/test/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegateTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.core.KettleClientEnvironment

Instruction Change: -0.2% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.BaseFragmentType

Complexity Coverage: 25% :exclamation:
Instruction Coverage: 61.9% :exclamation:
Line Coverage: 47.1% :exclamation:
Method Coverage: 25% :exclamation:

:new: org.pentaho.di.core.plugins.BaseFragmentType.new BaseFragmentType.FragmentTypeListener() {...}

Branch Coverage: 50% :exclamation:
Complexity Coverage: 66.7% :exclamation:

org.pentaho.di.core.plugins.PluginRegistry

Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -4.3% :small_red_triangle_down:
Line Change: -3.8% :small_red_triangle_down:
Method Change: -3% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.PluginTypeInterface

Coverage: 0% :exclamation:

org.pentaho.di.core.row.RowBuffer

Complexity Change: -16.7% :small_red_triangle_down:
Instruction Change: -10% :small_red_triangle_down:
Line Change: -8.4% :small_red_triangle_down:
Method Change: -16.7% :small_red_triangle_down:

org.pentaho.di.core.KettleEnvironment

Line Change: -4.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.JobEntryPluginType

Complexity Change: -4.5% :small_red_triangle_down:
Instruction Change: -2% :small_red_triangle_down:
Line Change: -4.5% :small_red_triangle_down:
Method Change: -7.2% :small_red_triangle_down:

org.pentaho.di.core.plugins.LifecyclePluginType

Complexity Change: -7.4% :small_red_triangle_down:
Instruction Change: -9.7% :small_red_triangle_down:
Line Change: -13.6% :small_red_triangle_down:
Method Change: -8.3% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.StepDialogFragmentType

Coverage: 0% :exclamation:

org.pentaho.di.trans.step.BaseStepMeta

Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -2.1% :small_red_triangle_down:
Complexity Change: -2.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.loadfileinput.LoadFileInputMeta

Method Change: -1.4% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/dummy/core,ui,engine,plugins/repositories/core,core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/KettleClientEnvironment.java
  core/src/main/java/org/pentaho/di/core/PDIClassLoader.java
  core/src/main/java/org/pentaho/di/core/extension/ExtensionPointPluginType.java
  core/src/main/java/org/pentaho/di/core/logging/LogChannelInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/BaseFragmentType.java
  core/src/main/java/org/pentaho/di/core/plugins/BasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/DatabasePluginType.java
  core/src/main/java/org/pentaho/di/core/plugins/JarFileCache.java
  core/src/main/java/org/pentaho/di/core/plugins/Plugin.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginFolder.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginInterface.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginRegistry.java
  core/src/main/java/org/pentaho/di/core/plugins/PluginTypeInterface.java
  core/src/main/java/org/pentaho/di/core/xml/XMLHandlerCacheEntry.java
  core/src/test/java/org/pentaho/di/core/PDIClassLoaderTest.java
  core/src/test/java/org/pentaho/di/core/extension/ExtensionPointHandlerTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginRegistryUnitTest.java
  core/src/test/java/org/pentaho/di/core/plugins/PluginTest.java
  engine/src/main/java/org/pentaho/di/core/KettleEnvironment.java
  engine/src/main/java/org/pentaho/di/core/annotations/Step.java
  engine/src/main/java/org/pentaho/di/core/annotations/StepDialog.java
  engine/src/main/java/org/pentaho/di/core/compress/CompressionPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/JobEntryPluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/LifecyclePluginType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepDialogFragmentType.java
  engine/src/main/java/org/pentaho/di/core/plugins/StepPluginType.java
  engine/src/main/java/org/pentaho/di/trans/TransMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/BaseStepMeta.java
  engine/src/main/java/org/pentaho/di/trans/step/RowDistributionPluginType.java
  engine/src/main/java/org/pentaho/di/trans/step/StepDialogInterface.java
  engine/src/main/java/org/pentaho/di/trans/step/StepMetaInterface.java
  engine/src/main/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInput.java
  engine/src/test/java/org/pentaho/di/trans/steps/loadfileinput/LoadFileInputTest.java
  engine/src/test/java/org/pentaho/di/trans/steps/textfileinput/TextFileInputMetaLoadSaveTest.java
  plugins/dummy/core/src/main/java/org/pentaho/di/pdi/jobentry/dummy/JobEntryDummy.java
  plugins/repositories/core/src/test/java/org/pentaho/di/ui/repo/RepositoryConnectControllerTest.java
  ui/src/main/java/org/pentaho/di/ui/core/gui/GUIResource.java
  ui/src/main/java/org/pentaho/di/ui/job/dialog/JobDialogPluginType.java
  ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonJobDelegate.java
  ui/src/main/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegate.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPlugin.java
  ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransDialogPluginType.java
  ui/src/test/java/org/pentaho/di/ui/spoon/delegates/SpoonStepsDelegateTest.java

Newly Fixed Tests:
org.pentaho.di.trans.streaming.common.BlockingQueueStreamSourceTest.testRowsFilled:
:large_blue_circle: junit.framework.AssertionFailedError
junit.framework.AssertionFailedError
	at org.pentaho.di.trans.streaming.common.BlockingQueueStreamSourceTest.getQuickly(BlockingQueueStreamSourceTest.java:140)
	at org.pentaho.di.trans.streaming.common.BlockingQueueStreamSourceTest.testRowsFilled(BlockingQueueStreamSourceTest.java:131)

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.core.KettleClientEnvironment

Instruction Change: -0.2% :small_red_triangle_down:

:new: org.pentaho.di.core.plugins.BaseFragmentType

Complexity Coverage: 25% :exclamation:
Instruction Coverage: 61.9% :exclamation:
Line Coverage: 47.1% :exclamation:
Method Coverage: 25% :exclamation:

:new: org.pentaho.di.core.plugins.BaseFragmentType.new BaseFragmentType.FragmentTypeListener() {...}


Localhost is not blacklisted for webhooks & it follows redirects

There seems to be no issue creating a webhook with a payloadUrl pointing to localhost.
I'd recommend to blacklist localhost and 127.0.1 since there are no use-case for creating a webhook to localhost and it only introduces possible attack vectors.
I've verified that it does indeed try to connect to localhost by using netcat to listen for connections directly in the container.
Also; the webhook follows redirects. I was able to redirect the webhook from a POST request to a GET request. But I was not able to exploit it any further.

This combined with #623 is a particularly troublesome.


[feature]: Using awesome_print for prettier JSON output on failure

Hi all and thanks for this beautiful gem,
Do you think it would be useful to enable somekind of mechanism allowing to prettify JSON output in case if matching process fails? If yes, what would be the best way to implement this?
Thanks for your suggestion!
My ugly solution is to include this snippet in test_helper.rb:
module JsonExpressions
  class Matcher
   def json
     @json
   end
  end
end
module MiniTest
  module Assertions
    def mu_pp2(obj, msg = nil)
      ap msg, color: {string: :purpleish} if msg.present?
      ap obj
      ap msg.reverse, color: {string: :purpleish} if msg.present?
    end

    def assert_json_match(exp, act, msg = nil)
      unless JsonExpressions::Matcher === exp
        exp = JsonExpressions::Matcher.new(exp)
      end

      if String === act
        assert act = JSON.parse(act), "Expected #{mu_pp(act)} to be valid JSON"
      end
      assert exp =~ act, ->{ "Expected #{mu_pp2(exp.json, 'Expected---------->')} to match #{mu_pp2(act, 'Actual---------->')}\n" + exp.last_error}

      # Return the matcher
      return exp
    end

    def refute_json_match(exp, act, msg = nil)
      unless JsonExpressions::Matcher === exp
        exp = JsonExpressions::Matcher.new(exp)
      end

      if String === act
        assert act = JSON.parse(act), "Expected #{mu_pp(act)} to be valid JSON"
      end

      refute exp =~ act, ->{ "Expected #{mu_pp2(exp.json, 'Expected')} to match #{mu_pp2(act, 'Actual')}\n" + exp.last_error}
      # Return the matcher
      return exp
    end
  end
end

I'd be happy to take a pass at this and submit a PR if it would be considered.


Vue3 apollo quasar/feat/issue pull request card

[x] Card will show:

[x] proper icon
[x] title of issue / PR
[x] “{issue / PR number} by {author} was {open / closed} {created date}”
[x] comment icon
[x] count of comments
[x] url

I would propose to check this: https://forum.quasar-framework.org/topic/6400/mapping-custom-svg-icons
It will help to avoid creating a component per icon. It seems like effective...

We can create a ticket for this purpose. Thanks


Full dynamic import using function argument destructuring breaks on production builds

🐛 Bug Report
For example on a create-react-app, if i use function argument destructuring on a full dynamic import, the props are seen as undefined, only on production build ( probably minifier optimizations going on... )
What's funny is that if i use "lazy" instead of "loadable" it seems to work...
To Reproduce
Steps to reproduce the behavior:
For example having a Sidebar for each type of user role ( normal and admin for example )
const Sidebar = loadable(({ role }) => import(./${role}));
myRole being "admin"
const Layout => (
....

...
)
Expected behavior
if a component called admin.js or a folder admin with index.js exists on that path, it should be loaded, and in fact... on development mode, it is loaded...
on production build "role" inside the import function is undefined.
If i change this:
const Sidebar = loadable(({ role }) => import(./${role}));
to this:
const Sidebar = loadable((props) => import(./${props.role}));
It works.... using lazy instead of loadable works both ways
Link to repl or repo (highly encouraged)
Please provide a minimal repository on GitHub.
Issues without a reproduction link are likely to stall.
Run npx envinfo --system --binaries --npmPackages @loadable/component,@loadable/server,@loadable/webpack-plugin,@loadable/babel-plugin --markdown --clipboard
Paste the results here:

I'll add the reproduction link soon as I have more time, sorry

using lazy instead of loadable works both ways

lazy does not provide any props to the importer. So, no, it would not work with lazy in any form.
However, speaking of this "bug" - it's not related to Loadable(I think that's Babel), and could not be fixed from Loadable side, but we would try.
Could you change both versions to something like
const Sidebar = loadable(({ role }) => {
   console.log(arguments);
   console.log(role);
   return import(./${role})
});

And post here result for both versions.

Partially related to #538
Would be resolved by #483


Get deployment url after successful deploy

Is your feature request related to a problem? Please describe.
Since the Azure/static-web-apps-deploy action is a container action and thus doesn't work in windows workflows, I've implemented the deployment to azure using this cli. In this setting, it would be nice to get the url where the site is deployed from swa deploy to e.g show it as a comment or start api tests.
Describe the solution you'd like
swa deploy should return the deployment url (if deployment is successful). For additional convince, it would be nice if swa deploy would print the deployment url as a job output ::set-output deployment_url=<url> if the ci env variable is present.
Describe alternatives you've considered
Manual scraping of the output.

The following powershell script provides a workaround:
          $output = swa deploy <....> --verbose=silly 2>&1 | Out-String
          Write-Host $output
          $match = $output | Select-String -Pattern 'Project deployed to (?<url>.*) '
          if ($match -eq $null) { exit 1 }
          $url = $match.Matches[0].Groups['url'].Value
          echo "url=$url" >> $env:GITHUB_OUTPUT


Soften POSIX signal for termination of perf

Context
A SIGKILL is, by definition, not allowed to be handled by a process. Therefore, a process receiving this signal isn't able to "clean up" before termination. This is particularly problematic in the case of programs that have "buffered" data (to limit filesystem I/O) and/or that are supposed to output their result when returning.
Typically, perf is used with a target command (e.g. sleep in the COMMAND_TEMPLATES). It collects samples (or does something else depending on the command and flags) until that command returns at which point, it writes back its result (perf.data, output to stdout, ...) before its own termination.
However, if a SIGKILL (or other similar signal) is sent to perf, this can't happen for the reason detailed above and its results are (at least partially) lost. Furthermore, in this case, the target command is still alive after this has happened as it is not a child of the perf process.
Finally, if a SIGINT (or other similar signal) is sent to perf, it handles it by "properly" outputting its results (AFAIK) before returning; it ignores the target command, which stays alive.
Therefore, we can trigger the "clean" reporting from perf and have a "clean exit" (no target command alive) by sending SIGKILL to the target command but nothing prevents us from sending SIGINT to perf before that! By doing so, we guarantee "clean perf results" which adds robustness to the code.
Issue
I am worried that the current implementation might send SIGKILL to perf, depending on the output format of ps (typically native to the device and varying between models):

.killall() (which sends SIGKILL, by default, to a list of processes) calls .get_pids_of() which finds the list by running ps and keeping the lines in which the passed keyword (sleep, here) can be found [*];
Depending on the output format of ps, its COMMAND/CMD column could output the arguments of the call (along with the command itself): in such a case, the previously described "grep" would pick all lines containing 'sleep' which includes the ones such as 'perf stat -a sleep 100';
If the arguments are in COMMAND/CMD, .killall() ends up sending SIGKILL to perf;

This PR is motivated by comments on #382 and I believe that what I'm addressing here might be the cause. But, as this is an idea that came up from reading the code, I would really appreciate if it was tested on devices that currently report "corrupted" outputs from perf.
ps
The lack of (single) standard behaviour for ps is pretty clear in its Ubuntu man page:
DESCRIPTION
       ps displays information about a selection of the active processes.
[...]
       This version of ps accepts several kinds of options:

       1   UNIX options, which may be grouped and must be preceded by a dash.
       2   BSD options, which may be grouped and must not be used with a dash.
       3   GNU long options, which are preceded by two dashes.

and formats exist with and without arguments:
STANDARD FORMAT SPECIFIERS
       Here are the different keywords that may be used to control the output format
[...]
       CODE        HEADER    DESCRIPTION
[...]
       args        COMMAND   command with all its arguments as a string.
[...]
       cmd         CMD       see args.  (alias args, command).

       comm        COMMAND   command name (only the executable name).
[...]
       command     COMMAND   See args.  (alias args, command).
[...]
       ucomm       COMMAND   see comm.  (alias comm, ucmd).

I particularly like the following acknowledgement ("most"):
This version of ps tries to recognize most of the keywords used in other implementations of ps.

So, depending on what the version of ps available on the device implements (and on which defaults it uses), its output is likely to vary between devices. For comparison:
OnePlus6:/ # ps --help
usage: ps [-AadefLlnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,]

List processes.
[...]
Which FIELDs to show. (Default = -o PID,TTY,TIME,CMD)

-f      Full listing (-o USER:12=UID,PID,PPID,C,STIME,TTY,TIME,ARGS=CMD)
-l      Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)
-o      Output FIELDs instead of defaults, each with optional :size and =title
[...]
Command line -o fields:

  ARGS     CMDLINE minus initial path     CMD  Command (thread) name (stat[2])
  CMDLINE  Command line (argv[])          COMM Command filename (/proc/$PID/exe)
  COMMAND  Command file (/proc/$PID/exe)  NAME Process name (argv[0] of $PID)

Comments
On top of this PR, could .ps() be re-implemented to use ps from the pushed busybox? This would allow a somewhat more standard behaviour or are there reasons why we don't want to do that? From a log, I believe this is not what is being done:
2019-05-03 17:54:34,671 DEBUG       android: adb -s <IP_ADDRESS>:5555 push /home/pietos01/src/devlib/devlib/bin/arm64/busybox /sdcard/devlib-target/busybox
[...]
2019-05-03 17:54:35,068 DEBUG       android: adb -s <IP_ADDRESS>:5555 shell cp /sdcard/devlib-target/busybox /data/local/tmp/bin/busybox
2019-05-03 17:54:35,124 DEBUG       android: adb -s <IP_ADDRESS>:5555 shell rm -rf /sdcard/devlib-target/busybox
2019-05-03 17:54:35,160 DEBUG       android: adb -s <IP_ADDRESS>:5555 shell chmod 0777 /data/local/tmp/bin/busybox
[...(busybox never touched)...]
2019-05-03 17:54:38,150 DEBUG       android:         adb -s <IP_ADDRESS>:5555 shell ps
2019-05-03 17:54:38,322 DEBUG       android:         adb -s <IP_ADDRESS>:5555 shell kill  493
2019-05-03 17:54:38,368 DEBUG       android:         adb -s <IP_ADDRESS>:5555 shell kill  753
2019-05-03 17:54:38,407 DEBUG       android:         adb -s <IP_ADDRESS>:5555 shell kill  975

[*] : Note that, in the case of LinuxTarget, .get_pids_of() seems to be somewhat more robust as it uses -C (which uses the command name) and will simply fail if that flag is not supported. Obviously, this is based on the hope that there are no implementations of ps where -C uses args ...

On top of this PR, could .ps() be re-implemented to use ps from the pushed busybox? This would allow a somewhat more standard behaviour or are there reasons why we don't want to do that?

I have this feeling that there may have some reason. But at the moment, I cannot recall the specific issue. Using the busybox version certainly makes sense.
One thing that would need to be checked as part of the switch is that the busybox version reports all the fields needed to populate PsEntry, and if not, that the fields that are to be removed are not used in existing code (including in WA and LISA).


Do not refresh the grid when adding a facet that does not filter out any row

Is your feature request related to a problem or area of OpenRefine? Please describe.
When we add a new facet, it does not initially filter out any row/record, so the set of rows/records that are visible will not change. Therefore the grid does not need to be refreshed and the scrolling position (or pagination position) should be retained.
Describe the solution you'd like
The code that triggers updates should be smart enough to detect that the new facet is in a "neutral" state (the state you obtain after a reset) and skip the grid update (while still calling the backend to populate the facet choices).
This would probably benefit from an object-oriented approach to facets in the frontend, which was suggested by @antoine2711 to refactor the existing code. We should decide on the suitable architecture for that.
Additional context
This came up in a meeting with @lisa761 about the infinite scrolling project.

Hmm, but that's true only for "some" facets.
State management is I think the cornerstone of this issue I think and not about object-oriented or not.
For example, in Vue.js terms

If we want to share numbers between multiple components, numbers doesn’t only become component level data but also application level data. This brings us to the topic of State Management - the management of application level data.

Some OpenRefine facets do set the state when created.  Others do not.
I think we should take inspiration from something like Vuex (which took inspiration from Facebook's Flux and hence The Elm Architecture)...
ACTION -> DISPATCHER -> STORE -> VIEW
https://vuex.vuejs.org/

Related to #700 #1134 #2846, particularly the first one.


users: Canonicalize the timezone identifier

While working on shifting toward native browser time zone APIs (#16451), it was found that all but very recent Chrome and Node versions reject certain legacy timezone aliases like US/Pacific (https://crbug.com/364374).
For now, we only canonicalize the timezone property returned in user objects and not the timezone setting itself.
Testing plan: Dev server.

LGTM

Great, merged, thanks @andersk!


Use protoc from java/lib rather than Maven repository.

Merging, but I still want to discuss above points.


cover level can now be set using emulated_hue

Description:
cover support brightness to set their level when using emulated_hue
Related issue (if applicable): fixes #
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[ ] The code change is tested and works locally.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

Hi @ptc,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

@ptc any updates on this PR?

This PR seems to have gone stale. Closing it. You can reopen it when you're ready to finish it.


Compiling async/await to ES5 may fail to warn about missing Promise constructor

TypeScript Version:  3.3.4000, 3.4.4, 3.5.0-dev.20190420

Search Terms: async, ES5, promise, return value
Code
async function helper() {
  await fetch('https://www.example.com');
  return true;
}

export async function main() {
  await helper();
}

Expected behavior:
When targeting es5, I expect this example to fail to type check because there is no Promise constructor in scope.
Actual behavior:
This code type checks successfully, but will not work at runtime.
Playground Link: N/A; playground does not expose the full set of compiler options, and so I am not able to reproduce this issue there. See https://github.com/jwmerrill/ts-promise-repro for a full working example.
Related Issues: https://github.com/Microsoft/TypeScript/pull/30790 (possibly?)
Additional notes: See https://github.com/jwmerrill/ts-promise-repro for a working minimal example.
Note that if the return statement in helper() is omitted, I see the error that I expect to see, which is
error TS2468: Cannot find global value 'Promise'.

src/fails.ts:1:16 - error TS2705: An async function or method in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option.

1 async function helper() {
                 ~~~~~~

A related example that I expect to fail to type check when targeting ES5, but which does type check, is
export async function main() {
  await fetch('https://www.example.com');
}

The compiler configuration I'm using is
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true
  }
}

I'm not sure if this is still a worthwhile check - more likely to annoy people than find bugs - but it is inconsistent that TS only sometimes correctly performs it

I’m interested in this check because I want to ship code that works in IE11, and I’m working on library code that cannot add its own polyfills that touch the global scope.
As we’re adopting async/await in other parts of our code base, it’s valuable to me to have checks that make sure that async/await isn’t used where it shouldn’t be.

I suppose that's because lib.es5.d.ts defines Promise interface https://github.com/microsoft/TypeScript/blob/master/lib/lib.es5.d.ts#L1416, which seems wrong to me because native Promise was introduced in ES6. There's simpler example which won't work in ES5, therefore must fail when targetng es5 but doesn't:
new Promise(() => {});

The declaration was originally in es2015.promise.d.ts but then was moved to lib.es5.d.ts here: https://github.com/microsoft/TypeScript/commit/d7ae0df647b431090da05fe5f81f0c9ff03f0cc5. @mhegazy could you please provide some background for your commit please?


X11 Regressions.

It seems as if multiple output workspaces have somehow regressed in X, and workspaces have been imaginarily linked together(opening a view in one workspace somehow inserts it into the tree of another). There are also numerous segfaults occuring as a result of this.

This seems to be caused by glitches in the get_focused_container function as well as active_workspace not being set properly.

Since @taiyu-len doesn't seem to be experiencing these glitches, this might be a one-of problem for me. Log info for spawning two workspaces:
Compositor is ready, executing cmds in queue
Setting focus to 0x24dcf10:1
Handling command 'exec urxvt'
Executing urxvt
Adding new view 3:urxvt to container 0x24db470 2
Adding 0x25d0d80 (4, 0x0) to 0x24db470 (2, 606x983)
Setting focus to 0x25d0d80:3
Arranging layout for 0x24dcf10
Arranging workspace #0 at 10, 10
Arranging layout for 0x24db470
Arranging 0x24db470 horizontally
Calculating arrangement for 0x25d0d80:4 (will receive 1.00 of 606)
Set view to 586 x 963 @ 20, 20
focus:R|(0x60cba0)(p:(nil))(f:0x24dcf10)(h:-1)Type:Root|layout:NONE|w:0|h:0|x:0|y:0|vis:f|wgt:0|name:(null)|children:2
|focus:X|(0x24dcf10)(p:0x60cba0)(f:0x24db470)(h:1)Type:Output|layout:NONE|w:626|h:1003|x:0|y:0|vis:f|wgt:1|name:None-0|children:1
|-focus:W|(0x24db470)(p:0x24dcf10)(f:0x25d0d80)(h:-1)Type:Workspace|layout:Horiz|w:606|h:983|x:10|y:10|vis:t|wgt:1|name:web|children:1
|--focus:F|(0x25d0d80)(p:0x24db470)(f:(nil))(h:3)Type:View|layout:NONE|w:606|h:983|x:10|y:10|vis:t|wgt:1|name:urxvt|children:0
|focus:X|(0x25ba650)(p:0x60cba0)(f:(nil))(h:2)Type:Output|layout:NONE|w:611|h:1003|x:0|y:0|vis:f|wgt:1|name:None-1|children:1
|-focus:F|(0x25a37a0)(p:0x25ba650)(f:(nil))(h:-1)Type:Workspace|layout:Horiz|w:591|h:983|x:10|y:10|vis:t|wgt:1|name:term|children:0
Setting focus to 0x25d0d80:3
Setting focus to 0x25d0d80:3
Setting focus to 0x25ba650:2
Handling command 'exec urxvt'
Executing urxvt
get_focused_container unable to find container
Adding new view 4:urxvt to container 0x24db470 2
Adding 0x25b5960 (4, 0x0) to 0x24db470 (2, 606x983)
Setting focus to 0x25b5960:4
Setting focus to 0x24dcf10:1
Arranging layout for 0x24dcf10
Arranging workspace #0 at 10, 10
Arranging layout for 0x24db470
Arranging 0x24db470 horizontally
Calculating arrangement for 0x25d0d80:4 (will receive 0.50 of 606)
Set view to 283 x 963 @ 20, 20
Calculating arrangement for 0x25b5960:4 (will receive 0.50 of 606)
Set view to 283 x 963 @ 323, 20
focus:R|(0x60cba0)(p:(nil))(f:0x24dcf10)(h:-1)Type:Root|layout:NONE|w:0|h:0|x:0|y:0|vis:f|wgt:0|name:(null)|children:2
|focus:X|(0x24dcf10)(p:0x60cba0)(f:0x24db470)(h:1)Type:Output|layout:NONE|w:626|h:1003|x:0|y:0|vis:f|wgt:1|name:None-0|children:1
|-focus:W|(0x24db470)(p:0x24dcf10)(f:0x25b5960)(h:-1)Type:Workspace|layout:Horiz|w:606|h:983|x:10|y:10|vis:t|wgt:1|name:web|children:2
|--focus:F|(0x25d0d80)(p:0x24db470)(f:(nil))(h:3)Type:View|layout:NONE|w:303|h:983|x:10|y:10|vis:t|wgt:1|name:urxvt|children:0
|--focus:F|(0x25b5960)(p:0x24db470)(f:(nil))(h:4)Type:View|layout:NONE|w:303|h:983|x:313|y:10|vis:t|wgt:1|name:urxvt|children:0
|focus:X|(0x25ba650)(p:0x60cba0)(f:(nil))(h:2)Type:Output|layout:NONE|w:611|h:1003|x:0|y:0|vis:f|wgt:1|name:None-1|children:1
|-focus:F|(0x25a37a0)(p:0x25ba650)(f:(nil))(h:-1)Type:Workspace|layout:Horiz|w:591|h:983|x:10|y:10|vis:t|wgt:1|name:term|children:0
Setting focus to 0x25d0d80:3
Setting focus to 0x24db470:-1
Setting focus to 0x25d0d80:3
Setting focus to 0x25d0d80:3

Crashes such as this also happen:
focus:R|(0x60cba0)(p:(nil))(f:0x158d400)(h:-1)Type:Root|layout:NONE|w:0|h:0|x:0|y:0|vis:f|wgt:0|name:(null)|children:2
|focus:X|(0x14e21e0)(p:0x60cba0)(f:0x14abfc0)(h:1)Type:Output|layout:NONE|w:626|h:1003|x:0|y:0|vis:f|wgt:1|name:None-0|children:1
|-focus:W|(0x14abfc0)(p:0x14e21e0)(f:(nil))(h:-1)Type:Workspace|layout:Horiz|w:606|h:983|x:10|y:10|vis:t|wgt:1|name:web|children:0
|focus:X|(0x158d400)(p:0x60cba0)(f:(nil))(h:2)Type:Output|layout:NONE|w:611|h:1003|x:0|y:0|vis:f|wgt:1|name:None-1|children:1
|-focus:F|(0x15ada40)(p:0x158d400)(f:(nil))(h:-1)Type:Workspace|layout:Horiz|w:591|h:983|x:10|y:10|vis:t|wgt:1|name:term|children:0
Setting focus to 0x14abfc0:-1
Setting focus to 0x14e21e0:1
get_focused_container unable to find container
Mouse button 272 pressed
Setting focus to 0x14abfc0:-1
get_focused_container unable to find container
Mouse button 272 released
Setting focus to 0x14abfc0:-1
Setting focus to 0x158d400:2
get_focused_container unable to find container
Mouse button 272 pressed

Program received signal SIGSEGV, Segmentation fault.
0x0000000000405032 in handle_pointer_button (view=0, time=23959160, modifiers=0x7ffff7dd9918 <wlc+920>, button=272, state=WLC_BUTTON_STATE_PRESSED, origin=0x7fffffffe2e0) at /....../sway/handlers.c:460
460                     if (pointer->is_floating) {

problem with output not having focus set to its only child. fixed by making sure add_child sets focus when adding first child.

I get the occasional problem like you originally described, but I haven't figured out the conditions for reproducing it yet.

I haven't seen this again since my last comment. Anyone else able to repro?

should  be fixed it was cause by output not having a focus set f:(nil))(h:2)Type:Output|


Cancelling the creation of a new queue causes a form validation error

Steps to reproduce
Create queue -> Cancel queue
Expected Behavior
Modal disappears
Current Behavior

Form validation errors - "you must select a course, and enter a name", and then the modal disappears.
Address bar has remnants of create queue action - "https://queue.illinois.edu/q/?course=&name=&location="

Good catch! Probably due to type="submit" on the cancel button in components/NewQueue. That blame falls solely on me 😢


Added missing map

Add response mapping from query result to model response in controller
📲 What
Currently, the response returned by the controller is q query result model. This change is to map the query result model to a response model in the controller.
🤔 Why
This is required as the existing controller should return a response model.
🕵 How to test
These changes are covered by existing unit tests.
✅ Acceptance criteria Checklist
Code peer reviewed?
Documentation has been updated to reflect the changes?
Passing all automated tests, including a successful deployment?
Passing any exploratory testing?
Rebased/merged with latest changes from development and re-tested?
Meeting the Coding Standards?

/azp run


Add @pyalex to kubeflow org.yaml

@jlewi, @pyalex is working on Feast and will help with integration into Kubeflow.

/lgtm
/approve


Crazy formatting issues after running tests in iterm

VSCode Version: Version 1.6.1 (1.6.1)
OS Version: OSX 10.11.6

Steps to Reproduce:

Save changes
Run mocha test suite in iTerm
Git status
See that VSCode has made crazy formatting changes on multiple files

Assigning to @rebornix to do some investigation what is going on here since I have no clue who to assign to from the description

@rebornix I can make a screen recording if that would be helpful ... doesnt make any sense but it is super frustrating

@benadam11 the git status output is somewhat annoying but right now I'm not sure who contributes to that. Can you help provide

git status before running your test cases
Close VS Code before running test cases and see if this still exists
If it still exists, provide me your mocha test related config and extensions then we can have an idea who is doing the real formatting

Does this make sense to you?


DataFrames using Python

Hey DCP participants, good to see you here
This issue will helps readers in giving all the guidance that one needs to learn about DataFrames using Python. Tutorial to DataFrames using Python and how it's applied using sample code.
"Project Title" should be the "Issue Title" mentioned here.
If you like to work on this issue, follow the given guidelines for code as well as for the README. You have to be as elaborative as possible. Make sure you also maintain the project structure provided. Just comment and get it assigned. Issues are alloted on FCFS basis.
The main intention of this repo is to educate beginners with all the concepts related to datascience so that they could feel confident to apply these things learnt in practical exposure.
Enjoy your open source journey ahead. 😎

Hello @prathimacode-hub ! I'd like to contribute here as a part of Hacktoberfest'21. Please assign this project to me. I plan to write a detailed article on Dataframes in Python.

Issue assigned to @ramya-neelakantan


Forget --keep-monthly 12 does not work? But it deleted the first young snapshot

$ restic version
restic 0.13.1 compiled with go1.18.1 on linux/amd64

I have two snapshots in my other disk:

snapshot ID: cab37d23, date:  2022-08-01 11:31:17
snapshot ID: 3498ea9f, date:  2022-08-05 12:10:30

Today is August. both snapshots were created in August (each snapshot in its different day)
I try to run  restic forget --keep-monthly 12
$ sudo restic forget --keep-monthly 12

Applying Policy: keep 12 monthly snapshots
keep 1 snapshots:
ID        Time                 Host        Tags        Reasons           Paths
---------------------------------------------------------------------------------------
3498ea9f  2022-08-05 12:10:30  zesko       Zbackup     monthly snapshot  /btrfs/@
                                                                         /btrfs/@clouds
                                                                         /btrfs/@docker
                                                                         /btrfs/@home
---------------------------------------------------------------------------------------
1 snapshots

remove 1 snapshots:
ID        Time                 Host        Tags        Paths
---------------------------------------------------------------------
cab37d23  2022-08-01 11:31:17  zesko       Zbackup     /btrfs/@
                                                       /btrfs/@clouds
                                                       /btrfs/@docker
                                                       /btrfs/@home
---------------------------------------------------------------------
1 snapshots

[0:00] 100.00%  1 / 1 files deleted...

The first snapshot is not older than 1 month and was removed.
Expected behavior

Both snapshots should not be removed if they are less than 12 snapshots and not older than 1 month.
That means I wanted to stay 12 snapshots in 1 month. That is my expectation.
Actual behavior

Oh, the first snapshot is not older than 1 month, but was removed too early by restic forget --keep-monthly 12
Do you have any idea what may have caused this?
I have no idea, maybe bug?
Or I do not understand what does --keep-monthly 12 mean?

Please have a look at https://restic.readthedocs.io/en/stable/060_forget.html#removing-snapshots-according-to-a-policy . --keep-monthly 12 keeps one backup per month for the last 12 months that have snapshots. Your description rather sounds like you want to keep backups of the last 12 days?

Ah, I understand now.
I want to keep any snapshots up to 1 year no matter how many snapshots.

Probably --keep-within 365d or --keep-daily 365 or --keep-within-daily 365d. Please take a look at the documentation for these options.

Thanks for the answer.
I have already read the document. I am a bit confused with options of forget because English is not my main language, sorry.
--keep-within 1y is probably right choice for me


[Bug]: Issue using satisfies operator (TypeScript 4.9) with jest tests

Version
29.6.4
Steps to reproduce
Add the satisfies operator to any type in your .ts or .tsx
run tests for that file
Expected behavior
No failure when running tests
Actual behavior
A syntax error is thrown:
 Details:
    SyntaxError: /Users/.../Component.tsx: Missing semicolon. (20:1)

Additional context
I think the issue is with an out of date bable version in jest that doesn't support the new typescript syntax.
Environment
System:
    OS: macOS 13.4.1
    CPU: (10) arm64 Apple M1 Pro
  Binaries:
    Node: 16.15.1 - ~/.nvm/versions/node/v16.15.1/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v16.15.1/bin/yarn
    npm: 8.11.0 - ~/.nvm/versions/node/v16.15.1/bin/npm
  npmPackages:
    jest: ^29.2.1 => 29.6.4

Follow the Getting Started page: https://jestjs.io/docs/getting-started#using-typescript
The satisfies operator works as expected in that setup.


Clarify tagging recommendation

Fixes #1259

OPS Build status updates of commit caf17ad:
:clock10: Preparing: average preparing time is 45 sec(s)

OPS Build status updates of commit caf17ad:
:clock10: Incremental building: average incremental building time is 23 sec(s)

OPS Build status updates of commit caf17ad:
:warning: Validation status: warnings

File
Status
Preview URL
Details

toc.json
:warning:Warning

Details

building-blocks/extending-templates/toc.json
:warning:Warning

Details

bread/toc.json
:warning:Warning

Details

docs/reference-architectures/microservices/aks.md
:white_check_mark:Succeeded
View

toc.json

[Warning] Error happen when converting toc.json to Pdf. Details: Could not find file 'T:\0byl\toc.json'.

building-blocks/extending-templates/toc.json

[Warning] Error happen when converting building-blocks/extending-templates/toc.json to Pdf. Details: Could not find a part of the path 'T:\0byl\building-blocks\extending-templates\toc.json'.

bread/toc.json

[Warning] Error happen when converting bread/toc.json to Pdf. Details: Could not find a part of the path 'T:\0byl\bread\toc.json'.

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


Share a postgres instance across rust project handlers

at the moment each rust project handler creates its own instance of postgres
database: Arc::new(PostgresClient::new().await.unwrap()),

really we should have a way to create one instance and share it between the handlers in the Arc
no-code projects share the postgres instances

https://github.com/joshstevens19/rindexer/commit/d5bcc971cd1cd3eb718d34d10294ab146d9982b3


Port Issue: Abuse - control issues

Device Type

[ ] RG351P/M
[ ] RG351V
[ ] RG351MP
[X] RG353M/V/P
[ ] RG503
[ ] RG552
[ ] RGB10
[X] RGB30
[ ] RK2023
[ ] X55
[X] Other device (RG35XXSP)
[ ] All of the above

Firmware

[ ] ArkOS
[ ] ArkOS Wummle
[ ] AmberELEC
[ ] JelOS
[X] RockNix
[ ] uOS
[ ] RetroOZ
[ ] TheRA
[X] Knulli

Port: Abuse
Description

I noticed that running this port in either Knulli or ROCKNIX causes control issues. This might be a part of a bigger change that's broken something because this same behavior affects multiple ports: https://github.com/PortsMaster/PortMaster-New/pull/1059
Reproduction Steps

Run the port on ROCKNIX or Knulli.

Consolidated into one issue: https://github.com/PortsMaster/PortMaster-New/issues/1064


[SMALLFIX] Swift UFS should not try to create container if absent

Fail if container does not exist

@yupeng9 Please take a look. Thanks.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/13526/
Test PASSed.

@ifcharming Can you also take a quick look?

LGTM


Switchover to "current" documentation paths

Fixes #2797
⚠ Not ready to merge ⚠
I want several PRs to go live at the same time so I'll consolidate into thif branch with further PRs.

@finestructure even though this PR is not complete. What is here is ready for review and other changes will come from other PRs merged into this.

To be re-opened at a later time


Fix indeterminate styling on c-table and added state checking for c-td-check

Coverage increased (+0.03%) to 72.727% when pulling ac5527728a3012f70e05c35229cb9f8e6c86657a on c-td-check-disable into 05638a39917b5f0b303456eda37969efe97fac7d on master.


Target element is partially rendered due to stylesheet

Hi!
Firstly, great work done for making this .
My issue is :
I have a webpage which contain several widgets,One of the widget im trying to capture is an HTML table which contains Highcharts (piecharts etc), what i have done is, i have converted the Highcharts in the table using CANVG library to the data uri images.
But when i am converting the resultant HTML using HTML2canvas it crops a little portion of the html from the table. So far i have figured out, that my stylesheet is causing it to crop , removing it from the code shows the complete table, but i want the css to be intact ofcourse
Here is the jsFiddle link  http://jsfiddle.net/8ypxW/999/.
Im using the latest alpha release of html2canvas
it will show u the HTML i want to capture , cllick on the "SavePNG" button and then u can see the output image.

Fixed in 1.0.0


FI-435 Track assertions in helpers

This PR updates the assertion tracking to track assertion calls in helper methods. For assertions not directly called in a test, the output will now look like this:
location_of_method_call_in_test -> location_of_assertion
modules/argonaut/argonaut_procedure_sequence.rb:110 => sequence_base.rb:490

This allows us to verify that the helper methods are being exercised in each test, rather than only once. The output also differentiates between direct and indirect assertion calls.
A unit test of the following test would record a direct assertion call because the item being unit tested is making the assertion.
test 'direct' do
  assert true
end

A unit test of the following test would record an indirect assertion call because the assertion happens in a separate method. A unit test of the validate method would record the assertion as a direct assertion because the assertion is called within that method.
test 'indirect' do
  validate
end

def validate
  assert true
end

Differentiating direct and indirect assertions allows us to determine whether helper methods are themselves being unit tested or only being tested through the tests that use them.
Submitter:

[x] This pull request describes why these changes were made
[x] Internal ticket for this PR: https://oncprojectracking.healthit.gov/support/browse/FI-435
[x] Internal ticket links to this PR
[x] Internal ticket is properly labeled (Community/Program)
[x] Internal ticket has a justification for its Community/Program label
[x] Code diff has been reviewed for extraneous/missing code
N/A Tests are included and test edge cases
[x] Tests/code quality metrics have been run locally and pass

Reviewer 1:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure
where appropriate, and accomplishes the task's purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Reviewer 2:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure
where appropriate, and accomplishes the task's purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

I think capturing the assertion messages is something that would require more discussion. Many of the assertion messages only make sense when the assertion fails. Updating them to be meaningful for passes and failures would require a lot of effort and probably be difficult to do without making them less understandable to end users.
Many of the assertion messages are dynamic, so we'd need to capture them all individually and determine the best way to format the output.

I just tried running this and when I looked at the output the first entry I saw was:
modules/argonaut/argonaut_allergy_intolerance_sequence.rb:107 => sequence_base.rb:514 with 1 Direct Pass Count and, 0 Direct Fail Counts and no Indirect results.
I thought that this would be an example of an indirect count looking at the code.  Am I misinterpreting something here?

The place where the direct/indirect distinction shows up isn't in the individual results for an assertion that goes through a helper function, such as
modules/smart/token_refresh_sequence.rb:85 => modules/smart/token_refresh_sequence.rb:113,11,2

Rather, the indirect results for modules/smart/token_refresh_sequence.rb:113:
modules/smart/token_refresh_sequence.rb:113,12,1,22,4

are just the sum of the results from all the indirect calls to it:
modules/smart/token_refresh_sequence.rb:109 => modules/smart/token_refresh_sequence.rb:113,11,2
modules/smart/token_refresh_sequence.rb:85 => modules/smart/token_refresh_sequence.rb:113,11,2


"Saving Failed" when trying to add a new entry in a collection

Hello,
I am getting a "Saving Failed" error pop up when I am adding a new entry in a Collection. The entry seems to get added correctly, but the error pops up.
I think it has something to do with translations: I have an extra language (default and Greek) defined, and on one collection all fields are translatable (localize on) and entries get added ok.
On the other collection some fields are not translatable (a collectionlink to the 1st collection, an image field, a gallery field), but even turning them localized as well keeps showing the error.
Going back to list and then entering and updating the entry, works ok. It's just the creation that has issues.
Is there a way to check exactly what the error is and provide more info?

Could you please try the latest next branch? otherwise try to check the php error log!

Perfect it now works ok!
I also tweaked and changed a few things on the collection structure (mainly removed all required toggles as I was trying to add it first and translate later), but for the record the problem seemed to be:
Undefined index: required in modules\Collections\bootstrap.php on line 333
(although just a PHP notice)


Snapshot PodV1

Snapshot Pod V1
Goals
Take snapshots of your Dendron Vault in order to revert it back to a given state
Why
Because data loss can happen. Either user inflicted or platform inflicted. In case this happens again, you'll be able to restore your notes to a known state.
Details
The V1 phase of the snapshot pod is meant to simply backup/restore your dendron vault. It should be able to do this without any third party dependencies (eg. git, rsync, etc) though it's something that should be used if present (phase 2).
Proposal

Implement the SnapshotPod that can backup/restore your vault
Add SnapshotPod as a configurable hook that runs during Dendron's upgrade process

Interface
Export
# where to store snapshot
dest: ~/some-storage-path/dendron/
# number of snapshots to keep
numSnapshots: 3
# how to name the snapshot
format: {timestamp}-{dendron version}
includeAssets: true

Import
src: ~/some-storage-path/dendron/
# options:
# - most-recent (default)
# - {timestamp}-{dendron-version}
snapshot: most-recent
# take a snapshot of the current vault before importing
snapshot-current: true
includeAssets: true

Next

Use incremental snapshots (eg. git, rsync)
Snapshot (export) individual files and hierarchies
Restore (import) individual files and hierarchies
Options for remote snapshot

It's a bit of a blunt tool but I 100% support as a safety-measure and stepping-stone until native vc/history is implemented.
Which compression binary comes on windows? zip?

I think zip comes in windows. For the v1, I decided to just copy over files while ignore version control. It's not the best but figure we can improve this over time.


Unable to see Command in Light Theme

Wave SDK Version, OS
0.20.0
Actual behavior
Unable to see the commands option in the light theme

What widget is this from?

oops, ui.header

I did items=[ui.menu] instead, but since the header card does have the commands option it would be good to view it well.


linux: fix fallback check

I got it wrong when writing the doc: in case of fallback, the getsockopt(MPTCP_INFO) syscall will always return an error, MPTCP_INFO_FLAG_FALLBACK will never be set -- it is only set when the info is retrieved via Netlink.
So we can simplify this, and partly revert PR #1. Sorry for the confusion!

(I just updated the doc, see: https://github.com/multipath-tcp/mptcp.dev/pull/6 & https://www.mptcp.dev/mptcp-info.html#check-for-tcp-fallback )


seraphim is already the plural form of seraph

Uh, dude, this is the King James Version of the Bible.

I don't know why I thought it was necessary to make a pull request for my personal NITPICK of our gay boy James' own TRANSLATION
Dumb.
Install dragora gnu/linux libre or jehanneOS

I don't know why I thought it was necessary to make a pull request for my own personal NITPICK of our gayboi James' TRANSLATION
Dumb.
Install dragora gnu/linux libre or jehanneOS

Uh, dude, this is the King James Version of the Bible.

https://github.com/LukeSmithxyz/kjv/commit/b92b7622285d10464f9274f11e740bef90705bbc
And a pre 1666 KJV at that
xd


Simplified cellParams

@joewgraham I updated the tutorial and example code to use the new simple format, and fixed some issues to the Travis tests pass. Can you please update the documentation (tutorial + ref) to reflect the new format? then I think ok to merge and include in next release. thx


Add coverage reporting

Add coverage reporting to CI so we can track how good our test coverage is.

should we use codecov for that ?

I have used https://github.com/taiki-e/cargo-llvm-cov locally, they also have a CI example in README

I have used https://github.com/taiki-e/cargo-llvm-cov locally, they also have a CI example in README

Their CI example also uploads to codecov, so that's probably the way to go if we want an integrated experience (instead of just pushing results to some GH pages site).

I'll give that a go then

Completed by #365, #377 respectively


implements az-app-config

closes #89
after this, I'll make a PR moving all of our configs to use az app config

/azp run-integration


docker: add ca-certificate for smtp to work

I see you're saying they're needed for SMTP to work. Under what circumstances? I run a local SMTP MTA (exim4) that listens on <IP_ADDRESS>:25 and forwards emails to sendgrid without a problem. Hence asking.

@jkdoshi will this be merged?
Your approach wouldn't work inside of Azure VM's (for example) which is where I mostly play so I would really like to see this.
Not only that, the forward step is a bit clunky and could burp under load - why not allow for a method to bypass the extra step if it's legitimate?
That would be my question.

@almontasser sorry for the delay. I think we can certainly add the change you are recommending with this PR. But unfortunately, the file in question (Dockerfile) has had many changes since then. Therefore it is causing merge conflicts.
So can you please pull the latest version, add your change, and then resubmit the PR?

Since the image is being built from the alpine image, the pull request is irrelevant. Alpine already includes a CA-Certificate store.


Added abstract new type for throwable

Codecov Report

Merging #21 into master will decrease coverage by 0.56%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #21      +/-   ##
==========================================
- Coverage   52.51%   51.95%   -0.57%
==========================================
  Files          25       26       +1
  Lines         278      281       +3
==========================================
  Hits          146      146
- Misses        132      135       +3

Impacted Files
Coverage Δ

...c/main/scala/http4s/extend/types/MkThrowable.scala
0% <0%> (ø)

Continue to review full report at Codecov.

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


What is elloapi and elloprovider difference?

What is elloapi and elloprovider difference? I'm a bit confused with how you are doing your authentication system with routing. Could you point out how expired tokens are to be treated?

At a high level, ElloAPI describes the endpoints of the API, potential params needed for the request, etc. ElloProvider executes the actual API requests and handles the responses.

Hi @rlam3, ElloProvider makes requests and handles responses. It collaborates with ElloAPI and a handful of other types to ensure that requests and responses are routed appropriately. When a request runs smoothly ElloProvider maps the serialized JSON response into domain objects, and hands them back to the service/caller that requested them.
Authentication happens when a request is made if the response is a 401. We use a nifty state machine that @colinta wrote to track the state of a requests authorization via ElloProvider's attemptAuthentication function. Poke around ElloProvider to see how it is used.


Upgrade pipenv dependencies

What is the context of this PR?
Upgrades dependencies in order to fix security vulnerabilities.
How to review
Check nothing is broken by this change. Check that the submissions confirmation consumer is able to be deployed as part of our staging pipeline.
Checklist
*[ ] Tests updated

 Dependabot Process PRs


fix: Reordered to prevent variable access before initialization

Simple Refactor
Reorders variable assignments in Providers before they are being accessed. Mentioned in https://github.com/OHIF/Viewers/issues/2105

Is there a specific reason this Pull Request is not being merged ? Anything I can do ?

No reason. The PR looks fine to me. Everyone is just busy at the moment

@swederik Ok, thanks! We are currently incorporating more of OHIF into our platform and would like to helpout wherever we can if it ensures continuous improvements or an easier certification for medical use. Especially the ability to customize the experience (pluggability, customized layouts, scout linces, tools etc) is high on our agenda.

Great! We have an announcement coming about the next version which should make plugability and configuration easier for developers consuming the viewer.


fix install instruction

url kwarg is needed otherwise installing yields this error
ERROR: https://github.com/svilupp/AIHelpMe.jl is not a valid package name. Perhaps you meant https://github.com/svilupp/AIHelpMe The argument appears to be a URL or path, perhaps you meant Pkg.add(url="...") or Pkg.add(path="...").

Aah, of course! Thank you!


Tea strength

Beta tests show the progress bar is confusing.
Try something like the signal strength indicator of a phone.

Use this as an inspiration:
https://codepen.io/johno/pen/LkaiI


Linux .deb file: update symlink on package update

Fixes #326
this set correct mode in pre and post install scripts and updates symlink on package update

@dcposch tested in debian 8 and ubuntu 15.10, could you test it too?, just to be sure to merge it

included nobin-debian-installer 0.0.7 which is also in #328

Checked out  the branch and ran npm install && npm run package -- linux
Getting the following error. Missing package.json entry?
Error: Cannot find module 'bl'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:289:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/home/dc/webtorrent-desktop/node_modules/nobin-debian-installer/node_modules/tar-stream/extract.js:2:10)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/home/dc/webtorrent-desktop/node_modules/nobin-debian-installer/node_modules/tar-stream/index.js:1:81)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)

nobin-debian-package does not use bl .
tar-stream use it and its declared in package.json
I removed node_modules and tun install and package on that branch and its working fine....

It seems the dependency is missing in your project

Yeah I deleted node_modules completely and reinstalled, and now it works. NPM is surprisingly fragile.
It still says the package will take "120 GB on disk", which I think is 1000x the real value :)

It also says "no screenshot available" -- in case it's quick and easy I'd add one. Regardless of that, once it says 120MB instead of 120GB, feel free to merge!
I recommend using the squash & rebase button instead of the merge commit button

Actually, one more bit of borkage.
After installing successfully, here's what happens when I try to uninstall:
dc@freya:~$ sudo apt-get purge webtorrent-desktop
[sudo] password for dc:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.2.0-27 linux-headers-4.2.0-27-generic
  linux-image-4.2.0-27-generic linux-image-extra-4.2.0-27-generic
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  webtorrent-desktop*
0 upgraded, 0 newly installed, 1 to remove and 74 not upgraded.
After this operation, 120 GB disk space will be freed.
Do you want to continue? [Y/n] Y
dpkg: unrecoverable fatal error, aborting:
 files list file for package 'webtorrent-desktop' contains empty filename
E: Sub-process /usr/bin/dpkg returned an error code (2)

good catch! i am checking the size and empty filename erro problems

@dcposch to fix the package list go and edit package list file
sudo gedit /var/lib/dpkg/info/webtorrent-desktop.list
make sure the first line is
/.
and not
/

@dcposch Can you confirm this is working for you now? If so, we can include a working .deb in the next release!

@grunjol Nice work getting this all figured out!

Installation & Purge working fine
sudo dpkg -i dist/webtorrent-desktop_0.3.1-1_amd64.deb
Selecting previously unselected package webtorrent-desktop.
(Reading database ... 1330923 files and directories currently installed.)
Preparing to unpack .../webtorrent-desktop_0.3.1-1_amd64.deb ...
Unpacking webtorrent-desktop (0.3.1-1) ...
Setting up webtorrent-desktop (0.3.1-1) ...
grunjol@here:~/workspaces/wt/webtorrent-desktop$

sudo apt-get purge webtorrent-desktop
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  webtorrent-desktop*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 118 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 1331000 files and directories currently installed.)
Removing webtorrent-desktop (0.3.1-1) ...
grunjol@here:~/workspaces/wt/webtorrent-desktop$

@grunjol I'm curious if this will work from my machine (OS X), which I use for the releases. I will do a test build from my machine (OS X) and send you a .deb to test. Is that cool?

@feross sure

@grunjol Here's the link: https://instant.io/#91686440f335771221ef7d19dc6b7e63c901602a

Installation
sudo dpkg -i ~/Downloads/webtorrent-desktop_0.3.1-1_amd64.deb
Selecting previously unselected package webtorrent-desktop.
(Reading database ... 1330923 files and directories currently installed.)
Preparing to unpack .../webtorrent-desktop_0.3.1-1_amd64.deb ...
Unpacking webtorrent-desktop (0.3.1-1) ...
Setting up webtorrent-desktop (0.3.1-1) ...

RUN!
grunjol@here:~$ webtorrent-desktop
crash reporter started
init: 941.227ms
...

Remove
sudo apt-get purge webtorrent-desktop
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  webtorrent-desktop*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 118 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 1331000 files and directories currently installed.)
Removing webtorrent-desktop (0.3.1-1) ...

LGTM!

@grunjol the new deb files works great! Shows 117MB instead of 120GB now, also great
One small warning on uninstall:
$ sudo apt-get purge webtorrent-desktop
[sudo] password for dc:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.2.0-27 linux-headers-4.2.0-27-generic linux-image-4.2.0-27-generic linux-image-extra-4.2.0-27-generic
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  webtorrent-desktop*
0 upgraded, 0 newly installed, 1 to remove and 74 not upgraded.
After this operation, 118 MB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 297982 files and directories currently installed.)
Removing webtorrent-desktop (0.3.2-1) ...
dpkg: warning: while removing webtorrent-desktop, directory '/opt/webtorrent-desktop/resources' not empty so not removed

Checking what's in that folder:
$ ls /opt/webtorrent-desktop/resources/ -lha
total 172K
drwxr-xr-x 2 root root 4.0K Apr  7 01:33 .
drwxr-xr-x 3 root root 4.0K Apr  7 01:33 ..
-rw-r--r-- 1 root root 163K Apr  6 19:02 atom.asar

This may have something to do with Electron renaming atom.asar to electron.asar in the most recent version.
@dcposch Perhaps this was left over from a previous install?

yes that's probably it.

Tried again. Works beautifully. Thanks @grunjol !


Point to composer.callback.Generate

This removes the llm-foundry Generate callback in favor of composer.callback.Generate, which has newer features like logging to MLflow. I've deleted the existing Generate callback logic but kept it around just in case someone is directly importing from llm-foundry. The builder callback also supports converting batch_log_interval to interval for backwards compatibility
In a future llmfoundry release, should remove this callback entirely

Although since the Generate callback should now be in composer, not sure it makes sense to add tests here?

There are unit tests for Generate in composer. I think it should be sufficient to just test building the callback as we are doing now.

Although since the Generate callback should now be in composer, not sure it makes sense to add tests here?

There are unit tests for Generate in composer that test for functionality. Is there something else we had in mind to unit test in foundry? cc: @dakinggg

@irenedea @aspfohl the "new" thing that foundry should test is that the callback works e2e with MPT


Enable data pipelining

Summary:
Note: Work in progress, publish for early feedbacks.
Currently, torchrec's built-in TrainPipeline API takes full control of the training loop (i.e. load next batch, forward, backward, optimizer step).
While this satisfies most common use cases, researchers who want to experiment with more advanced techniques (e.g. multi-losses, multiple batches) will have to write their own custom training loop, often with lots of duplicate codes to take advantage of comm & comp overlap speedup.
Goal of DataPipeline is to provide easy API to enable comm & comp overlap, but gives users back control over the training loop.
Differential Revision: D42810112

Hey,
@lequytra
I actually was thinking about something like: https://github.com/pytorch/torchrec/blob/data_pipeline/torchrec/distributed/data_pipeline.py
This way way training loop can totally stay intact - users will call model's forward methods exactly same way as before.
I've not tested these changes, I thought it was just easier to write it vs trying to explain in words :)

ModuleNotFoundError: No module named 'data_pipeline
getting this error for .....
from  data_pipeline import transformation_pipeline
this line
i try !pip install data_pipeline   command
but no improvement
anyone pls say is data_pipeline is removed? then what alternative i have to do

ModuleNotFoundError: No module named 'data_pipeline getting this error for ..... from data_pipeline import transformation_pipeline this line i try !pip install data_pipeline command but no improvement anyone pls say is data_pipeline is removed? then what alternative i have to do

Hey @vargab100, our library doesn't have transformation_pipeline, and the new data_pipeline feature is still in PR and has not been merged yet. Maybe it's a different library, you can reach out to the library PoCs about this issue.

waiting eagerly for this to pull in, is the intention still to finish and merge this?