Unable to build app via gradle after installing sentry

Platform:

[x]  Android

I have successfully installed the sentry client on my android app for local development, however on building the app and initialising proguard, my app build fails and i get the following error. Are there any rules that i have to enable to allow the build.
Warning: Exception while processing task java.io.IOException: Please correct the above warnings first.
:app:transformClassesAndResourcesWithProguardForReleaseGiant FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithProguardForReleaseGiant'.

Hey, I need a bit more output than that, can you run it with
./gradlew assembleRelease --stacktrace

Sure
* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:236)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228)
        at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:58)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:32)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:113)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$3.execute(DefaultGradleLauncher.java:196)
        at org.gradle.initialization.DefaultGradleLauncher$3.execute(DefaultGradleLauncher.java:193)
        at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:193)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:119)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:102)
        at org.gradle.launcher.exec.GradleBuildController.run(GradleBuildController.java:71)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:44)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:29)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:47)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.RuntimeException: Job failed, see logs for details
        at com.android.build.gradle.internal.transforms.ProGuardTransform.transform(ProGuardTransform.java:196)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:178)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:174)
        at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
        at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:163)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:95)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:76)
        ... 70 more
Caused by: java.io.IOException: Please correct the above warnings first.
        at proguard.Initializer.execute(Initializer.java:473)
        at proguard.ProGuard.initialize(ProGuard.java:233)
        at proguard.ProGuard.execute(ProGuard.java:98)
        at com.android.build.gradle.internal.transforms.BaseProguardAction.runProguard(BaseProguardAction.java:54)
        at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:254)
        at com.android.build.gradle.internal.transforms.ProGuardTransform.access$000(ProGuardTransform.java:63)
        at com.android.build.gradle.internal.transforms.ProGuardTransform$1.run(ProGuardTransform.java:173)
        at com.android.builder.tasks.Job.runTask(Job.java:49)
        at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41)
        at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:223)

BUILD FAILED

@nitish24p This is the default rules file that will be generated when enabling it in react-native
https://facebook.github.io/react-native/docs/signed-apk-android.html#enabling-proguard-to-reduce-the-size-of-the-apk-optional
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Disabling obfuscation is useful if you collect stack traces from production crashes
# (unless you are using a system that supports de-obfuscate the stack traces).
-dontobfuscate

# React Native

# Keep our interfaces so they can be used by other ProGuard rules.
# See http://sourceforge.net/p/proguard/bugs/466/
-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip

# Do not strip any method/class that is annotated with @DoNotStrip
-keep @com.facebook.proguard.annotations.DoNotStrip class *
-keep @com.facebook.common.internal.DoNotStrip class *
-keepclassmembers class * {
    @com.facebook.proguard.annotations.DoNotStrip *;
    @com.facebook.common.internal.DoNotStrip *;
}

-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
  void set*(***);
  *** get*();
}

-keep class * extends com.facebook.react.bridge.JavaScriptModule { *; }
-keep class * extends com.facebook.react.bridge.NativeModule { *; }
-keepclassmembers,includedescriptorclasses class * { native <methods>; }
-keepclassmembers class *  { @com.facebook.react.uimanager.UIProp <fields>; }
-keepclassmembers class *  { @com.facebook.react.uimanager.annotations.ReactProp <methods>; }
-keepclassmembers class *  { @com.facebook.react.uimanager.annotations.ReactPropGroup <methods>; }

-dontwarn com.facebook.react.**

# TextLayoutBuilder uses a non-public Android constructor within StaticLayout.
# See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details.
-dontwarn android.text.StaticLayout

# okhttp

-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**

# okio

-keep class sun.misc.Unsafe { *; }
-dontwarn java.nio.file.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn okio.**

Can you also please update to the latest version 0.22.0, we've changed a few things regarding gradle.

Sure will try and let you know.

Same for me with 0.23 version (and RN 0.42.3):
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
        at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:239)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:212)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:205)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:55)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:36)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: java.lang.RuntimeException: Job failed, see logs for details
        at com.android.build.gradle.internal.transforms.ProGuardTransform.transform(ProGuardTransform.java:196)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:178)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:174)
        at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:156)
        at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 60 more
Caused by: java.io.IOException: Please correct the above warnings first.
        at proguard.Initializer.execute(Initializer.java:473)
        at proguard.ProGuard.initialize(ProGuard.java:233)
        at proguard.ProGuard.execute(ProGuard.java:98)
        at com.android.build.gradle.internal.transforms.BaseProguardAction.runProguard(BaseProguardAction.java:54)
        at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:254)
        at com.android.build.gradle.internal.transforms.ProGuardTransform.access$000(ProGuardTransform.java:63)
        at com.android.build.gradle.internal.transforms.ProGuardTransform$1.run(ProGuardTransform.java:173)
        at com.android.builder.tasks.Job.runTask(Job.java:49)
        at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41)
        at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:223)

Just to clear things up, have you guys seen the proguard documentation: https://docs.sentry.io/clients/java/modules/android/#proguard
I just followed the documentation and had no problem I am not really sure if the is Sentry related.

Oh I didn't see that page, thanks.
Unfortunately Gradle can't compile it:
FAILURE: Build failed with an exception.

* Where:
Build file '/Users/antoine/Sites/tribeez/android/app/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Minimum supported Gradle version is 3.3. Current version is 2.14.1. If using the gradle wrapper, try editing the distributionUrl in /Users/antoine/Sites/tribeez/android/gradle/wrapper/gradle-wrapper.properties to gradle-3.3-all.zip

(this error appears when adding classpath 'io.sentry:sentry-android-gradle-plugin:1.5.3' to the dependencies)
Could this be because my RN version is 0.42.3 and this plugin is for a newer one?
But it looks like RN still relies on Gradle 2.14.1:
https://github.com/facebook/react-native/blob/master/local-cli/templates/HelloWorld/android/gradle/wrapper/gradle-wrapper.properties

@antoinerousseau As far as I know it shouldn't be a problem updating gradle to 3.3, I've tried it before and it worked without any problems.

I tried but it needs the SDK build tools 25.0.0 instead of 23.0.1, and when I set buildToolsVersion to 25.0.0 in app/build.gradle I get:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugApk'.
   > A problem occurred configuring project ':react-native-sentry'.
      > The SDK Build Tools revision (23.0.1) is too low for project ':react-native-sentry'. Minimum required is 25.0.0

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

@antoinerousseau I am able to build the app with 23.0.1 and 25.0.0 so I am not really sure how to help, it must be something with your setup.

