armeabi-v7a assembler error

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
No
Source
source
Tensorflow Version
v2.12.0-rc1
Custom Code
No
OS Platform and Distribution
Ubuntu 22.04
Mobile device
N/A
Python version
N/A
Bazel version
Using CMake
GCC/Compiler version
Clang, NDK 25b
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
Building tensorflow lite (v2.12.0-rc1) for Android armeabi-v7a using CMake and NDK 25b, I get the following invalid assembly code error:
tflite-runtime/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3/cmake_build/xnnpack/src/xnnpack/math.h:311:13: error: invalid output constraint \'=t\' in asm\n      : [i] "=t" (i)

The cause is here (a more recent freeze) https://github.com/google/XNNPACK/blob/test_515720556/src/xnnpack/math.h#L332
Android arm64-v8a builds and runs without error. With an earlier tensorflow lite version (v2.8.0) both armeabi-v7a and arm64-v8a built and ran without error.
As I read it '=t' is documented as a valid constraint for "ARM family", but the assembler thinks this is not the case.
https://gcc.gnu.org/onlinedocs/gcc/Simple-Constraints.html#Simple-Constraints
https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints
Support at XNNPACK said a compiler flag -mfpu=vfp is required to enable the assembly code https://github.com/google/XNNPACK/issues/4348#issuecomment-1445437613 , and that the flag was set. Then suggested without reference that this was a Clang bug, and did not offer a workaround.
Further investigation suggested Clang was not the issue https://github.com/google/XNNPACK/issues/4348#issuecomment-1465060489
The CMake build script covers eight conditions for various arm 32 bit devices. Only two of these (both -march=armv6) set the required flag. The -mfpu=vfp flag is not set for -march=armv7-a, which I suspect is the cause of this issue. https://github.com/google/XNNPACK/blob/master/CMakeLists.txt#L546-L553
XNNPACK support responded, but we did not communicate successfully (as shown by https://github.com/google/XNNPACK/issues/4348#issuecomment-1465103944  and https://github.com/google/XNNPACK/issues/4348#issuecomment-1465259707) ; and we did not get a resolution. Since tflite depends on XNNPACK, I look for resolution here. Thank you.

### Standalone code to reproduce the issue

```shell
This is a build issue, no extra code.

Relevant log output
tflite-runtime/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3/cmake_build/xnnpack/src/xnnpack/math.h:311:13: error: invalid output constraint \'=t\' in asm\n      : [i] "=t" (i)

Hi,
Is there any way to track  stat:awaiting tensorflower ?
Thanks

Hi, Any update or information will be posted in this issue thread.

Hi @RobertFlatt
I have tried to build for armeabi-v7a using the android cross compilation build instructions on r2.12 and was able build successfully without any error. Please find the screenshot below.

With XNNPACK using the command
cmake -DCMAKE_TOOLCHAIN_FILE=android-ndk-r25/build/cmake/android.toolchain.cmake  -DANDROID_ABI=armeabi-v7a tensorflow/lite -DTFLITE_ENABLE_XNNPACK=ON
Can you please let us know if you are still facing the issue?
Thanks.

Can you please let us know if you are still facing the issue?

yes ☹

I can replicate your response (I used git clone -b v2.12.0 --single-branch https://github.com/tensorflow/tensorflow.git tensorflow_src and ndk 25b), but  a following cmake --build . -j fails with the same issue that was reported in the original post:

In file included from /home/bobf/ex/tflite_build/xnnpack/src/qc8-gemm/gen/qc8-gemm-1x1c4-minmax-fp32-armsimd32.c:15:
/home/bobf/ex/tflite_build/xnnpack/src/xnnpack/math.h:316:13: error: invalid output constraint '=t' in asm
      : [i] "=t" (i)

FYI my use case is slightly different as I am building a pip package for Python (yes, on Android), but the use case in your post illustrates presumably the same issue.

I was able to replicate on r2.13 branch:
cmake -DCMAKE_TOOLCHAIN_FILE=~/Android/Sdk/ndk/25.2.9519653/build/cmake/android.toolchain.cmake  -DANDROID_ABI=armeabi-v7a ../tensorflow/lite -DTFLITE_ENABLE_XNNPACK=ON
cmake --build . -j

...
gmake[2]: *** [_deps/xnnpack-build/CMakeFiles/microkernels-all.dir/build.make:16694: _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/qs8-igemm/gen/qs8-igemm-1x2c4-minmax-fp32-armsimd32.c.o] Error 1
In file included from In file included from /usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/qu8-gemm/gen/qu8-gemm-1x1c4-minmax-fp32-armsimd32.c/usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/qs8-vlrelu/gen/qs8-vlrelu-armsimd32-x4.c::1515:
:
/usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/xnnpack/math.h:332:13/usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/xnnpack/math.h: :332:error: 13: invalid output constraint '=t' in asm
error: invalid output constraint '=t' in asm
      : [i] "=t" (i)
            ^
      : [i] "=t" (i)
            ^
gmake[2]: *** [_deps/xnnpack-build/CMakeFiles/microkernels-all.dir/build.make:16680: _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/qs8-igemm/gen/qs8-igemm-1x1c4-minmax-fp32-armsimd32.c.o] Error 1
1 error generated.
1 error generated.
1 error generated.
gmake[2]: *** [_deps/xnnpack-build/CMakeFiles/microkernels-all.dir/build.make:16554: _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/qc8-gemm/gen/qc8-gemm-2x2c4-minmax-fp32-armsimd32.c.o] Error 1
gmake[2]: *** [_deps/xnnpack-build/CMakeFiles/microkernels-all.dir/build.make:16666: _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/qs8-gemm/gen/qs8-gemm-2x2c4-minmax-fp32-armsimd32.c.o] Error 1
In file included from /usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/qs8-vlrelu/gen/qs8-vlrelu-armsimd32-x8.c:15:
/usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/xnnpack/math.h:332:13: error: invalid output constraint '=t' in asm
      : [i] "=t" (i)
            ^
1 error generated.
gmake[2]: *** [_deps/xnnpack-build/CMakeFiles/microkernels-all.dir/build.make:16708: _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/qs8-igemm/gen/qs8-igemm-2x1c4-minmax-fp32-armsimd32.c.o] Error 1
In file included from /usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/qu8-igemm/gen/qu8-igemm-1x1c4-minmax-fp32-armsimd32.c:15:
/usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/xnnpack/math.h:332:13: gmake[2]: *** [_deps/xnnpack-build/CMakeFiles/microkernels-all.dir/build.make:16736: _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/qs8-vcvt/gen/qs8-vcvt-armsimd32-x4.c.o] Error 1
error: invalid output constraint '=t' in asm
gmake[2]: *** [_deps/xnnpack-build/CMakeFiles/microkernels-all.dir/build.make:16750: _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/qs8-vcvt/gen/qs8-vcvt-armsimd32-x8.c.o] Error 1
      : [i] "=t" (i)
            ^
In file included from /usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/qu8-gemm/gen/qu8-gemm-2x2c4-minmax-fp32-armsimd32.c:15:
/usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/xnnpack/math.h:332:13: error: invalid output constraint '=t' in asm
      : [i] "=t" (i)
            ^
1 error generated.
1 error generated.
In file included from /usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/qu8-vcvt/gen/qu8-vcvt-armsimd32-x4.c:15:
/usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/xnnpack/math.h:332:13: error: invalid output constraint '=t' in asm
gmake[2]: *** [_deps/xnnpack-build/CMakeFiles/microkernels-all.dir/build.make:16596: _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/qc8-igemm/gen/qc8-igemm-2x1c4-minmax-fp32-armsimd32.c.o] Error 1
      : [i] "=t" (i)
            ^
In file included from /usr/local/google/home/pisethk/tensorflow/tflite_build/xnnpack/src/qu8-vlrelu/gen/qu8-vlrelu-armsimd32-x4.c:15:

There seems to have been some analysis
https://github.com/google/XNNPACK/issues/4775#issuecomment-1542579254
and
https://github.com/google/XNNPACK/issues/4775#issuecomment-1542725430
But I can't see (I'm outside Google) if this has resulted in an updated implementation.....
And I can infer from some of those posts 'just wait for some future NDK where some future Clang will be fixed',  I would consider that an insufficient response.

@RobertFlatt
Does the recommended work around in both those threads suffice for you so far?

Hi @RobertFlatt
Android NDK version=25 is actually not currently supported, the official documentation https://www.tensorflow.org/lite/android/lite_build currently recommends version 21e.
Can you try with that version instead?

@pkgoogle
Thanks for your interest.
For the recommended workaround https://github.com/google/XNNPACK/issues/4775#issuecomment-1571617394 -DXNNPACK_ENABLE_ARM_BF16=OFF :
The compile flag does enable an error free compile with the test case above, which is a good first step.
But I'm still exploring unexpected issues.
For example the value of the flag (ON/OFF) is ignored, the flag's presence disables the bogus assembly code error - the argument is always interpreted as OFF.
So maybe this will be usable, I need to do more testing.
But I still think the project build script should implement the fix. Because the long term viability and side effects of a workaround are not visible to an end user. And the core issue which is build interaction with Clang is clearly in the domain of the tool developers.

Android NDK version=25 is actually not currently supported, the official documentation https://www.tensorflow.org/lite/android/lite_build currently recommends version 21e.

I think the referenced page has bit rot.
The default NDK is 25c as shown here https://developer.android.com/ndk/downloads
This is confirmed by the tflite CMake build which defaults to 25c if an NDK is not set.
I use 25c.

Hi @RobertFlatt,
While there is always some bit rot in documentation, I have confirmed that that part is accurate. We more or less only support NDK 19, 20, 21. We do not currently support NDK version=25 for now, as such we can't help with this issue unless we are seeing this issue with the recommended version.

We do not currently support NDK version=25 for now,

This statement is clearly wrong.

Hi @RobertFlatt ,
Please check the below configuration file which mentions about the supported NDK versions.
https://github.com/tensorflow/tensorflow/blob/6088a22ddb8fc299d18a34596b91ccf077b86b17/configure.py#L38-L41

@sachinprasadhs
OK, but that is NDK versions for Bazel https://github.com/tensorflow/tensorflow/blob/master/configure.py#L737-L738
The issue at hand is CMake.
The following simple tests use Tensorflow v2.13.0-rc1
Moving away from the issue at hand we use arm64-v8a to test CMake builds with 3 NDKs
Both NDK LTS r25c and r23b build without error, try:
cmake  -DCMAKE_TOOLCHAIN_FILE=../android-ndk-r25c/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a  ../tensorflow_src/tensorflow/lite
cmake --build . -j

cmake  -DCMAKE_TOOLCHAIN_FILE=../android-ndk-r23b/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a  ../tensorflow_src/tensorflow/lite
cmake --build . -j

However r19c fails with

clang: error: the clang compiler does not support '-march=armv8.2-a+bf16'

cmake  -DCMAKE_TOOLCHAIN_FILE=../android-ndk-r19c/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a  ../tensorflow_src/tensorflow/lite
cmake --build . -j

You can easily validate this for yourself using the commands above.
Returning to the issue at hand we use armeabi-v7a and CMake to test the proposed workaround
The proposed workaround -DXNNPACK_ENABLE_ARM_BF16=OFF
cmake  -DCMAKE_TOOLCHAIN_FILE=../android-ndk-r25c/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DTFLITE_ENABLE_XNNPACK=ON -DXNNPACK_ENABLE_ARM_BF16=OFF ../tensorflow_src/tensorflow/lite
cmake --build . -j

But this fails in the usual asm : [i] "=t" (i) way.
Presumably I don't understand how to use the workaround.
Please explain how to use -DXNNPACK_ENABLE_ARM_BF16=OFF  , and if you could test the explaination as well that might save us some back and forth. Thank you.

Further investigation reveals -DXNNPACK_ENABLE_ARM_BF16=OFF does not workaround the issue.
And we should not expect it to because this is defined in the default armeabi-v7a build behavior https://github.com/google/XNNPACK/blob/master/scripts/build-android-armv7.sh#L59 and we know the default fails to build.
Not clear why it was suggested as a workaround, as it clearly has no impact.
This not-a-workaround was apparently suggested here https://github.com/google/XNNPACK/issues/4775#issuecomment-1571617394 by the same account that provided non-resolutions to this issue here https://github.com/google/XNNPACK/issues/4348#issuecomment-1465093478 , and here https://github.com/google/XNNPACK/issues/4348#issuecomment-1465239898 , and (in retrospect) here https://github.com/google/XNNPACK/issues/4348#issuecomment-1445437613 . Two of these non-resolutions are referenced in the first post in this issue.
Enough already! Please, a resolution.

@terryheo can you please take a look? Also can we verify NDK supported versions for CMake Android workflow?

@pkgoogle
5 weeks have passed, any clarity on this issue?

Trying to compile on v2.15.0, with NDK 25c (officially supported now I believe) and running into the same problem.
Applying the fixes from https://github.com/microsoft/onnxruntime/commit/8d298f6f78f3280ece8d42ddb50caa6e81a6826f to XNNPACK's CMakeLists.txt gets me past the first issue, but the build then later fails on XNNPACK microkernel compilation with below (rather cryptic) error:

Long cryptic error (click me)
[ 23%] Building C object _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c.o
fatal error: error in backend: Cannot select: 0x83465a8: v4bf16 = ARMISD::VEXT 0x836ab38, 0x836ab38, Constant:i32<2>, xnnpack/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c:119:22
  0x836ab38: v4bf16,ch = CopyFromReg 0x84e41b8, Register:v4bf16 %54, xnnpack/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c:117:9
    0x851e1f0: v4bf16 = Register %54
  0x836ab38: v4bf16,ch = CopyFromReg 0x84e41b8, Register:v4bf16 %54, xnnpack/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c:117:9
    0x851e1f0: v4bf16 = Register %54
  0x836afb0: i32 = Constant<2>
In function: xnn_bf16_gemm_minmax_ukernel_1x4c8__neonbf16_bfdot
PLEASE submit a bug report to https://github.com/android-ndk/ndk/issues and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /home/peter/dev/sandbox/tensorflow/android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=armv7-none-linux-androideabi26 --sysroot=/home/peter/dev/sandbox/tensorflow/android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DEIGEN_MPL2_ONLY -DFXDIV_USE_INLINE_ASSEMBLY=0 -DNOMINMAX=1 -DPTHREADPOOL_NO_DEPRECATED_API=1 -DXNN_ENABLE_ARM_BF16=1 -DXNN_ENABLE_ARM_DOTPROD=1 -DXNN_ENABLE_ARM_FP16_SCALAR=1 -DXNN_ENABLE_ARM_FP16_VECTOR=1 -DXNN_ENABLE_ARM_I8MM=1 -DXNN_ENABLE_ASSEMBLY=1 -DXNN_ENABLE_CPUINFO=1 -DXNN_ENABLE_DWCONV_MULTIPASS=0 -DXNN_ENABLE_GEMM_M_SPECIALIZATION=1 -DXNN_ENABLE_JIT=0 -DXNN_ENABLE_MEMOPT=1 -DXNN_ENABLE_RISCV_VECTOR=1 -DXNN_ENABLE_SPARSE=1 -I/home/peter/dev/sandbox/tensorflow/tensorflow-2.15.0/third_party/xla/third_party/tsl -I/home/peter/dev/sandbox/tensorflow/build_2.15.0_ndk_25c_armeabi-v7a/opencl_headers -I/home/peter/dev/sandbox/tensorflow/build_2.15.0_ndk_25c_armeabi-v7a/vulkan_headers/include -I/home/peter/dev/sandbox/tensorflow/tensorflow-2.15.0/tensorflow/lite/delegates/gpu/common -I/home/peter/dev/sandbox/tensorflow/tensorflow-2.15.0/tensorflow/lite/delegates/gpu/common/task -I/home/peter/dev/sandbox/tensorflow/build_2.15.0_ndk_25c_armeabi-v7a/xnnpack/src -I/home/peter/dev/sandbox/tensorflow/build_2.15.0_ndk_25c_armeabi-v7a/pthreadpool-source/include -I/home/peter/dev/sandbox/tensorflow/build_2.15.0_ndk_25c_armeabi-v7a/FXdiv-source/include -I/home/peter/dev/sandbox/tensorflow/build_2.15.0_ndk_25c_armeabi-v7a/FP16-source/include -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -O3 -DNDEBUG -std=c99 -fPIC -O2 -pthread -fno-math-errno -marm -march=armv8.2-a+bf16 -mfpu=neon-fp-armv8 -MD -MT _deps/xnnpack-build/CMakeFiles/microkernels-all.dir/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c.o -MF CMakeFiles/microkernels-all.dir/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c.o.d -o CMakeFiles/microkernels-all.dir/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c.o -c /home/peter/dev/sandbox/tensorflow/build_2.15.0_ndk_25c_armeabi-v7a/xnnpack/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/home/peter/dev/sandbox/tensorflow/build_2.15.0_ndk_25c_armeabi-v7a/xnnpack/src/bf16-gemm/gen/bf16-gemm-1x4c8-minmax-neonbf16-bfdot.c'.
4.

I was trying to build according to this docs: https://www.tensorflow.org/lite/guide/build_cmake_arm - but it failed. I was trying to use ndk in the same way as you - the same error invalid output constraint '=t' in asm. Bazel built without error.

the same issue, test at r2.16 with ndk:26.1.10909125.

related: https://github.com/google/XNNPACK/issues/6164

Still no solution for this problem?

It's been a year since any meaningful or misleading comments from Google, and 3 months since the original assignee was unassigned. A separate and earlier thread https://github.com/google/XNNPACK/issues/4348 showed the developer responding with what appeared to be misdirection. I started both threads.
I interpret these events as nobody at Google is interested.

aarch64-linux-gnu-gcc -march=armv8.2-a+i8mm+fp16 src/amalgam/gen/neoni8mm.c currently havnig a similar issue. This is so frustrating.

HI @RobertFlatt,
Thanks for raising this issue. Are you aware of the migration to LiteRT? This transition is aimed at enhancing our project's capabilities and providing improved support and focus for our users. As we believe this issue is still relevant to LiteRT we are moving your issue there. Please follow progress here.
Let us know if you have any questions. Thanks.


Only one step can be run

Hello,
I'm trying to use the example, but it runs only the one step of workflow.
In the logs I see:
Connected, awaiting events
2023-01-27 08:35:47 [info] [Fn04LL34CX4M] (Trace=Tr04LQDC6WF7) Function execution started for workflow function 'OpenForm Demo Workflow'
2023-01-27 08:35:48 [info] [Wf04M1L7SRLH] (Trace=Tr04LCR9M4Q7) Executing workflow step 1 of 2
2023-01-27 08:35:48 [info] [Fn010N] (Trace=Tr04LCR9M4Q7) Function execution started for builtin function 'Open a form'
2023-01-27 08:35:55 [info] [Fn010N] (Trace=Tr04LCR9M4Q7) Function execution completed for function 'Open a form'
2023-01-27 08:35:56 [info] [Wf04M1L7SRLH] (Trace=Tr04LCR9M4Q7) Execution completed for workflow step 'Open a form'
2023-01-27 08:35:59 [info] [Fn04LL34CX4M] (Trace=Tr04LCRA4X7Z) Function execution started for workflow function 'OpenForm Demo Workflow'
2023-01-27 08:36:00 [info] [Wf04M1L7SRLH] (Trace=Tr04LQDCLXBP) Executing workflow step 1 of 2
2023-01-27 08:36:00 [info] [Fn010N] (Trace=Tr04LQDCLXBP) Function execution started for builtin function 'Open a form'
2023-01-27 08:36:14 [info] [Fn010N] (Trace=Tr04LQDCLXBP) Function execution completed for function 'Open a form'
2023-01-27 08:36:14 [info] [Wf04M1L7SRLH] (Trace=Tr04LQDCLXBP) Execution completed for workflow step 'Open a form'
^C

I tryied to write my own workflow. It works the same - only one step can be executed. The rest steps were not running.
The code of workflow:
export const workflow = DefineWorkflow({
  callback_id: "test_feedback",
  title: "Feedback",
  description: "test the feedback",
  input_parameters: {
    properties: {
      interactivity: {
        type: Schema.slack.types.interactivity,
      },
    },
    required: ["interactivity"],
  },
});

workflow.addStep(Schema.slack.functions.SendMessage, {
  channel_id: "id",
  message: `**1 You feedback is accepted!**`
})

workflow.addStep(Schema.slack.functions.SendMessage, {
  channel_id: "id",
  message: `**2 You feedback is accepted!**`
})

export default Manifest({
  name: "app-name-123",
  description: "description",
  icon: "assets/default_new_app_icon.png",
  workflows: [workflow],
  outgoingDomains: [],
  botScopes: ["commands", "chat:write", "chat:write.public", "app_mentions:read"],
});

Trigger:
import { Trigger } from "deno-slack-api/types.ts";
import { workflow } from "./manifest.ts";

const trigger: Trigger<typeof workflow.definition> = {
  type: "shortcut",
  name: "Submit a feedback",
  description: "feedback",
  workflow: `#/workflows/${workflow.definition.callback_id}`,
  inputs: {
    interactivity: { value: "{{data.interactivity}}" },
    user_id: { value: "{{data.user_id}}" },
    channel_id: { value: "{{data.channel_id}}" },
  },
};