@HazAT with RN 0.42 ?
I tried with compileSdkVersion 22 and 23, the buildToolsVersion is 23.0.1, minSdkVersion is 16 and targetSdkVersion is 23...
my proguard-rules.pro is the same than RN's one
Warning: io.sentry.servlet.SentryServletContainerInitializer: can't find superclass or interface javax.servlet.ServletContainerInitializer
Warning: io.sentry.servlet.SentryServletRequestListener: can't find superclass or interface javax.servlet.ServletRequestListener
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.InitialContext
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.InitialContext
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.Context
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.NoInitialContextException
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.NamingException
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.NoInitialContextException
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.NamingException
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.Context
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.Context
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.NoInitialContextException
Warning: io.sentry.config.JndiLookup: can't find referenced class javax.naming.NamingException
Warning: io.sentry.event.helper.BasicRemoteAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.BasicRemoteAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.BasicRemoteAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.BasicRemoteAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.ForwardedAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.ForwardedAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.ForwardedAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.ForwardedAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.HttpEventBuilderHelper: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.HttpEventBuilderHelper: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.HttpEventBuilderHelper: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.HttpEventBuilderHelper: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.HttpEventBuilderHelper: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.HttpEventBuilderHelper: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.HttpEventBuilderHelper: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.HttpEventBuilderHelper: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.helper.RemoteAddressResolver: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.Cookie
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.Cookie
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.Cookie
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.Cookie
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.Cookie
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.Cookie
Warning: io.sentry.event.interfaces.HttpInterface: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.servlet.SentryServletContainerInitializer: can't find referenced class javax.servlet.ServletContext
Warning: io.sentry.servlet.SentryServletContainerInitializer: can't find referenced class javax.servlet.ServletContainerInitializer
Warning: io.sentry.servlet.SentryServletContainerInitializer: can't find referenced class javax.servlet.ServletException
Warning: io.sentry.servlet.SentryServletContainerInitializer: can't find referenced class javax.servlet.ServletContext
Warning: io.sentry.servlet.SentryServletContainerInitializer: can't find referenced class javax.servlet.ServletContext
Warning: io.sentry.servlet.SentryServletContainerInitializer: can't find referenced class javax.servlet.ServletContext
Warning: io.sentry.servlet.SentryServletContainerInitializer: can't find referenced class javax.servlet.ServletContext
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequestEvent
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequestListener
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequest
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequestEvent
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.http.HttpServletRequest
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequestEvent
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequestEvent
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequestEvent
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequestEvent
Warning: io.sentry.servlet.SentryServletRequestListener: can't find referenced class javax.servlet.ServletRequest

...
Warning: there were 93 unresolved references to classes or interfaces.
         You may need to add missing library jars or update their versions.
         If your code works fine without the missing classes, you can suppress
         the warnings with '-dontwarn' options.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Warning: Exception while processing task java.io.IOException: Please correct the above warnings first.
:app:transformClassesAndResourcesWithProguardForRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details

Can you try to add -dontwarn io.sentry.**?

I tried with -dontwarn io.sentry.** { *; } without luck, but just tried with -dontwarn io.sentry.** and it builds! And the app seems to work. Thanks!! :)

wait no, I had switched enableProguardInReleaseBuilds back to false, sorry my mistake... no more luck then, it fails :/

I am not really sure how to help you from here.
To be honest I am not a Android pro myself, so if I am able to reproduce this locally it's hard to fix.
What you could try is setting it up in the example project
https://github.com/getsentry/examples/tree/master/react-native
and tell me the steps to reproduce it, otherwise, it must be something with your setup.
If tested it and following the proguard documentation
https://docs.sentry.io/clients/java/modules/android/#proguard
I got it to work properly, so I am closing this now.

I was able to make build successfully after adding following code in proguard setting
-keepattributes LineNumberTable,SourceFile
-dontwarn org.slf4j.**
-dontwarn javax.**

@yudhisthira8fit worked for me, thanks a lot!!! how did you find this?!

It's also in our doc, I probably forgot to mention it specifically.
https://docs.sentry.io/clients/java/modules/android/#manual-integration

OH I see! Sorry didn't see this!

But I can't use the plugin to do this automatically (and then upload the mappings) because of:
Download https://jcenter.bintray.com/io/sentry/sentry-android-gradle-plugin/1.5.4/sentry-android-gradle-plugin-1.5.4.pom
Download https://jcenter.bintray.com/io/sentry/sentry-android-gradle-plugin/1.5.4/sentry-android-gradle-plugin-1.5.4.jar

FAILURE: Build failed with an exception.

* Where:
Build file 'android/app/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Minimum supported Gradle version is 3.3. Current version is 2.14.1. If using the gradle wrapper, try editing the distributionUrl in android/gradle/wrapper/gradle-wrapper.properties to gradle-3.3-all.zip

and if I try to use Gradle 3.3 (and then the SDK build tools 25), I get:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugApk'.
   > A problem occurred configuring project ':react-native-sentry'.
      > The SDK Build Tools revision (23.0.1) is too low for project ':react-native-sentry'. Minimum required is 25.0.0

Also, there isn't any sentry-debug-meta.properties in intermediates/assets/release/ after compiling so I can't upload manually

Note that my outputs/apk/intermediates etc are in ~/Android/..., not in my project folder

subprojects {     afterEvaluate {project ->         if (project.hasProperty("android")) {             android {                 compileSdkVersion 25                 buildToolsVersion '25.0.0'             }         }     } }
add this script on build.gradle - android

Fixed : I removed pro-guard  and used gradle 3.1.3 instead on 3.2.0


Experiment to fix Windows R-CMD-check errors

Will do a separate PR based on advice from @eddelbuettel


Support allowed_mentions

Support the allowed_mentions field outlined in discordapp/discord-api-docs#1396
to allow for finer control over what mentions trigger pings.

This was fixed via shardlab/discordrb@e53db8a0724cf168066ccaff9c5acdda8bac2f7f in the new repo and released in v3.4.0 and can be closed. Thank you for the report.


[ar] Add instructions on how to join the community

This change clarifies to new contributors that they need to add their github usernames to REVIEWERS via a pull request.

Just to be clear, contributors don't need to be reviewers, but reviewing is an important step and should be encouraged.
I'd rather the more consistent/reliable contributors add themselves to the REVIEWERS file instead of making everyone who is just getting started. Does that sound reasonable?

@lamberta OK it makes sense.
Although, I think the change I am proposing is still relevant to new "reviewers".
I can also clarify that new contributors doesn't need to be reviewers in the README.
@lamberta Let me know if that sounds reasonable.

@mohamed-ali Can you please share this Google sheet to track the community's WIP ?


Fix installer script for --restrict-to-namespace mode

Codecov Report

Merging #1091 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1091   +/-   ##
======================================
  Coverage    3.93%   3.93%
======================================
  Files          52      52
  Lines       18302   18302
======================================
  Hits          720     720
  Misses      17453   17453
  Partials      129     129

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 ddc6952...99e631f. Read the comment docs.


Don't enforce white background in Stepper

It cuts across the Nav bar's shadow when put right underneath..

Thanks for the feedback. It isn't enforced though, it's just the default, although I can see an argument for not having a default. In your case though you can just add top margin to it.

@mbrookes How do we go about changing it? I don't think I saw a backgroundColor property in the docs and I can see that the Stepper has a Paper component inside it for some reason (which AFAIK is the reason for the #fff background) I'm not sure how I can change that.
Yes adding a few pixels margins would work too, but I think the default spacing is just right. Just making the background transparent would be ideal.

@AdityaAnand1 What version?

Latest (next) v1 branch

Was about to say, it doesn't look like v0.x uses Paper, so...
...as Paper is the root component, take your pick. Passing in a className for a class that overrides background-color is probably easiest.

That did it! Lol, I guess I should've tried that 😆

@mbrookes  and @AdityaAnand1 How did you make the background-color to transparent?

   <Stepper
      activeStep={activeStep}
      alternativeLabel
      style={{ backgroundColor: "transparent" }}
    >


Error with Jobs Queue

@jenssegers
Hi !
I use this package and queue of Laravel 5.4.
When I dispatch a job, I have an error :

Next Illuminate\Database\QueryException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'site_com.items' doesn't exist (SQL: select * from items where user_id = 1 and slug = slug-slug-slug-slug-slug and feed_id = 1 limit 1) in /home/site_com/http/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:647

My Handle Job :
return Item::create([
                'user_id' => $this->feed->user_id,
                'feed_id' => $this->feed->id,
                'title' => $this->itemTitle,
                'slug' => $this->itemSlug,
            ]);

My Model :
<?php

namespace App;

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class Item extends Eloquent
{
    protected $collection = 'items';
    protected $connection = 'mongodb';

    protected $fillable = [
        'user_id',
        'feed_id',
        'title',
        'slug',
    ];

Why he use MySQL database instead of MongoDB database ?

Hello,
Please check documentation that you need to change queue driver.
Sorry for late reply.
Thanks.


Trainer Max Timesteps

Currently, the Off Policy Trainer doesn't control how long the training should be efficiently. User can specify epochs and max_ep_len but there should be some easier way to cap how long training takes by giving an additional option to just cap the timesteps.

Why's one of the build showing the grey warning symbol? I can't seem to see the full log for that

Cant see anything

Nvm, it ran on it's own. Must have been some gh-actions side error. Can we merge this?


more manual stuff

@sdroege I need a bit of help here with the Editable subclassing support. I managed to make it somehow work except the delegate_[get|set]_property ones. I'm getting a weird
total props: 8
Setter: enable-undo - ID: 7

(custom_editable:1378583): GLib-GObject-CRITICAL **: 19:15:24.062: g_value_get_float: assertion 'G_VALUE_HOLDS_FLOAT (value)' failed

Getter: enable-undo - ID: 7

(custom_editable:1378583): GLib-GObject-CRITICAL **: 19:15:24.062: g_value_set_float: assertion 'G_VALUE_HOLDS_FLOAT (value)' failed

(custom_editable:1378583): GLib-GObject-WARNING **: 19:15:24.062: ../gobject/gtype.c:4322: type id '0' is invalid

(custom_editable:1378583): GLib-GObject-WARNING **: 19:15:24.062: can't peek value table for type '<invalid>' which is not currently referenced

Trying to get one of the properties might cause a crash (which is the case in the example I pushed with editable.get_enable_undo(). It needs to be commented for the example to work btw)
One thing I'm wondering about, is the id = the order in which we insert a property? if that's the case, why we would get ID = 7 for enable-undo if it's the 8th property that gets added https://gitlab.gnome.org/GNOME/gtk/-/blob/master/gtk/gtkeditable.c#L970-977 ?
What I was thinking of is whether there would be an offset between the ID we received at ObjectImpl::[get|set]_property and the  id we should pass to delegate_[get|set]_property as the properties do exists, we just fail to get/set the right one per the g_value_set_float that fails due to having a not float value.
Note the code I wrote is heavily based on the the tagged entry demo here https://github.com/GNOME/gtk/blob/master/demos/gtk-demo/demotaggedentry.c
Any ideas?

@sdroege I need a bit of help here with the Editable subclassing support.

I'll take a look later, I think I know what the problem is. Can you put an example into this PR?

@sdroege I need a bit of help here with the Editable subclassing support.

I'll take a look later, I think I know what the problem is. Can you put an example into this PR?

Thanks! Yes, I pushed an example in the latest commit

See https://github.com/gtk-rs/gtk-rs/pull/368 for the fix.

I have updated the editable example to something more useful. It's a copy of one gtk's editable demos

That looks nice :) Compared to the C version, is it easier/smaller/better or the opposite?

That looks nice :) Compared to the C version, is it easier/smaller/better or the opposite?

370 lines compared to 500 header included, not bad. The largest boilerplate is get_property/set_property/properties.

Ok, i'm happy with the status of this merge request

Thanks for the review @sdroege. Going to go ahead and merge this for now.


Simulations tests

We really need some unittests to make sure that everything is functioning properly

We already have something coded up in jupyter notebooks, but we need to have a more robust unittesting framework.


How to manage control plan and etcd node by kured reboot daemonset

We are looking for solution that after auto parch Kubernetes ubuntu node require (worker node, Etcd node and control node) automatically reboot (drain, Corden and after reboot uncorden) and it worked on worker node as expected.
But we observed that on etcd and control plan node kured solution is not worked, in fact it seems kured daemonset not manage etcd and control plan node.
Now concern is that, Is kured solution manage etcd and control plan node as well ? If yes then how we can configure it.
It would be great if we get guidance or help on this subject.
Thanks
Ganesh

It depends on what your control plane nodes are tainted with. If you do kubectl describe node <control plane node>  you can see the Taints that are applied. Then you can add a Toleration to the Kured Daemonset to allow it to run on them.
For example, I am using K3s for installation, which gives me control plane nodes that look like this:
...
Taints:             CriticalAddonsOnly=true:NoExecute
...

I can use the tolerations: section of the deployment (I am using the Helm chart to deploy Kured) to add:
    tolerations:
      - key: CriticalAddonsOnly
        operator: Exists

Hope this helps.

Should this information be part of the faq maybe?


[Document] Provide a Rooch CLI reference document

List all rooch commands and flags/options.
Maybe we can add code comment on the commands rust code and generate the document by help command.
@wow-sven @geometryolife

tracked by #491


Contradicting Documentation

Under the recommended architecture for host named site collections, the guidance is to include personal sites in the same web application as others. But this is not the correct guidance. The product itself includes a rule that checks if the personal sites are on a dedicated web application. See this
https://docs.microsoft.com/en-us/sharepoint/technical-reference/validate-the-my-site-host-and-individual-my-sites-are-on-a-dedicated-web-applica
So this guidance must be corrected. Logically including personal sites in same DB as other sites makes no sense. The correct guidance must indicate that one web application pool will be used (so as to not exhaust the limit of application pools per server). Two web applications can share the same application pool. Host header site collections must be in one web application and my sites should be in other web application.

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

ID: 4a3e7eee-a034-87ea-4c52-f31c89d7aafd
Version Independent ID: c6c07b34-be7a-7d90-a898-0db8dd641f04
Content: Host-named site collection architecture and deployment in SharePoint Server
Content Source: SharePoint/SharePointServer/administration/host-named-site-collection-architecture-and-deployment.md
Product: sharepoint-server-itpro
GitHub Login: @Techwriter40
Microsoft Alias: kirks

@sudeepg100 Thank you for this feedback
I will get this over to the SharePoint team for investigation and updating. Thank you for taking the time to make the docs better.
I was able to get this into the backlog for the SharePoint team. The team will get this prioritized into a sprint plan. Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@sudeepg100 This HA rule was removed in 2017 for 2013/2016 and was never included in 2019. I made the PR to remove 2016/2019 prior to remembering it was also removed for 2013, so I've reached out to @Techwriter40 for assistance.

@sudeepg100 @tseward I have merged all the changes from Trevor and articles should be updated soon. thank you for your feedback.


Revise cookie compliance to meet EU regs

Neither the new or old Osano cookie compliance code strictly met EU regulations.
Revise the code to better comply.

The cookies used are preferences cookies. Strictly speaking the user can opt out of these. So a Yes/No choice is required. If no then the cookie compliance popup & any flash messages will always appear.

Cookies can't be stored for > 1 year, so permanently hiding flash messages is not an option.

Users decisions to opt out must be recorded - let's argue that this is done by storing the cookie.

Information about each cookie used must be provided, so need to update cookies.html. For accuracy it may be a good idea to store each cookie's name in a Jekyll variable so same one gets used as actual name & in Docs.

Users must be able to withdraw consent. Possibly add a link to click on page footer when user is opted in.

Implemented at 85e2a51766003d513e9f04f2565cc14adfe67d26


[Bug]: CoGroupByKey Tour of Beam Python example shows Go code