export default trigger;

In dev mode I see:
Connected, awaiting events
2023-01-27 08:33:53 [info] [Fn04MCJ0MQF2] (Trace=Tr04M60WUK33) Function execution started for workflow function 'Passenger Feedback'
2023-01-27 08:33:54 [info] [Wf04LNPMS2DR] (Trace=Tr04LVRA726Q) Executing workflow step 1 of 2
2023-01-27 08:33:54 [info] [Fn0102] (Trace=Tr04LVRA726Q) Function execution started for builtin function 'Send a message'
2023-01-27 08:33:55 [info] [Fn0102] (Trace=Tr04LVRA726Q) Function execution completed for function 'Send a message'
2023-01-27 08:33:55 [info] [Wf04LNPMS2DR] (Trace=Tr04LVRA726Q) Execution completed for workflow step 'Send a message'
^C

How to run all the steps from workflow?

Hi @krim, thanks for asking the question! At a glance, I cannot suggest anything to your code. If you want to use SendMessage twice so far, starting with this example workflow and editing it like this may be worth trying. It should work for you without any issues, so you may be able to easily identify the issue you're having by checking the difference.
diff --git a/Messaging/workflows/channel_message.ts b/Messaging/workflows/channel_message.ts
index ea95416..2ef4fc4 100644
--- a/Messaging/workflows/channel_message.ts
+++ b/Messaging/workflows/channel_message.ts
@@ -30,4 +30,10 @@ workflow.addStep(Schema.slack.functions.SendMessage, {
   message: "Hello World!",
 });

+workflow.addStep(Schema.slack.functions.SendMessage, {
+  channel_id: workflow.inputs.channel_id,
+  message: "So, what will you try next?",
+});
+
 export default workflow;

I hope this helps.

FYI, we had some customer reports of issues around missing workflow execution steps starting around January 20th. On January 31st a fix was released in Slack's backend system to address the issue, and customers reported to us that that resolved the issue for them.
Perhaps worth trying this again @krim to see if you are still having issues as it may be the same underlying problem.

@filmaj awesome! Now it works!


libstdcxx version-bounds

Hello,
We have run into a problem when using PythonCall with newer versions of TensorFlow.  In particular, TensorFlow requires newer versions of libstdc++ than what is bundled with Julia.  To partially solve this problem, we replace the bundled version of libstdc++ with the system (Ubuntu 22.04) version of libstdc++.
When using PythonCall and CondaPkg, PythonCall injects a version bound for libstdc++ into the conda operations.  The version bound is determined by the version of libstdc++ bundled in Julia.  In this PR, we find the bound at runtime, and allow the user to specify the version bound via an environment variable: JULIA_CONDAPKG_LIBSTDCXX_VERSION_BOUND.  For example, set the version bound via:
ENV["JULIA_CONDAPKG_LIBSTDCXX_VERSION_BOUND"] = ">=3.4,<=12"