What happened?
I am going through the "Tour of Beam", and the CoGroupByKey Python example shows Go code instead of Python.  It can be seen in the playground starting a bit below here:
https://github.com/apache/beam/blob/3e0d0d62a5b1a9063f9e07a62556ba8a7299afbe/learning/tour-of-beam/learning-content/core-transforms/map/co-group-by-key/description.md#playground-exercise
I am happy to make a PR and fix it, but being new to Beam, I wasn't sure if that would help.
Issue Priority
Priority: 3 (minor)
Issue Components

[X] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam YAML
[X] Component: Beam examples
[X] Component: Beam playground
[ ] Component: Beam katas
[X] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

I am happy to make a PR and fix it, but being new to Beam, I wasn't sure if that would help.

That would absolutely help and you are most welcome to send a PR. Thanks a lot!


Errors when placing order and/or activating

I have set the product, selected PowerDNS, set the API IP, Key and etc. When I try to order or activate the order, it just spins. After checking, I'm getting a 500 error on /api/admin/order/activate?id=
This only happens when trying to order/activate the DNS product. Everything else works fine.

Please download the new https://github.com/getnamingo/fossbilling-dns/blob/main/Servicedns/Providers/PowerDNS.php I just uploaded and try again.
If still having issues, send me the last few lines of the /data/log/php_error.log to see what happens.

@getpinga I have fixed the issue and issued a pull request. I have not worked on the delete error yet, but I plan to work on it soon.
#6

@getpinga I corrected the delete error and also add the ability to delete the order if the zone is not found in powerdns. It's been committed to pull request #6 as well.

Thanks a lot, fixed a bit the formatting and approved it.

I'll ask the other users that had the issue to test and then will close the ticket.

Seems working. If someone has the same or similar issue, please open a new ticket to investigate.


DEC-449

Showcase images in the list page were not constrained in height.

Coverage remained the same at 95.798% when pulling 4f173f6d690020409d0f4f129d0d9fae95120a27 on DEC-449 into bfa27a3cadbe5e403c48a26416b2bb700088ff82 on master.

I don't think this PR will be needed once DEC-1212 is merged in.


v1.4 backports 2019-09-06

#9057 -- istio: Update to 1.2.5 (@jrajahalme)
#9133 -- Dockerfile: Use Envoy image with access logging fixes (@jrajahalme)
#9101 -- test: fix k8s upstream test (@aanm)

Once this PR is merged, you can update the PR labels via:
$ for pr in 9057 9133 9101; do contrib/backporting/set-labels.py $pr done 1.4; done

This change is

never-tell-me-the-odds

apt download problems: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-K8s/2456/execution/node/182/log/

test-missed-k8s

test-upstream-k8s

test-missed-k8s

test-missed-k8s

test-missed-k8s

test-missed-k8s


Adding multiple daily rates at once

Currently, you have to add all daily rates for each person separately. You click on a notification and add the missing daily rate. It would be nice to have a link in the notifications panel that opens a page with a pre-filled form in which you only have to edit the date ranges for each person and can submit the daily rates all at once.

@tinne does this issue also addresses the default daily Rate feature? Seems like it's the same process wanted to automatically fill missing daily rates.

A different approach has been chosen in order to provide for backward compatibility, cf. #374.


Garmin GPSMAP 65S - Bluetooth - Please, add compatibility

Hi, Why isn't possible link Garmin GPSMAP 65S using  Bluetooth way  to have more accurrace precision on my tablet? I was reading the supperted devices and not include Garmin. But, Why? Could you think include this supported in your updates? Thanks, excellent app.

Hi @rbperezu1980, we add devices that we or our customers tried out and worked. This list is not exhaustive so if you managed to us this device, we can add it there. Just let us know whether it worked via Mock location or directly via Bluetooth from Mergin Maps. I understand that you speak about Android and not iOS, correct?

@rbperezu1980 as far as I understand, Garmin GPSMAP 65S does not provide interface to work as an external GPS receiver for a phone/tablet (using NMEA protocol) - it has Bluetooth support to connect with Garmin's apps to sync waypoints, routes, background maps etc.
https://support.garmin.com/en-US/?faq=xnxBqawGRp0vickWJHl1d6
I am going to close this, but please feel free to reopen if this is not correct.


Improve Jest phabricator plugin

Some changes were done to the jest-phabricator result processor; both for optimizing the size of the resulting JSON and for making the results shape more consistent. This is a summary on how the changes affect the current way of working of the plugin:

The additional level of indirection where all the results were copied inside aggregatedResult is gone. This way, the resulting data format is the same whether you use jest-phabricator or not.

Now we override coverageMap to place the coverage there. The standard coverage format is huge, and although the code said we will not include it in the final result for performance reasons, it was getting preserved inside aggregatedResult.coverageMap.

Coverage is not copied in each of the test results anymore, saving a lot of space. Together with the previous point, this means a decrease from 4.57 MiB to 763.75 KiB for the resulting JSON size on a ~800 tests run. That's 6x smaller!

One might argue that overriding coverageMap is bad, because we lose the original coverage information; however:

It was intentionally null-ified before on the main object to save space (which was not, because it was still in the aggregatedResult sublevel), but still, its value was null at the root.
Being at a non-standard place, no one complained for a lot of time, so probably it was not getting used.
If a custom reporter is being used for coverage purposes, probably you're not looking for the default way of reporting coverage either, so putting it where the usual coverage is, sounds reasonable to me.

Code is simpler. Yay!

Great!!


rubocop: 1.1.0 -> 1.8.0

Motivation for this change
Things done

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

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

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

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108683 run on x86_64-linux 1

1 package built:

rubocop

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108683 run on x86_64-linux 1

1 package built:

rubocop

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108683 run on x86_64-darwin 1

1 package built:

rubocop

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108683 run on x86_64-darwin 1

1 package built:

rubocop


removed tiny underutilized queries.py

Coverage increased (+0.7%) to 93.261% when pulling 8a74f8b04ad6bbb4c55118cdd41c87b15af7de24 on clean_up into 6e67a48a0f13b607cfbd1fce39041a48b6632dcf on master.


Can't save parameters

Hi there,
When I am trying to moove someone in a group. To do that, I open the editor and I change the group in the line "group.default". When I want to save, I have an error on this line.
What can I do ?
Ty !

What "error"?

"There was an error whilst saving user data for "

Console errors? You need to provide more info than this please.

Well...
When I open the editor on my web browser, I set the line "group.default" in "group.newgroup".
Then, I click on save, on the top of the screen. I copy the link and I paste it into minecraft. At this moment, the error appears.

Then please give us the error displayed (Take a screenshot)

Does newgroup exist as a group?

Oh, I have no player to test it and to send you, everybody disconncted... I send you the screenshot as soon as possible !
Yes, he does

https://zupimages.net/viewer.php?id=20/03/orsy.png
Here is the screenshot !

Any errors in the console when that happens?

The minecraft server is a daemon programm. How can I hook the console to give you this information ?

That’s something you should know. There’s so many different setups, it’s impossible to say.
You could also check the log file.


(wip) Yjdh-350: Show creation error pages

Description :sparkles:
Show specific error pages when

email is already in use in other application
there is an already registered kesaseteli with same ssn or email

Also including browser tests to these special cases
Issues :bug:
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

Codecov Report

Merging #705 (aa96159) into develop (92bf80b) will decrease coverage by 18.92%.
The diff coverage is 33.68%.

@@             Coverage Diff              @@
##           develop     #705       +/-   ##
============================================
- Coverage    63.71%   44.78%   -18.93%
============================================
  Files          759      264      -495
  Lines        19027     4606    -14421
  Branches      1816      706     -1110
============================================
- Hits         12123     2063    -10060
+ Misses        6547     2356     -4191
+ Partials       357      187      -170

Impacted Files
Coverage Δ

...th/browser-tests/actions/send-youth-application.ts
0.00% <ø> (ø)

...uth/browser-tests/index-page/indexPage.testcafe.ts
0.00% <0.00%> (ø)

...otification-page/alreadyAssignedPage.components.ts
0.00% <0.00%> (ø)

...sts/notification-page/emailInUsePage.components.ts
0.00% <0.00%> (ø)

.../kesaseteli/youth/browser-tests/utils/url.utils.ts
0.00% <0.00%> (ø)

...esaseteli/youth/src/components/forms/YouthForm.tsx
93.75% <90.47%> (-2.55%)
:arrow_down:

...youth/src/__tests__/utils/backend/backend-nocks.ts
96.55% <100.00%> (+0.25%)
:arrow_up:

...h/src/components/constants/creation-error-types.ts
100.00% <100.00%> (ø)

frontend/kesaseteli/youth/src/utils/type-guards.ts
100.00% <100.00%> (ø)

...benefit/handler/src/hooks/useApplicationActions.ts
0.00% <0.00%> (ø)

... and 501 more

Continue to review full report at Codecov.

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


Update references and encapsulate fields for internal commas. Fixes #19

Thank you, works good.
Weird the old references in the csproj can take precedence over the real ones, will remove them.


WSGI module

This is really more of a way to run Girder 3 in WSGI, so it may make more sense to just upstream this into Girder 3, but for the sake of ongoing review I'll put it here.
Depends on https://github.com/girder/girder/pull/3438

Closing this in favor of Girder 5 version.


Debugger: enter.s nested_exit stores invalid pointer in ocall_context

@bmhsieh found out that https://github.com/Microsoft/openenclave/blob/master/enclave/core/sgx/enter.S#L202
pops the constructed oe_ocall_context_t and therefore the value stored by _oe_notify_nested_exit_start is invalid after that.
This part of the debugger implementation needs to be revisited.
@mikbras @CodeMonkeyLeet @anitagov

Fixed the link in the description as the enter.S moved into the sgx directory.
@johnkord - I believe this is a "non-trivial" bug which needs to be fixed.

@anakrish Is this fixed? If not, should we plan for this in the 0.6 milestone?

I think this is a non-issue. From what I remember the object on the stack is only used to notify the debugger for stack-stitching; doesn't matter if the object becomes invalid after than. Will look at this again for v0.6

@anand if this is still real pls reopen in 0.7

This is not an issue. This will most likely be simplified with our debugger work for v0.7


feat: Always recompile before sizing contracts w/ flag to disable

This new option allows the size-contracts plugin to ensure a fresh compile was done before calculating the sizes. We've had issues where it was run without first running hardhat compile and the results were confusing.

What do you think about adding a --no-compile option instead, and compiling by default?  This would be more consistent with the test and console tasks.

That seems fine to me. Want me to make those changes?

Yes, replace alwaysRecompile with --no-compile option and add a usage note to the README, then I'll merge.  Thanks.

@ItsNickBarry I implemented with a flag, except I had to do --compile with it defaulting to true because hardhat doesn't actually handle parameters very well and if you use --no-compile, you have to specify a boolean with it (so you'd have to type --no-compile true.

Did you try addFlag?
https://github.com/nomiclabs/hardhat/blob/456b685e279602611fce67599d43f0ed033f88be/packages/hardhat-core/src/builtin-tasks/console.ts#L14

addFlag seems to work.  Merging, I will make the change.

See commit 4a5ad3391a38147fce252c2336c81f6a48113965.  Released in 2.3.0.

Thanks! I didn't know about addFlag


Bugfix/color contrast

Checklist

[x] the contributor license agreement is signed
[x] commit message follows commit guidelines

Description of change

#1432

Looks okay, but can you confirm things still look okay in the old UI with changes direct to things like the zebratables CSS file?

I had a brief look in the old ui.  Looks ok everywhere I looked. But any further oddities will be revealed in testing


Custom error messages

Is there a way to hook into the validation error messages to provide custom ones?
This would be useful for client-side validation when the errors are user-facing and might need to be translated.

@RyanMcDonald do you have a proposed API?

@vriad I was envisioning something like Yup's locale dictionary or their typeError method.

I think the typeError is good 👍
It could be combined with #37, to add a method typeError(ErrorMsg<Type>) to ZodType.

Another, possibly easier solution would be to expand on the ZodError class to include something like a validation key that we can use to determine what message to show.

That is probably the solution I'd go with. You can already get the path of the error, which can tell you, say, which property of the object didn't pass validation. What other information would you be looking for in this "validation key"?

Also @RyanMcDonald I just implemented custom validations which do support custom error messages.

What other information would you be looking for in this "validation key"?

We would need to know what type of validation failed. For example, given this error object:
{
  "path": [ "name", "last" ],
  "message": "Non-string type: number"
},

We wouldn't be able to translate that because we're only given a message. We don't know which rule failed. However, if it were something like this:
{
  "path": [ "name", "last" ],
  "message": "Non-string type: number",
  "type": "non-string"
},

Then we could index that in our translations file:
"validation_errors.type.non-string": "Non-string type: {givenType}"