Many thanks!
Fixes #237

This is really cool, I didn't know you could query the libstdc++ version like this!

Great, thank you!


Boolean text representation: Bold font option

Continuation of #11345:

Bold text would be more contrast for the eye

Need to add an option for enabling bold font for boolean values.

Now it's possible to choose style for each boolean variant:

verified

FYI:
Unfortunately "whitespaces", made by use input, before and after any character(s) are eaten and no custom(!) indentation, despite general align-option (I know, this is working, but not whitespaces before-after).

Still think that would be nice to have extended each boolean column has its own display-mode sub-adjustments
Details: originated issue https://github.com/dbeaver/dbeaver/issues/11345

@ghYura please create a separate issue containing all required information about your feature request.
This ticket is closed, so it's hard to track.


/donate/add-donation analytics

Right now, this endpoint returns either
{ error: 'User must be signed in for this request.' }
or
{
 type: 'danger',
 message: 'Something went wrong.'
}

both with status 500. Ideally they should be 401 and 400 respectively and standardized (https://github.com/freeCodeCamp/freeCodeCamp/issues/50184)
@ahmadabdolsaheb we don't want to mess up the analytics, so could you confirm/deny if these changes will cause any issues?

Right now we are not reporting errors to analytics so altering the status and message should not effect anything.


Waiting for events and bind them to observable array

I'm receiving events from EventProducer. I'd like to collect it and if they aren't receiving (for some time), throw them all to Observable array.
As I understand it should be composition of following operators:
eventProducer
    .throttle(time)
    .flatMap
    .bindTo

Pretty easy to understand but could not find any working example. Could you provide it?

There is a debounce operator in Bond 5 / ReactiveKit that provides such behavior. Unfortunately it's not available in previous versions.


Release 2.26.0 - Update JaegerClientVersion

Which problem is this PR solving?

Correct JaegerClientVersion in constants.go for 2.26.0

PS: please don't push temp branches directly into the main repo, we prefer that maintainers also use forks.


fix: fix the dependency issue by bumping ini version to >= 1.3.6

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Looks like we already have a auto fix: https://github.com/alexa/ask-toolkit-for-vscode/pull/74


update() returning { count: 1 }

const user = await context.prisma.user.update({
  where: {
    id: localGlobalID,
  },
  data: {
    title,
  },
});

console.log("updated user", user);

// Output
updated user { count: 1 }

@dan003400 👋
Could you share your prisma and @prisma/client version? Also if you're using TypeScript, what does the return type denote when you hover over the user variable?

2.17.0 - not sure about that, Im not using vscode.

Hey Dan, thank you for raising this issue! As we discussed on Slack, for some reason your update method seems to be understood by TypeScript as an updateMany, which definitely seems very strange! update and updateMany have different input arguments and different return types, so we're keen on understanding what exactly is wrong with your code and helping you resolve the issue.
However, with the information that we have right now it is impossible for us to reproduce the problem. Would you mind sharing a couple of more infos, such as:

the relevant models of your Prisma schema
the SQL queries that are generated by Prism Client
Prisma's debugging output

Also, are you able to reproduce the problem in an isolated environment or does it only happen in the context of your project? Since your prisma instance is attached to a context object, I assume this error occurs inside of a GraphQL resolver? What happens if you run this Prisma Client query outside of a resolver in the same project? Do you still see the error?

Sounds like you might be referring to this issue (#5884) not this issue?

I think it probably applies to both, since both seem to have the same problem: "For some reason it seems that my client is generating some updateMany types/functions for my singular update function?"
This is very mundane advice, but did you try clearing node_modules?
rm -rf node_modules
npm install

Haha yes, I actually tried this a number of times with different version of prisma to see if that was the issue.

Actually - I take that back, this is the same model that we saw the original issue with return type being { count: 1 }.
So it sounds like this model in our schema generators is messed up.

Closing this one as well as it was the same underlying issue as https://github.com/prisma/prisma/issues/5884


refactor!: update error message types to String?

@rultor merge.

@rultor merge.

@rafamizes OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge.

@rafamizes Done! FYI, the full log is here (took me 2min)


Recipes v2 is not reporting timeouts correctly

https://ci.chromium.org/p/flutter/builders/try/Mac mac_host_engine/185? had a timeout https://ci.chromium.org/p/flutter/builders/try/Mac Engine Drone/4144? but it was reported as green in the display builds section.

\cc @zanderso FYI

CL to fix this issue in review: https://flutter-review.googlesource.com/c/recipes/+/34720

CL has landed!


healthchecks: Fix Ports Check flake on restart (systemd)

Description
The Ports Health Check sometimes shows a false positive in Linux (systemd) since there is no restriction of execution for the subagent services (units)  so they don't overlap during startup with the google-cloud-ops-agent.service. This causes the port 20202 still being used by fluent-bit during the startup checks. This doesn't happen in Windows version.
This updates the systemd configuration so google-cloud-ops-agent-fluent-bit.service &google-cloud-ops-agent-opentelemetry-collector.service unit start after the google-cloud-ops-agent.service unit. This using the unit After systemd configuration.
The false positive error is the following :
Ports Check - Result: FAIL, Error code: FbMetricsPortErr, Failure: Port 20202 needed for Ops Agent self metrics is unavailable., Solution: Verify that port 20202 is open., Resource: https://cloud.google.com/logging/docs/agent/ops-agent/tr
oubleshooting

Related issue
b/268046122
How has this been tested?

Verified that after adding the After= configuration, fluent-bit and otelopscol are still independent in following sense :

Killing fluent-bit or otelopscol process don't restart or change the other process and viceversa (same PID).
Restarting a subagent service (by sudo service * restart ) doesn't change the other process PID.

Integration and unit tests pass.
Can't reproduce the check flake anymore with 20 repetitions of restart in different scenarios :

fluent-bit is busy (simulating log load)
fluent-bit not busy (normal Ops Agent execution).

Checklist:

Unit tests

[ ] Unit tests do not apply.
[ ] Unit tests have been added/modified and passed for this PR.

Integration tests

[ ] Integration tests do not apply.
[ ] Integration tests have been added/modified and passed for this PR.

Documentation

[ ] This PR introduces no user visible changes.
[ ] This PR introduces user visible changes and the corresponding documentation change has been made.

Minor version bump

[ ] This PR introduces no new features.
[ ] This PR introduces new features, and there is a separate PR to bump the minor version since the last release already.
[ ] This PR bumps the version.

Requires will cause shared fate (if the dependency dies for any reason, so does the dependent service). We didn't want that for any of the subagents because we want metrics to keep working if the logging agent dies, or any other combination like that. (As the documentation says, you almost never want a Requires dependency - Wants is generally the right dependency, but in this case we don't want a dependency at all.)
These checks really should be happening as part of each subagent's PreStart, since that's the only time the subagent is guaranteed to not be running.

Summary discussion with @quentinmit , @braydonk :

After in systemd fixes the ordering when starting the main unit (this fixes the current Ports Check flakiness, current fix). It doesn't help when a subagent restarts by itself. Its aligned with the current Health Checks design.

Running the check in ExecPre of the subagent is the only way to reliable say that the subagent is not running. This would require to redirect the result journald logs to the main unit. The check would run every time a subagent is restarted, not only when the main service is.

Doing a Port Available Check in Unix by Listening to the socket can be unreliable if SO_REUSEADDR/ SO_REUSEPORT are set.

CC @jinghan-ma

Thanks everyone working for this issue and the ops-agent!
This is a note for who is searching solution regarding the FbMetricsPortErr error:
Ports Check - Result: FAIL, Error code: FbMetricsPortErr, Failure: Port 20202 needed for Ops Agent self metrics is unavailable., Solution: Verify that port 20202 is open., Resource: https://cloud.google.com/logging/docs/agent/ops-agent/tr
oubleshooting

In my understanding, no mitigation we have for now, better to use 2.25.0 instead of the latest release 2.25.1.
Hope that this post helps someone working for service relaibility and observability! 👋

Verified (manually in debian-10) that after adding the After= configuration, fluent-bit and otelopscol are still independent in following sense :

Killing fluent-bit or otelopscol process don't restart or change the other process and viceversa (same PID).
Restarting a subagent service (by sudo service * restart ) doesn't change the other process PID.

Integration and unit tests pass.
Can't reproduce the check flake anymore with 20 repetitions of restart in different scenarios :

fluent-bit is busy (simulating log load)
fluent-bit not busy (normal Ops Agent execution).

All tests passed, aside from unrelated Debian Buster 3P app failures and Windows expected flakiness.

@KengoTODA: This fix has now been released: https://github.com/GoogleCloudPlatform/ops-agent/releases/tag/2.26.0


Hard failing if module versions aren't aligned between bazel dep and go.mod for a given module

What type of PR is this?

Bug fix/Change in behavior

What package or component does this PR mostly affect?

go_deps

What does this PR do? Why is it needed?
If a given Go module is requested both via go.mod and directly as a bazel_dep, this PR will change Gazelle's behavior to hard fail as opposed to use the Bazel dep so long as it's a higher version than the one in go.mod
Ideally, Gazelle should fail and alert the developer to the mismatch so that they may align the versions in order to ensure that Native Go builds use the same SoT as Bazel builds.
Tested locally:
>bazel build //...
INFO: Invocation ID: 09d43bbd-a6b9-4e9f-a0b0-094be01359bf
ERROR: Traceback (most recent call last):
        File "/private/var/tmp/_bazel_smuthu/572bd1d287d7ec2c900673904e0dbb38/external/gazelle~/internal/bzlmod/go_deps.bzl", line 571, column 17, in _go_deps_impl
                fail("\n\nMismatch between versions requested for module {module}\nBazel dependency version requested in MODULE.bazel: {bazel_dep_version}\nGo module version requested in go.mod: {go_module_version}\nPlease resolve this mismatch to prevent discrepancies between native Go and Bazel builds\n\n".format(
Error in fail:

Mismatch between versions requested for module github.com/cloudflare/circl
Bazel dependency version requested in MODULE.bazel: 1.3.8
Go module version requested in go.mod: 1.3.7
Please resolve this mismatch to prevent discrepancies between native Go and Bazel builds

ERROR: error evaluating module extension go_deps in @@gazelle~//:extensions.bzl
INFO: Elapsed time: 0.195s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
INFO: Build Event Protocol files produced successfully.
FAILED:
    Fetching module extension go_deps in @@gazelle~//:extensions.bzl; starting

Which issues(s) does this PR fix?
No issue currently but happy to create one if necessary
Bazel Slack Discussion

@Buzz-Lightyear Does this check also trigger for rules_go and bazel-gazelle themselves? If so, that could be unnecessarily breaking for users.
I know it's not what I said first, but could we use outdated_deps_printer instead of fail? That results in a warning by default but can be opted into an error, which is considerably less breaking.

@Buzz-Lightyear Does this check also trigger for rules_go and bazel-gazelle themselves? If so, that could be unnecessarily breaking for users.
I'm unsure if I understand the question but if the ask is whether this check would trigger for users of Gazelle + rules_go that aren't using the go_deps module extension, I don't think it will since the check is part of the module extension implementation. But I could be missing something, do let me know!

I know it's not what I said first, but could we use outdated_direct_dep_printer instead of fail? That results in a warning by default but can be opted into an error, which is considerably less breaking.
I don't disagree but I'm still leaning sticking with a hard failure. I say this because it makes the contract clearer and should there be misalignment, the fix is in user's control. They can opt to quick fix by changing the bazel_dep or choose to natively replace/update the module in question.

My other main concern is that users may tend to ignore warnings altogether and not differentiate between what each warning is trying to tell them. But then again, that's on the user. Ultimately I'm happy to defer to your preference here.

My concern is about the Bazel modules rules_go and gazelle, which are also Go modules and thus probably fall under this check. It requires users to always update bazel_dep and go.mod entry for these rulesets in lockstep.
That's ultimately still good, but makes this breakage more common than I first thought. Since we would fail now in a case in which we previously hadn't even shown a warning, I would prefer to do this in two steps and start with a configurable indication that something is wrong (hence the outdated_direct_deps_printer). We could then tighten the check in a future release.

My concern is about the Bazel modules rules_go and gazelle, which are also Go modules and thus probably fall under this check. It requires users to always update bazel_dep and go.mod entry for these rulesets in lockstep.
That's ultimately still good, but makes this breakage more common than I first thought. Since we would fail now in a case in which we previously hadn't even shown a warning, I would prefer to do this in two steps and start with a configurable indication that something is wrong (hence the outdated_direct_deps_printer). We could then tighten the check in a future release.

That makes perfect sense, didn't realize folks pull in rules_go as a Go module as well. Let me create a new PR to change this to a warning.

@fmeum https://github.com/bazel-contrib/bazel-gazelle/pull/1963


Missing modules?

in star_selection.py there are two imports:

from _all_sky_cloud_detection.coordinate_transformation import pixel2horizontal
from_ all_sky_cloud_detection.preparation import normalize_image

I cannot locate all_sky_cloud_detection.coordinate_transformation
I cannot locate all_sky_cloud_detection.preparation
So these imports fail.
Are these missing modules or part of another import?
Thanks.
Cliff

Never mind, I found your latest version.
Thx

Hello, sorry for bothering.
I came into the same problem, but i can't seem to find the latest version, where is it?
Also, does the code still work?
Thanks,
Luís

Luis,
The version is old and needs a lot of rewriting.  Many of the functions required extensive manual installation and setup to be useful on other than the original sites.
We are developing a product that was going to use some of this code, but we spent $75k completely rewriting it and more on productizing it.  If you need a product like this, we are entering alpha test phase tomorrow. We are lining up beta sites if you have a need.
Our product, The TychoCam has a web interface, administrative functions such as user login requesting and tracking, system alerting, auto scheduling of tasks, image downloads, POE, images assembled into movies, and has an integrated Alpaca API for monitoring cloud coverage and local atmospheric conditions from client Alpaca compatible telescope/dome/etc software.
Let me know if you are interested.
Cliff
<EMAIL_ADDRESS>512-575-0064


FIX: Alternate query for template brain mask

Catches cases where the brain mask is under the label entity (i.e. UNCInfant).
This should address the problem in nipreps/nibabies#187

Codecov Report

Merging #704 (7832358) into maint/1.5.x (0610b04) will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           maint/1.5.x     #704   +/-   ##
============================================
  Coverage        50.20%   50.20%
============================================
  Files               47       47
  Lines             5772     5772
  Branches           820      820
============================================
  Hits              2898     2898
  Misses            2758     2758
  Partials           116      116

Flag
Coverage Δ

reportlettests
∅ <ø> (∅)

unittests
50.20% <ø> (ø)

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

Impacted Files
Coverage Δ

niworkflows/interfaces/norm.py
25.86% <ø> (ø)

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 0610b04...7832358. Read the comment docs.

I don't think this is too controversial, so merging it in

I agree, seems reasonable.


Running spdy with negroni results in no spdy support.

Running spdy with negroni results in no spdy support.
Example code:
import (
  "github.com/codegangsta/negroni"
  "github.com/SlyMarbo/spdy"
  "net/http"
  "fmt"
)

mux := http.NewServeMux()
mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "%f", spdy.SPDYversion(w))
})
n := negroni.New()
n.UseHandler(mux)