try {
  person.parse({
    name: { first: 'Dave', last: 42 },
    age: 'threeve',
    address: ['123 Maple Street', {}],
  });
} catch (err) {
  const errorMessages = err.errors.map(error =>
    translate(`validation_errors.type.${error.type}`, { givenType: typeof _.get(error.path, person) }
  );
  console.log(errorMessages);
}

That is probably the solution I'd go with. You can already get the path of the error, which can tell you, say, which property of the object didn't pass validation. What other information would you be looking for in this "validation key"?

@vriad what about to allow override custom error for example in a way joi does https://hapi.dev/module/joi/api/?v=17.1.1#anyerrorerr
Custom validator is absolutely great feature but there is still not a way to communicate error to the customer:

Errors could not be handled path is necessary part of error but hardcoded messages are hardly could be processed :(
There is no straight forward way to internationalise errors
It would be pretty straightforward to allow to assign custom payload to errors so consumers will be able to solve their use cases in the most flexible manner
Customers should have an ability to customize error not only on refine level

Late night proposal :)
export abstract class ZodType<Type, Def extends ZodTypeDef = ZodTypeDef> {
public error(errorPayload: object|string) {
    this._def.customErrorPayload  = errorPayload;
    return this;
}
}

So customer will be able to run something like:
const userSchema = z.object({
        firstname: z.string().error({message: 'You are not able to leave firstname empty'}),
        lastname: z.string().refine(val => val.startsWith('Z'))..error({message: 'Lastname should start with Z letter', type: 'IncorrectFirstLetter', detail: {firstLetter: 'Z'}})
});

and as the result error will contain assigned attributes so consumer will be able to customize his UI in any manner.

WIP proposal
https://github.com/vriad/zod/pull/54/commits/c98d7d82b362e0da4275a19bb809768f56179a62

Hi Artem,
I've spent quite a bit of time looking into your solution and the approaches of many other libraries.
I really appreciate the effort you put into this, but I don't think it's the best approach. The appeal of the chainable/fluent interface is that you can compose a bunch of validation checks easily. For example:
z.number().refine(x => x > 5).refine(x => x < 12)

Zod's approach to error handling must make it easy to know which of these validations is failing. That's why I endorsed the "validation key" approach ("error code" is probably a better term) described by @RyanMcDonald.
Your solution (while admirably flexible) quashes that granularity; any schema with a customError set in its def can only return a single error. This is true also for schemas with multiple chained calls to .refine, like my example above.
Unfortunately I didn't have time this weekend to implement this, but hopefully I will sometime this week. I want to rewrite Zod such that it never deals with error messages, only error codes (e.g. not_a_number, nonempty_array_is_empty, etc). Converting those codes into error messages can be done by the consumer externally from Zod.

Are there any updates on the status of this issue? I'm loving the library so far, but I'm at a bit of a sticking point with customer-facing error messages and this seems like a fix that's already in the works.

@Kurnett I'll publish a beta version in the next couple hours. I've been holding off until the testing and documentation are more complete but you should be able to start using it.

Wow, that was fast. Thanks! Looking forward to trying it out.

Just published the full overhaul of the error handling system to the beta branch.

Install using yarn add zod@beta
To see the appropriate version of the README, make sure you're looking at the beta branch no GitHub: https://github.com/vriad/zod/tree/beta
There is now a dedicated guide to error handling here: https://github.com/vriad/zod/blob/beta/ERROR_HANDLING.md

Everyone who's been needing this, play around with it and let me know if you have any feedback or ideas 👍
@RyanMcDonald @ozimos @blackrabbit99 @antonku @pierreis @chrbala @brabeji @tuchk4 @mlznlv @hvorostyan @bo-ora @paul-sachs @richdouglasevans @danbergelt @ervasive @xjrk58

This is now in master and published in<EMAIL_ADDRESS>so I'm gonna close.


Rework leptos_axum generate_routes() to not be asyn

There's no reason that the generate_route_list() function needs to run the inner function inside a LocalSet, and this doesn't need to be async. Noting this here for myself to return to

Couple thoughts:

Re: LocalSet: I think you're now correct. Initially it needed to be done because generate_route_list() is basically a render of /, so any resources created would try to spawn local tasks as usual and panic because there was no LocalSet. I think I actually turned off resources running during generate_route_list() at some point because it makes little sense. So this should now be fine.
Re: async — If there's a good argument about a situation where someone needs to run generate_route_list() but can't do it async, I guess I'd be open to it. But I'm imagining a situation like someone deciding to do file-based routing in the future and wanting to do async file I/O or something. Or say we decide to build in static site generation, and need to read from the DB to generate routes. (Idk.) Removing async from the function signature now would be a breaking change now, and if we ever did need it to be async, adding it back would be another breaking change. So it seems fine to me to leave it, unless there's a reason it actually needs to be sync, rather than just that it doesn't need to be async.


ARM image in IBM Container Registry

Is there any chance the IBM Container Registry to host also arm64 variant ? It will make the life of M1-3 CPU owner much easier ? :-)

There is always a chance :)  It's not something we're actively working on at the moment though.  One bit of good news (as a Applie silicon Mac user myself), is that Podman 5.x fixes the bugs with emulation, which means you can run the amd64 image on arm64 now.  This works for me on Podman 5.1.1:
podman run --platform=linux/amd64 --rm -ti -e LICENSE=accept icr.io/ibm-messaging/mq

We use it in our component tests (Testcontainers with Docker), would be nice to have a native image for arm64 in addition.

Actually I was going to write that. We also use it for testcontainers tests, and I've prepared a docker image with all the queues and settings in order to be easy to write integration tests, but I cannot automate the multiplatform building of a new version, because I'm forced to do two images, one for arm and one for amd.
Also in the tests we are doing some weird stuff for the image name -> (System.getProperty("os.arch").equals("aarch64") ? "<IP_ADDRESS>-arm64" : "latest"). We have like 80/20 arm vs amd dev machines.
We are also using docker-compose in order to have local setup for local development and because of the two images we cannot use SB support for docker compose, which greatly simplifies the local setup and the development cycle.

Note that only MQ Advanced for Developers is available on arm64.  Please be aware that there are restrictions on the use of MQ Advanced for Developers, such as it only being for a single user on a machine "accessible and used by no more than one developer": https://www.ibm.com/support/customer/csol/terms/?id=L-CLXQ-ADXTK3&lc=en. I believe you can purchase cheaper non-production licenses for test pipelines.  I'm not implying anything here, just FYI.
Thanks for feedback, which is always useful to hear, because unless we hear about people wanting this, it is never likely to bubble up the list of priorities.

Can MQ Advanced for Developers support Kunpeng 920 CPU which is Arm-based server CPU. Architecture is ARMv8.2
https://www.hisilicon.com/en/products/Kunpeng/Huawei-Kunpeng/Huawei-Kunpeng-920

There is no formal support for arm64 at all.  There is a build of MQ Advanced for Developers available, but it only receives limited testing.  I believe it might target ARM v8, and should work on ARM v9, but there are no guarantees.

Would love to see MQ for Developers image in MQ container registry for amd/arm. Any plans for that in future release ?

No plans for that at this time.


Modify installation command using scoop

As this suggests, you need to provide a name when adding a bucket:
scoop bucket add <name-of-bucket> <location-of-git-repo>

the scoop command in the readme doc doesn't work:
> scoop bucket add https://github.com/Br1ght0ne/scoop-bucket
Unknown bucket 'https://github.com/Br1ght0ne/scoop-bucket'. Try specifying <repo>.
usage: scoop bucket add <name> [<repo>]

Please have a look when it's convenient for you :)


SNOW-1230490: Allow Snowpark Function to define returns as name-type list

Description
We are investigating usage of Snow CLI 2.1.0 in our project in which we have UDTF defined.
Right now returns property of Snowflake Function definition has str type. So we have to use a workaround defining returns: "table (id int, name string)".
I think it may be useful to allow name-type list to be specified the same way as for signature property:
...
returns:
  - name: id
    type: int
  - name: name
    type: string
...

Context
No response

Thanks for the proposal @kokorin! Happy to brainstorm on that one. Will simply changing the returns to list be enough? I have a feeling we would need to consider something like
returns:
   return_type: table
   columns:
       - name: "foo"
          type: "string"

returns:
   return_type: value
   type: "string"

What do you think?

@sfc-gh-turbaszek to be honest return_type is confusing especially in second case. May be it could be better to have another top-level list in snowflake.yml:
definition_version: 1
  snowpark:
    functions:
      - name: my_udf
        # other props
        returns: string
    table_functions:
      - name: my_udtf
        # other props
        returns:
          - name: id
            type: int
          - name: name
            type: string
    procedures: [ ... ]

In that case it will be possible to validate signature


Closes #234 Blog Post: How I Rebuilt a Lost ECG Data Script in R

Thank you for your Pull Request! We have developed this task checklist to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your blog post.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the main branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update), and make sure the corresponding issue is linked in the Development section on the right hand side
[x] Ensure your new post folder is of the form "posts/zzz_DO_NOT_EDIT_<your post title>". This is so that the post date can be auto-updated upon the merge into main.
[x] Run the script from CICD.R line by line to first check the spelling in your post and then to make sure your code is compatible with our code-style. Address any incongruences by following the instructions in the file!
[x] Choose (possibly several) tag(s) or categories from the current list:  c("Metadata", "SDTM", "ADaM", "TLG", "Shiny", "Community", "Conferences", "Submissions", "Technical") for your blog post. If you cannot find anything that fits your blog post, propose a new tag to the maintainers! Note: if you use a tag not from this list, the "Check Post Tags" CICD pipeline will error. We occasionally tidy up all tags for consistency.
[x] Add a short description for your blog post in the description field at the top of the markdown document.
[x] Blog post is short, personalized, reproducible and readable
[x] Add a disclaimer at the top of your post, if appropriate (example: Disclaimer
This blog contains opinions that are of the authors alone and do not necessarily reflect the strategy of their respective organizations.)
[x] Address all merge conflicts and resolve appropriately
[x] Assign two of us (@bms63, @manciniedoardo, @StefanThoma, @kaz462) as reviewers in the PR.
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