err := spdy.ListenAndServeTLS(":443", "cert.pem", "key.pem", n)

This is because Negroni is wrapping the http.ResponseWriter in its own structure, so spdy.SPDYversion can't see the spdy ResponseWriter. However, it should still be using SPDY. Negroni doesn't export their ResponseWriter (negroni.responseWriter), so it's tricky to solve without Negroni changing their API.


Added option to display login URL during login

This PR adds the ability to display the login URL to the CLI rather than opening in the default browser. Useful if you are using a browser that is not set as your default.

Thank you for this @Dannomac.
I will review it soon. Might move some things around slightly.
Symmetry is very important in the tool, and I don't like that this adds an additional command.
Possibly we should just list the url prior to asking to continue or not? Then the dev can abort but still copy and paste the url?

Yeah totally agree. Seems like a simpler idea. Let me know if you want me to do anything to help!

I don't want to give you more work that might get thrown out, but could you re-adjust it to that if you find the time?
Go ahead and do so for all commands that list out a url. Then we'll give it a test run in our terminals to see the 'feel' of it. My only worry then is it might feel too verbose of output on the screen, but I think it will be ok.

Absolutely. It's quite late where I am but I'll have a look at it tomorrow.

@motdotla Added new features. Let me know if you'd like me to make any more changes.

looks good! merging

Released as 1.17.0. I made some modifications.


Allow multiple subtome buttons on one page

Right now the code detects the feed to be the current page, or looks for a subtome button on the page and uses the data- attributes... but if I have multiple buttons this will not work.

Ha! Indeed, the button can be customized in any way you want though so you can add multiple buttons to a single page... Please, see the docs.

Ok, I'll try it again, but looking at the code I'm not sure how this is possible... the code is never told what button was pushed or anything at all...

re-read the code and think I found what I was doing wrong. sorry for the noise

Ha! Well, happy this is resolved :) if you can think of anything we can do to make the docs more obvious, please, let me know!

The docs specifically say the the obfuscated snippet loads a particular js file. But do not mention that it also assigns the button onto a global variable that said script expects.


[Request] (show/hide/enable/disable)if Enum

It would be very nice if you could showif / hideif / enableif / disableif fields of other types are set to something. I currently have the need to show/hide inspector fields depending on an Enum dropdown. I really like the fact that your attributes have the ability to string multiple conditions together with the and or statements but it would be even better if bools were not the only thing I could check.

You can. The condition can be any boolean field, property, or function. Just make a function DoesEnumHasSomeValue

Also, how do you even use Naughty Attributes? When I add your attributes to my classes Unity throws the error:
Assets\Scripts\xNode\RoomDescription.cs(17,9): error CS0246: The type or namespace name 'ShowIfAttribute' could not be found (are you missing a using directive or an assembly reference?)
But when adding using NaughtyAttributes I get this error:
Assets\Scripts\xNode\RoomDescription.cs(5,7): error CS0246: The type or namespace name 'NaughtyAttributes' could not be found (are you missing a using directive or an assembly reference?)
How do I use your attributes? Did I miss spell the using?

Reimport the plugin, delete your Library folder.
Don't know that the problem is.

@android272 if you are using assembly definitions, then you need to add the NaughtyAttributes reference.


Problems with MCC DAQ Universal Library

I need to use an MCC DAQ USB-2408-2AO to make temperature measurements from 8 thermocouples. I'm using the Universal Library and Python to be able to eventually synchronize the data acquisition with other processes, but every time that I run my code, I get the error:
mcculw.ul.ULError: Error 30: Invalid voltage (or current) range.
Here is my Python Script so far:
from mcculw import ul
from mcculw.enums import ULRange
inventory = ul.get_daq_device_inventory(1, number_of_devices=1)
print(inventory)
ul.ignore_instacal()
ul.create_daq_device(1,inventory[0])
ULRange.BIPPT078VOLTS
ul.a_input_mode(1,0)
temps = ul.t_in_scan(1,0,7,0)
print(temps)
The DAQ and thermocouples already work with the software that they came with (DAQami), so I'm pretty sure this is not a hardware problem. Does anyone know what I am doing wrong? Is there some configuration that I have overlooked?
As a side note, I have already read the post at https://github.com/mccdaq/mcculw/issues/7. It hasn't been helpful for my case.
Thanks for you time!

After investigating a little more, I found that even the example codes give me this error.

Please see the attached example.  It reads from the first 4 channels of the USB-2408 as temperature.
usb_2408_2416_3TCs.zip


Mei Divine Won't Walk to Quest Marker for Red Mile

Blocking issue in Free Star main quest.
Lots of others as well: https://steamcommunity.com/app/1716740/discussions/0/3824174554262595292/

Details
It seems to happen if she gets distracted with ambient dialogue.
Game Version
1.37
New Game
No
Reproduction Steps
Attempt to run the Red Mile during Freestar quest. Probably more likely to happen if you talk to Mei while she is in Kitchen/behind bar.

SetStage 001F0267 750
Fixes it instantly of course.


[FLINK-10230][table] Support 'SHOW CREATE VIEW' syntax to print the query of a view

What is the purpose of the change
Support 'SHOW CREATE VIEW' syntax to print the query of a view
Brief change log
Support 'SHOW CREATE VIEW' syntax to print the query of a view
Verifying this change
This change added tests and can be verified as follows:

org.apache.flink.table.planner.catalog.CatalogViewITCase

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@Airblader Thank you for your comments. I made some changes based on your suggestions. Please let me know what's your opinion.

@Airblader Thank you so much for your suggestions. I updated the pr. PTAL.

Thanks @Airblader for the review.
Hi, @wuchong , @xintongsong @twalthr . Could you help me to merge it if there are nothing inappropriate ? Thank you.

@leonardBang Could you help me to merge it if there are nothing inappropriate ? Thank you.

@wuchong I really appreciate it. I make some change based on your suggestions.


added new webview methods, added supporZoom webview option on iOS, bu…

…g fixes, prepare new version 3.4.0
Connection with issue(s)
Resolve issue #???

Connected to #???

Testing and Review Notes

Screenshots or Videos

To Do

[ ] double check the original issue to confirm it is fully satisfied
[ ] add testing notes and screenshots in PR description to help guide reviewers
[ ] request the "UX" team perform a design review (if/when applicable)

1


Make Powertoys Peek work with Files