@reviewers: I will work with @vbshuliar for a first review cycle and once that is complete please feel free to add your own comments as well.

@manciniedoardo I've added a bit of explanation for some of the eg script code bits to the post. Also, locally I am not getting any spelling errors. They are only in the pipeline.

@manciniedoardo ,
Please check out the new version of the post. I tried to take all the recommendations into account.

@manciniedoardo I took all your feedback into account and prepared a new version of the post. Please, check it.

@manciniedoardo Please, check the new version with all the recommendations implemented.


Security Vulernabilities

Check some TODO messages in app.py for potential security vulnerabilities:
# TODO: Add the SECRET_KEY configuration to the app object.
# TODO: security vulnerability - check the message before broadcasting it to all clients.

One vulnerability is fixed. The other still needs to be fixed

Another potential security vulnerability described here:
https://stackoverflow.com/questions/24058157/socket-io-node-js-cross-origin-request-blocked


Insert URL to specific pages

We could detect there were changes to specific files (via #3) and insert direct links to those documentation pages as well. For example, if the file docs/page/section.rst was modified, we could insert the link https://readthedocs-preview--1.org.readthedocs.build/en/1/pages/section.html
There are some notes to mention:

we need to know where is the root directory that matches the root of the URL (in this case, we need to remove docs/ from the filename)
the URL is a pretty URL (/pages/section/ or /pages/section.html)
support user-configurable amount of links (with a small default), to avoid flooding in case of many files changed

It will be super-useful to have a list of <Section title>: <URL>
Also to handle the special case: No changes in docs. Most PRs (unfortunately) don't contain documentation changes. This will be interesting to explore in the future. If, however, there is automated API docs, we might have a situation where almost all PRs generate really cool and meaningful links.

It will be super-useful to have a list of <Section title>: <URL>

Getting the title correctly may be a little harder to do. However, I'd assume we can get the h1 from each of the modified files/pages and use that.

Also to handle the special case: No changes in docs. Most PRs (unfortunately) don't contain documentation changes. This will be interesting to explore in the future. If, however, there is automated API docs, we might have a situation where almost all PRs generate really cool and meaningful links.

I'm not sure to follow this. Can you expand this and give an explicit example of how it would work, please?

I'm not sure to follow this. Can you expand this and give an explicit example of how it would work, please?

So these are more scenarios of what can happen with the list:
Scenario 1: Some documentation pages got updated (the intended scenario)
User modified or added a .md or .rst file: We create a nice little list corresponding to the pages that have been changed such that the user may click directly to the section of the docs that were modified/added.
Scenario 2: No changes! (or everything changed or we have no idea)
We have built the docs again but actually we don't have any changes to list? Perhaps no files were edited and the documentation is completely unchanged, so we shouldn't "disturb" the PR reader with links? Perhaps a configuration file was edited but nothing detectable changed? Perhaps the footer was changed and everything is updated?
Scenario 3: Everything changed!
We detect that all pages have changed, perhaps because we correctly see that the footer or configuration or navigation structure is affected.
Scenario 4: API docs changed
Nothing in the documentation pages have changed, but the automatically generated API docs have changes.

@benjaoming it seems you are describing exactly what we have discussed already in https://github.com/readthedocs/readthedocs.org/issues/8545
This problem is pretty complex to solve correctly for all the users under all these scenarios and that's why we haven't built it yet. Due to its complexity, I do not want to solve this problem on this simple action itself. I think it would be enough for most cases if we can just put the links for all the pages matching documentation files modified in the PR.
People will always have the link to the index itself in case they want to dig more on the other pages that may have been modified because of a code change, for example.

Just noting that:

this would definitely be useful
I agree that "just give a list of the URLs for changed pages" would be 80% of the way there and an excellent first step
you might put that list in a "details" block if it gets too long

@humitos I believe that conditional builds are different from this issue because here, we are trying to detect the changes post-build while #8545 tries to detect changes pre-build.

@benjaoming

we are trying to detect the changes post-build while #8545 tries to detect changes pre-build.

This is not exactly how the GitHub Action works now, tho. We could execute the action only after the build has finished and succeeded. However, in that case, I'm not sure what extra information will we have available in that case currently: there is no API that exposes what files have changed in the documentation output or similar. How are you thinking that post-build will give us more useful data here?

Sorry I should have presented that (wrong) assumption earlier. In this case, it's much more like #8545. I like the idea of solving these two issues at the same time, both predicting when to build and what URLs will change. There's a lot of developers'+server time to be won if we can get our predictions right in >90% of cases.

Hi hi! This would be useful for Python PEPs repository as well as the Python devguide, where this would make the reviewer process easier by eliminating the need to navigate to the specific PEP/page that has been modified in the PR!
If this is something where all the information needed to detemine the relevant URL is already available (or something you'd be OK having explicit configuration for), that would be useful to know since someone (maybe me) from the community could contribute the logic change for that. :)

@pradyunsg

If this is something where all the information needed to detemine the relevant URL is already available (or something you'd be OK having explicit configuration for)

Some of the relevant information is present, but some of it has to be explicitly defined by the user setting up the GHA I'd say. GHA provides the files that were modified in the repository (e.g. using github.rest.pulls.listFiles inside the action) but we will need to know "what's the logic to convert that file into a URL".
That logic will depend on the doctool used (MkDocs, Sphinx, Docusaurus, etc) and also on the options specified in the doctool itself (e.g. "pretty URL" --ending with .html or not). I think we can have these logics hardcoded in the GHA itself and ask the user for the missing pieces of configurations so we can effectively generate the URL based on the filename. It may not work for all the cases, but covering the most common ones would probably be enough for the first version 😄
I don't think I will have the time to prioritize this work sooner, but I'd be happy to help with reviews 🧐  and directions ⤴ if someone wants to jump into this.

We start talking about a potential implementation for this feature at https://github.com/readthedocs/readthedocs.org/pull/11507/. I'd love to have your feedback.

File Tree Diff is already implemented and we are testing it in our own docs. You can see an example at https://docs--11751.org.readthedocs.build/en/11751/ that comes from this PR https://github.com/readthedocs/readthedocs.org/pull/11751
We should be able to use the same API endpoint (or similar) to fetch that data and insert it into the PR's description.


Add (e)polling versions of threaded servers

It would be interesting to show the performance difference between servers using epoll/select and servers doing blocking operations, in particular because the Go server is (currently) limited to only doing (e)polling.

The Rust version would probably more idiomatically use https://github.com/carllerche/mio than epoll directly.

Good point.


'create' what should i use instead  deprecated

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

you can keep using it. it may be a mistake of doc.

So the agora quickstart is the latest repository?
Because I've just copied all the quickstart in my app , but it says deprecated,  can you please give me some suggestions or sources to get rid of the problem ?


test/vocabulary: ignore unrecognized optional vocabulary

working fine with implementation https://github.com/santhosh-tekuri/boon
if test looks fine, will add for draft2019-09 also

This looks good. It exposed a bug in my implementation, but it's correct.
@gregsdennis @Julian Should we include this test in draft-next? When we disallow unknown keywords, this test will require code to identify what keywords are in the vocabulary. Even if the vocabulary is optional, it's necessary to know what keywords are in the vocabulary in order to know if they are allowed to be ignored.

I think that depends on how we begin to view the optionality of vocabularies.  Maybe we need a new discussion to determine if they still make sense in an world where unknown keywords are generally forbidden.

I think we add it to draft-next for now since that's the current rule. We can always remove it later.

That's fine with me.

Sounds fine to me too!


State page not working when state code is in lower cases or mix of upper and lower cases

Is your feature request related to a problem? Please describe.
Suppose a person directly types in the url to visit a state page and he types the state code correctly but in lower cases, it should work.
Describe the solution you'd like
Solution is to convert the statecode params in state component to upper case before seeking for state data.
Additional context
Normal

Statecode in lower case

Assign me please if it becomes available.


support peft model quantization with SmoothQuant

Type of Change
feature enhancement
Description
Peft model will use below arch, Linears in Linear cannot be handle right now.
(v): Linear(
  in_features=32, out_features=32, bias=False
  (lora_dropout): ModuleDict(
    (default): Dropout(p=0.1, inplace=False)
  )
  (lora_A): ModuleDict(
    (default): Linear(in_features=32, out_features=8, bias=False)
  )
  (lora_B): ModuleDict(
    (default): Linear(in_features=8, out_features=32, bias=False)
  )
  (lora_embedding_A): ParameterDict()
  (lora_embedding_B): ParameterDict()

BTW,
when IPEX version<=1.13, HistogramObserver doesn't support asym scheme, the zero_point is 0 for asym uint8, while the MinMaxObserver works well.
when IPEX version>=2.0, There is still one incompatibility that the default observer for raw input is not able be reseted by load_qconf_summary due to it's unrecorded.
Also,
IPEX SmoothQuant can only use save/load_qconf_summary once. The save_qconf_summary API will freeze the scale used in model and calibration won't work anymore. The load_qconf_summary will overwrite the scales used in model but only work in the first call.
Expected Behavior & Potential Risk
UT pass
How has this PR been tested?
local test
Dependency Change?
N/A

There is still one incompatibility that the default observer for raw input is not able be reseted by load_qconf_summary due to it's unrecorded. I will sync with IPEX team and resolve it in another PR.


Add outline and outline color

Is it possible to add outline to the theme config and control outline color?

good idea, will do

Great thanks!

second this


preview mode: frequent crash upon reload

In the default scene, after "hot-reloading" with the ECS version 6.6.1-20201009223644.commit-48606a5 unity gets broken 2 every 3 times. I get the following errors:

With a F5

It seems to fail loading some resources:

# both respond 404
http://<IP_ADDRESS>:8000/lambdas/images/QmZbyGxDnZ4PaMVX7kpA2NuGTrmnpwTJ8heKKTSCk4GRJL/256
http://<IP_ADDRESS>:8000/lambdas/images/QmZbyGxDnZ4PaMVX7kpA2NuGTrmnpwTJ8heKKTSCk4GRJL/128

I don't attach any code since it fails with the default code for a blank scene.
Update
It works every time if I click on the page before unity loads. It enables the audio context and doesn't fail. The 404 seems to not affect this specific error. @pablitar
Update 2
It keeps failing at random places.

I've seen this issue (the abnormal situation in the game loop one) pop up from time to time not only on preview, but also running the explorer locally. But it was quite infrequent (Maybe once or twice last week).
Looks like some kind of race condition. But I'm not sure where to look honestly.

https://github.com/decentraland-scenes/bowling-cannon here it is the sources I used in case anyone wants to test it. Is there a way to run WSS on preview scenes?

I couldn't reproduce it anymore, neither in the browser nor unity editor.

Tried with an existent dcl preview scene with and without unity editor, using decentraland-ecs@next and couldn't reproduce the issue
Tried with a newly created dcl scene, with both decentraland-ecs@next and decentraland-ecs@latest and couldn't reproduce the issue

In both tests tried browser refreshing and also hot-reloading.

Just as an FYI, this has come and gone before
https://github.com/decentraland/explorer/issues/1155

This was a chrome issue and was already fixed last week. We should close this issue?

chromium bug thread: https://bugs.chromium.org/p/v8/issues/detail?id=10957
unity thread: https://forum.unity.com/threads/webgl-player-broken-on-chrome-86-0-4240-75-unity-2019-4-12f1-lts.985397/


fix: mark Virtual Workspaces capability as unsupported

shellcheck extension depends on local shellcheck binary that is not available on virtualWorkspaces.
see also:

https://code.visualstudio.com/api/references/extension-manifest
https://code.visualstudio.com/api/extension-guides/virtual-workspaces#signal-whether-your-extension-can-handle-virtual-workspaces

@bugrasan thanks a ton, for some reason I didn't see your PR earlier.


Build issues...

When I try to build yalu102.app in Xcode 8.2, I get a lot of kernel linking errors

Add the headers

I did

We need more info, what did you do?

I added these: https://github.com/obaby/IOKit, anything else i should add
On Wed, Jan 25, 2017 at 2:48 PM Daniel Wang<EMAIL_ADDRESS>wrote:

We need more info, what did you do?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kpwn/yalu102/issues/8#issuecomment-275257692, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANSWfM1A6xmN2iUnH5qpbP1DADHI8Rf2ks5rV9FagaJpZM4LuFy2
.

Is this supported for iphone 6

64-bit = iPhone 5S and above. So yes, it is supported
On Wed, Jan 25, 2017 at 4:16 PM matthewsamuel2002<EMAIL_ADDRESS>wrote:

Is this supported for iphone 6
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kpwn/yalu102/issues/8#issuecomment-275274139, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANSWfL-tIqfwEml6ZwJXHC_rCp-vIAgAks5rV-X4gaJpZM4LuFy2
.


Upgrade Betamax to >=0.8

The new version broke our tests (maybe related to the cassettess
compabilities). I then removed all cassettes and ran the tests to regenerate
them.

A late 👍 from me, we had a race condition on this PR 😆


feat(examples): Generate Block Traces

Description
Upstreams an example to generate block traces. (WIP)

TODO: the bufwriter is currently not flushed before it is dropped as part of the eip 3155 tracer.


Scrum team 40/implement share button

Ticket(s)
Required unless this is just a change to documentation.
- [Replace with link to Airtable ticket]
Type of change
Please delete any options that are not relevant

[x] Design change
[x] New feature (non-breaking change which adds functionality)

Description
This was to implement a share button on the first page of the calculator and the last page of the calculator. Clicking would bring up a pop-up that would allow the user to decide how to share
Fixes # replace with issue number that this fixes
Screenshots
Include relevant screenshots.
Please include a screenshot of the Figma design file
url- https://www.figma.com/file/icusYj7kJl2xmYkudIZEG4/CV-Current-Design-Files?type=design&node-id=302-85&mode=design&t=CoxFYbwoCMKYvPL5-0

Before

After

Checklist:
Please delete any options that are not relevant

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] There are no new linting errors in my code
[x] I have filled this PR out fully, and cleaned up any extraneous items so that it is clear and easy to understand

Changes were requested 2 weeks ago. No movement since, closing PR


Use multiple processes while building.

This uses a number of jobs equal to the number of builders.
@angelini @solackerman @kmtaylor-github

+1 to cryptic flags

Also +1 to a way to select the number of concurrent jobs that works reasonably well across machines with different numbers of processors :P