What feature or improvement do you think would benefit Files?
Integrate Powertoys Peek (https://learn.microsoft.com/de-de/windows/powertoys/peek) the same way as QuickLook & SeerPro work already.
If i have PowerToys from Microsoft installed, I want to start the preview with e.g. Strg+Space (default Shortcut).
It's another Option to have a preview and if (like me) PowerToys is already installed I don't need another application for the same UseCase.
Requirements

when I press the configured Shortcut (as defined in PowerToys configuration) for PowerToys Peek, I want a preview of the file to open.

Files Version
<IP_ADDRESS>
Windows Version
23H2
Comments
No response

Thanks for the feedback, this currently isn't possible due to power toys peek not having a way of doing so https://github.com/microsoft/PowerToys/issues/26422


PowerShell as default shell (login shell) does not work on ArchLinux

Steps to reproduce
yaourt powershell
useradd -s /usr/bin/powershell -m tom
su - tom
Expected behavior
can see the powershell prompt.
Actual behavior
got the following error message:
realpath(): Permission denied
Error: assembly specified in the dependencies manifest was not found -- package: 'Microsoft.CSharp', version: '4.3.0', path: 'lib/netstandard1.3/Microsoft.CSharp.dll'

Environment data
XDG_MENU_PREFIX=gnome-
LANG=en_US.UTF-8
GDM_LANG=en_US.UTF-8
DISPLAY=:0
OLDPWD=/home/conke
COLORTERM=truecolor
USERNAME=conke
MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins
XDG_VTNR=1
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
XDG_SESSION_ID=c1
USER=conke
DESKTOP_SESSION=gnome
QT_QPA_PLATFORMTHEME=qgnomeplatform
PWD=/home/conke/project/witbox
HOME=/home/conke
JOURNAL_STREAM=8:14965
XDG_SESSION_TYPE=x11
XDG_DATA_DIRS=/home/conke/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
XDG_SESSION_DESKTOP=gnome
GJS_DEBUG_OUTPUT=stderr
MAIL=/var/spool/mail/conke
WINDOWPATH=1
SHELL=/bin/bash
TERM=xterm-256color
VTE_VERSION=4601
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
XDG_CURRENT_DESKTOP=GNOME
XDG_SEAT=seat0
SHLVL=1
WINDOWID=20971526
GDMSESSION=gnome
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=conke
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/run/user/1000/gdm/Xauthority
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/conke/anaconda3/bin
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
SESSION_MANAGER=local/archlinux:@/tmp/.ICE-unix/425,unix/archlinux:/tmp/.ICE-unix/425
GTK_IM_MODULE=fcitx
_=/usr/bin/env

> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
PSEdition                      Core
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   <IP_ADDRESS>
GitCommitId                    Could not find file '/usr/lib/powershell/ubuntu.16.04-x64/powershell.version'.
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

@conke Please look #3319

@mklement0 Seems you have your meta-issue for login shell. Please link the Issue there and we close the Issue.

@iSazonov, are you referring to #7704? This looks like a different issue.
@conke, does this still happen with the latest preview?

@mklement0 I remember that you already made some review for "PowerShell Core as login/interactive shell". I think we could have (perhaps we already have) a meta-issue for the enhancement.

I see. You're probably thinking of #3743, which more generally asks for aligning PowerShell's CLI with that of POSIX-like shells.

Yes. We have too many open issues. They are difficult to analyze. I think it's better to combine them in meta-issues by problem/enhancement and close original ones.

I just tried with a current Arch Linux distro and PowerShell Core 6.1.0, and the problem seemingly no longer occurs (note that PowerShell's non-support for CLI option -l doesn't enter the picture, because the login-shell status is signaled via a - as the 1st char in $0 instead, which PowerShell happily ignores).
The package manager doesn't seem to have the current preview and I didn't want to spend any more time on this, but  I'm assuming that nothing has changed since 6.1.0.
Unless @conke tells us that there's still a problem, I suggest we close this issue.


Change command syntax in README

The following doesn't work in my config
set $i3_scripts ~/.config/i3/scripts
bindsym $mod+w exec '$i3_scripts/sway-overfocus split-li group-lw'
bindsym $mod+e exec '$i3_scripts/sway-overfocus split-ri group-ri'

whereas this works:
set $i3_scripts ~/.config/i3/scripts
bindsym $mod+w exec $i3_scripts/sway-overfocus split-li group-lw   # Remove single quotes
bindsym $mod+e exec $i3_scripts/sway-overfocus split-ri group-ri   # Remove single quotes

Maybe change README to address this?

Sure, that also simplifies the recommended config a bit. Changed in 781360f.


Sptofiy Plugin wont work for visualizer

Description
I keep trying to use Spotify for my visualizer, and it just doesn't work
Versions

Rainmeter Version: 4..0 r3111 64-bit
OS Version: Windows 10 Home 64-bit
Skin Version: 2.0.2 (Newest as of August 15 2018)
Spotify Version: 2.1.5

Additional notes/images
I've restarted Rain, Spotify, and PC. Nothing seems to work.

Duplicate of #191.


fix: use incompatible build types for darwin

I ran into this tonight. What is the reasoning for adding it to all build targets exactly?

Doh 🙃 I see my issue. Sorry about that.


Getting started section

Add a getting started section to the resource with some background info, context, and pointers to other resources (e.g. Project Pythia).
Perhaps with a "new to python" section or additional component.

Might be useful to include a reference to the difference between Jupyter and Python (example)


Init routing

https://github.com/David-OConnor/seed/issues/224
Tests currently broken.

WIP, but look good!
Could you notify me before merge? I want to try some type magic - e.g. replace -> Init<Model> with -> impl Init. I don't know if it's doable or better but I want to try it and eventually compare both versions.

CI issue was due to fmt. Have at the impl - that'd be more consistent with View and Update.

How would look like standalone init?
i.e. instead of
fn init(_: Url, orders: &mut impl Orders<Msg>) -> Init<Model> {
    orders.perform_cmd(fetch_repository_info());
    Init::new(Model::default())
}

would be..?

I was thinking it could be a closure as a closure, but on reflection, that may not be robust enough. eg
let init = Init::from_fn(|_, | {
    orders.perform_cmd(fetch_repository_info());
    Init::new(Model::default())
})

And.. what about:
i.e. standalone init (without changes)
fn init(_: Url, _: &mut impl Orders<Msg>) -> Init<Model> {
    Init::new(Model::default())
}

One-liner:
seed::App::build(Init::default_fn(Model::default()), update, view)

Want to try impl Init? Ready to merge as-is, pending fixing CI.

I'm not able to come up with better API. I see some comments in PR which we can delete, but we can remove them with some future refactors. Merge it.


Style and colour improvements.

Two changes here, the first ensures that a step is closed when it fails, e.g:
MyRunner.install {
  not already met.
} ✕ MyRunner.install # Not printed prior to my change

/Users/ian/Projects/tango/lib/tango/met_and_meet.rb:26:in `meet': Tango::CouldNotMeetError
<rest of backtrace>

The second adds a little colour. The first MyRunner.install is in yellow, and the closing √/✕ MyRunner.install is in either red or green.

This sounds good, I'll try and give it a better looking at and merge it in after this week

This is great Ian, thanks!


FSP Pressure Converter Crash w/ EIO Fluid Conduit

Info: https://github.com/Tekkify/Tekkify/issues/7
Crash log: http://pastebin.com/LHD21uhH

This is not caused by us, it crashes in FSP's getTankInfo.


[Idea] InstallerContext

The idea is simple. Have an enum with values representing context of what is doing the installing (Have the default value be Unknown or something). Then within all installers have the following...
[InjectOptional(InjectionSources.Local)]
InstallerContext context;

protected CompisitionRootContext Context { get { return context; } }

The use case for such a thing would be to have conditional installer logic based on if something is being installed globally, in a scene, or something else.
As an example, if I want to enforce that an installer must only be global I could do this.
if (Context != InstallerContext.Global)
{
    throw new InvalidOperationException("Installer `" + GetType().Name + "` must only be installed globally");
}

What are your thoughts?

If you want to figure out the 'context' you're in (ie. whether it's project-wide, game object, or scene) youc an also call Container.Resolve<Context>().  So I think that covers the use case here.


Pillow is not compiled with JPEG support

OSError: Pillow is not compiled with JPEG support, see 'Libraries installation issues' documentation section: http://djangocms-installer.readthedocs.org/en/latest/libraries.html

http://djangocms-installer.readthedocs.org/en/latest/libraries.html
says to make sure these dependencies are installed
sudo apt-get install -y libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev
but i already have them installed.
(news-cms)zerovault@zerovault-VirtualBox:~/.venvs/news-cms/project$ apt --installed list | grep "jpeg"

WARNING: apt does not have a stable CLI interface yet. Use with caution in scripts.

libjpeg-dev/vivid,now 8c-2ubuntu8 amd64 [installed]
libjpeg-turbo8/vivid,now 1.3.0-0ubuntu2 amd64 [installed]
libjpeg-turbo8-dev/vivid,now 1.3.0-0ubuntu2 amd64 [installed,automatic]
libjpeg62/vivid,now 6b1-4ubuntu1 amd64 [installed]
libjpeg8/vivid,now 8c-2ubuntu8 amd64 [installed]
libjpeg8-dev/vivid,now 8c-2ubuntu8 amd64 [installed]
libmjpegutils-2.1-0/vivid,now 1:2.1.0+debian-3 amd64 [installed,automatic]
libopenjpeg5/vivid,now 1:1.5.2-3 amd64 [installed]

Please reopen this on https://github.com/nephila/djangocms-installer repository


refactor to go pkg structure and add rb search

project would be renamed to redbrick/rbldap
close #6

@VoyTechnology


(#14) - fix/update unit tests

Looks like we just forget to upgrade our tests for Pouch 4+.

self-+1


Determine module files change

Description of the PR

I'll rebase and merge @nikke234 branch here once it's done
a bit unsure about the
the correctness of the behavior implemented, but let's discuss
currently only notifies

Testing

unit
integration
manual

- [x] new unit tests created
- [x] all unit tests pass

- [ ] new integration tests created
- [ ] all integration tests pass

- [x] manual testing went well

Have you updated the TESTING.md or other relevant documentation?

[ ] Yes
[x] Not yet. I will do it next.
[ ] Not relevant

Great stuff! First time I see VfsUtilCore.visitChildrenRecursively, looks really useful

I'll be glad if we can reuse this, as it took a bit of experimenting to find this API endpoint :joy:


State of JAX and Apache Arrow

Greetings.
This is just a question:
Is there any work on Jax with apache arrow tensors by any chance? I didn’t see any design docs on this.

Not to my knowledge. But we welcome PRs!

But you might clarify what things you would need that can't already be achieved by passing data as NumPy arrays, which both JAX and pyarrow already support?

I think I can hit everything I need by doing my IO to arrow tensors -> numpy ndarray -> Jax things.
Thanks! I am auditing this for a project.

Great! Sounds like there's no action for us to take here, so I'm closing this issue. Feel free to file another issue or reopen this one if there's something for us to do!

Arrow support nullablity nativly, numpy doesn't support it. Converting a nullable int64 pyarrow array into numpy will become a float64 array, which will have precision loss, see more in #16289 .


Dark Theme Support

Added Dark Theme Support
Removed unused code/files

@emmanuelkehinde

Uploading Screen_Recording_20210613-193257_TwittaSave.mp4…

https://user-images.githubusercontent.com/13119278/121818422-f32ecf00-cc3b-11eb-8920-ecf4385f7e7d.mp4

Thank you @Quadriyanney


Allow manual code generation (not with every build)

Generating Apollo classes with every build is not necessary for us - it slows down the build. We would like to generate the classes only when .graphql files are changed and then put generated classes directly into the src folder, not to the gen folder. What I'm looking for is an option to disable the gradle plugin for every build - running it only via some maunal gradle command. It also needs an option for a path where to generate the classes.

When switching branches, you need to generate the code since the already generated code may not be up to date and that may cause compilation issues. I would say this issue is working as intended.

The new codegen not using npm should  make things faster.
@davidvavra How long do you spend generating classes ? In the grand scheme of android apps, this time should be an order of magnitude less that dexing or just downloading the Android SDKs and gradle dependencies. If that's not the case, it should definitely be optimized.

@martinbonnin The code generation is not too bad. The main reason I workarounded it was the 'npm' - it has its own issues on different systems/configurations and build wasn't easily portable. When codegen without npm is released, I will probably switch back to code generation every time.

Please try latest version with a new code generation engine https://github.com/apollographql/apollo-android/releases/tag/1.1.0
If you see the same issue pls reopen.


feat(runtime-web): 优化 window[globalKey] 挂载方式，使其不能被覆盖

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jiwei.bjw seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Enhancements for testing

Current coverage is 78.10% (diff: 66.66%)

Merging #186 into master will decrease coverage by 0.18%

@@             master       #186   diff @@
==========================================
  Files           129        130     +1
  Lines          4717       4700    -17
  Methods           0          0
  Messages          0          0
  Branches        518        518
==========================================
- Hits           3693       3671    -22
- Misses          929        934     +5
  Partials         95         95

Powered by Codecov. Last update 6386222...0fd2c4a

@alexander-yevsyukov LGTM.


Avoid reflow when glyphicon load

Is there a way to make a glyphicon reserve its dimensions so that it doesn't bump the text over when it loads? This would improve perceived performance

Duplicate of #10022, which was eventually reverted.

You can apply custom width/height if you need, but we won't be doing that.


Docs for “Remote Content”

I've gotten remote content static-site-generation working two different ways now:

fetch, reverse engineered from https://github.com/shuding/nextra/pull/1166
octokit, perhaps a bit cleaner

Both seem perhaps a bit "custom" - but considering https://nextra.site/docs/guide/advanced/remote currently has no content, would it be useful to add something? I wouldn't mind taking a stab at it, but feel as if all this might factor into plans started in #20 - so I thought I'd start a conversation.

The only quirk I see right now is now TOC support for the loaded content. I don't yet know how to solve that on the engineering level, but thought I'd mention it too.

Versioning is still under development and under testing, will be stable in nextra v3.
If you wanna know more there is no way then try it by yourself i
as was mentioned in examples/swr-site

Could you share the code for the  remote content static-site-generation you made?

hey i'll add the fetch way which is more classic then if someone want to add the octokit way feel free to improve what i'll do


Adding room types?

Is anything needed on the backend / replicate side to enable a particular room type? Or can we just tell the model to try a different one? In that case, we might even want to move from a dropdown to a input box for the room type.

Kitchen (!!!)
Playroom
Attic
Basement

might be interesting immediate additions

Can I send color of the wall and only the walls should be that color for my photograph

Appreciate the suggestions! I'm gonna likely implement a way for folks to vote on popular room types and add them in slowly. Same goes for color, may add that as a future feature.

@Nutlope How about adding the ability for users to enter style prompts themselves?

+1 for kitchen

Kitchen should be a great plus

Bathroom too, but I know it will be challenging to train the model in order to generate fully functional bathroom

It has bathroom now.  It did a great job


pcmanfm: image thumbnails do not work

I am using the nixos-unstable channel without a desktop environment and when I run pcmanfm the image thumbnails for .JPG do not work.
The Arch Wiki says it should support image thumbnails out of the box https://wiki.archlinux.org/index.php/PCManFM#Thumbnail_support
"Show thumbnails of files" is checked in the preferences -> display menu.

It seems that pcmanfm is not able to generate thumbnails on its own. I stumbled upon https://wiki.archlinux.org/index.php/File_manager_functionality#Thumbnail_previews which suggest that tumbler (nixpkgs.xfce.tumbler) needs to be installed. After installing tumbler and adjusting the maximum filesize for images for which thumbnails should be generated it works for me.

Right, tumbler should be found via dbus normally. I don't know if it's possible to wrap an executable to find it. You can try. (I'm using xfce, so I have tumbler provided by default and not even clearing $PATH can avoid it.)

Ok, here is clearly some magic at work. I just removed tumbler from my profile (it was only installed there), I even rebooted, but thumbnails still work in pcmanfm. So far I am a bit clueless.

(triage) what’s the status?

@Profpatsch I gave up on using these things standalone and just went with Gnome. Maybe we should close until some user has an issue.

Okay, cc @pSub

I'm closing this. Thumbnails are still working for me.

Thumbnails aren’t working for me at all, for anything. I have the “show thumbnails” option checked. I’m using SpaceFM 1.0.5 in Ubuntu MATE 18.04 LTS.

I’m using SpaceFM 1.0.5

…Right, I just realized this is a “pcmanfm” thread… I found my way here from #9678.


add home button to diary and timer pages

i'd like to add a home button on the diary and timer pages so the user can get back to the main page

I would like to work on this.


(BUG) All "Total G$ supply" chart's values are zero

Steps to reproduce:

Open the "Statistic" page
Pay attention to the "Total G$ supply" chart

Actual result: All "Total G$ supply" chart's values are zero
Expected result: All "Total G$ supply" chart's values should be according to the actual supply

Checked on prod 1.10.1
Desktop: Windows 10 // Google Chrome  86.0.4240.183

@sirpy fixed


correct the chunk size by adding header size

What does this PR do?
Fixes #393
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in GitHub issues there's a high chance it will not be merged.
Did you have fun?
thanks @tchaton for the help!

Closing this PR as issue #393 has been resolved by #395.
Thank you @dangthatsright for taking the time to raise this issue and work on it.
We encourage you to test it with the latest updates from the main branch,
and we welcome any feedback on how it goes.