Cannot build exe

[x] I have read the FAQ.
[x] I have searched in existing issues.

Environment

OS: Debian
scrcpy version: [e.g. 1.12.1]

Trying to build exe from debian 9
Downoaded scrcpy-dev.zip
extracted to folder scr2
root@debian:/home/debian/Downloads/scr2# make -f Makefile.CrossWindows
fatal: Not a git repository (or any of the parent directories): .git
./gradlew clean
Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':server'.
> SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/home/debian/Downloads/scr2/local.properties'.

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

* Get more help at https://help.gradle.org

BUILD FAILED in 8s
Makefile.CrossWindows:40: recipe for target 'clean' failed
make: *** [clean] Error 1
root@debian:/home/debian/Downloads/scr2#

this is result from scrcpy-master.zip
root@debian:/home/debian/Downloads/scr3# sudo make -f Makefile.CrossWindows
fatal: Not a git repository (or any of the parent directories): .git
./gradlew clean
Starting a Gradle Daemon (subsequent builds will be faster)
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 9s
2 actionable tasks: 2 up-to-date
rm -rf "build-server" "build-win32" "build-win64"
"build-win32-noconsole" "build-win64-noconsole" "dist"
[ -d "build-server" ] || ( mkdir "build-server" &&
meson "build-server"
--buildtype release -Dcompile_app=false )
The Meson build system
Version: 0.53.2
Source dir: /home/debian/Downloads/scr3
Build dir: /home/debian/Downloads/scr3/build-server
Build type: native build
Project name: scrcpy
Project version: 1.12.1
C compiler for the host machine: cc (gcc 6.3.0 "cc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516")
C linker for the host machine: cc ld.bfd 2.28
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program ./scripts/build-wrapper.sh found: YES (/home/debian/Downloads/scr3/server/./scripts/build-wrapper.sh)
WARNING: Project targeting '>= 0.37' but tried to use feature introduced in '0.48.0': console arg in custom_target
DEPRECATION: build_always is deprecated. Combine build_by_default and build_always_stale instead.
Build targets in project: 2
WARNING: Project specifies a minimum meson_version '>= 0.37' but uses features which were added in newer versions:

0.48.0: {'console arg in custom_target'}

Found ninja-1.7.2 at /usr/bin/ninja
ninja -C "build-server"
ninja: Entering directory `build-server'
[0/1] Generating scrcpy-server with a custom command.
(not invoking gradle, since we are root)
make -C prebuilt-deps prepare-win32
make[1]: Entering directory '/home/debian/Downloads/scr3/prebuilt-deps'
SDL2-2.0.10: not found
SDL2-devel-2.0.10-mingw.tar.gz: not found, downloading...
--2020-04-08 18:05:09--  https://libsdl.org/release/SDL2-devel-2.0.10-mingw.tar.gz
Resolving libsdl.org (libsdl.org)... <IP_ADDRESS>, 2604:a880:1:20::181:e001
Connecting to libsdl.org (libsdl.org)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10357339 (9.9M) [application/x-gzip]
Saving to: ‘SDL2-devel-2.0.10-mingw.tar.gz’
SDL2-devel-2.0.10-m 100%[===================>]   9.88M  3.30MB/s    in 3.0s
2020-04-08 18:05:13 (3.30 MB/s) - ‘SDL2-devel-2.0.10-mingw.tar.gz’ saved [10357339/10357339]
SDL2-devel-2.0.10-mingw.tar.gz: verifying checksum...
SDL2-devel-2.0.10-mingw.tar.gz: OK
Extracting SDL2-devel-2.0.10-mingw.tar.gz...
ffmpeg-4.2.1-win32-shared: not found
ffmpeg-4.2.1-win32-shared.zip: not found, downloading...
--2020-04-08 18:05:13--  https://ffmpeg.zeranoe.com/builds/win32/shared/ffmpeg-4.2.1-win32-shared.zip
Resolving ffmpeg.zeranoe.com (ffmpeg.zeranoe.com)... <IP_ADDRESS>, <IP_ADDRESS>, 2606:4700:3035::6818:69e3, ...
Connecting to ffmpeg.zeranoe.com (ffmpeg.zeranoe.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23905812 (23M) [application/zip]
Saving to: ‘ffmpeg-4.2.1-win32-shared.zip’
ffmpeg-4.2.1-win32- 100%[===================>]  22.80M  7.37MB/s    in 3.1s
2020-04-08 18:05:17 (7.37 MB/s) - ‘ffmpeg-4.2.1-win32-shared.zip’ saved [23905812/23905812]
ffmpeg-4.2.1-win32-shared.zip: verifying checksum...
ffmpeg-4.2.1-win32-shared.zip: OK
Extracting ffmpeg-4.2.1-win32-shared.zip...
ffmpeg-4.2.1-win32-dev: not found
ffmpeg-4.2.1-win32-dev.zip: not found, downloading...
--2020-04-08 18:05:17--  https://ffmpeg.zeranoe.com/builds/win32/dev/ffmpeg-4.2.1-win32-dev.zip
Resolving ffmpeg.zeranoe.com (ffmpeg.zeranoe.com)... <IP_ADDRESS>, <IP_ADDRESS>, 2606:4700:3035::6818:69e3, ...
Connecting to ffmpeg.zeranoe.com (ffmpeg.zeranoe.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 628217 (613K) [application/zip]
Saving to: ‘ffmpeg-4.2.1-win32-dev.zip’
ffmpeg-4.2.1-win32- 100%[===================>] 613.49K  2.74MB/s    in 0.2s
2020-04-08 18:05:18 (2.74 MB/s) - ‘ffmpeg-4.2.1-win32-dev.zip’ saved [628217/628217]
ffmpeg-4.2.1-win32-dev.zip: verifying checksum...
ffmpeg-4.2.1-win32-dev.zip: OK
Extracting ffmpeg-4.2.1-win32-dev.zip...
platform-tools: not found
platform-tools_r29.0.5-windows.zip: not found, downloading...
--2020-04-08 18:05:18--  https://dl.google.com/android/repository/platform-tools_r29.0.5-windows.zip
Resolving dl.google.com (dl.google.com)... <IP_ADDRESS>, 2a00:1450:4002:800::200e
Connecting to dl.google.com (dl.google.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7165904 (6.8M) [application/zip]
Saving to: ‘platform-tools_r29.0.5-windows.zip’
platform-tools_r29. 100%[===================>]   6.83M  6.73MB/s    in 1.0s
2020-04-08 18:05:20 (6.73 MB/s) - ‘platform-tools_r29.0.5-windows.zip’ saved [7165904/7165904]
platform-tools_r29.0.5-windows.zip: verifying checksum...
platform-tools_r29.0.5-windows.zip: OK
Extracting platform-tools_r29.0.5-windows.zip...
make[1]: Leaving directory '/home/debian/Downloads/scr3/prebuilt-deps'
[ -d "build-win32" ] || ( mkdir "build-win32" &&
meson "build-win32"
--cross-file cross_win32.txt
--buildtype release --strip -Db_lto=true
-Dcrossbuild_windows=true
-Dcompile_server=false
-Dportable=true )
The Meson build system
Version: 0.53.2
Source dir: /home/debian/Downloads/scr3
Build dir: /home/debian/Downloads/scr3/build-win32
Build type: cross build
Project name: scrcpy
Project version: 1.12.1
C compiler for the build machine: cc (gcc 6.3.0 "cc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516")
C linker for the build machine: cc ld.bfd 2.28
C compiler for the host machine: /usr/bin/i686-w64-mingw32-gcc (gcc 6.3.0 "i686-w64-mingw32-gcc (GCC) 6.3.0 20170516")
C linker for the host machine: /usr/bin/i686-w64-mingw32-gcc ld.bfd 2.28
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: i686
Target machine cpu family: x86
Target machine cpu: i686
Library SDL2 found: YES
Library SDL2main found: YES
Library avcodec-58 found: YES
Library avformat-58 found: YES
Library avutil-56 found: YES
Library mingw32 found: YES
Library ws2_32 found: YES
Configuring config.h using configuration
Build targets in project: 2
Found ninja-1.7.2 at /usr/bin/ninja
ninja -C "build-win32"
ninja: Entering directory `build-win32'
[24/24] Linking target app/scrcpy.exe.
[ -d "build-win32-noconsole" ] || ( mkdir "build-win32-noconsole" &&
meson "build-win32-noconsole"
--cross-file cross_win32.txt
--buildtype release --strip -Db_lto=true
-Dcrossbuild_windows=true
-Dcompile_server=false
-Dwindows_noconsole=true
-Dportable=true )
The Meson build system
Version: 0.53.2
Source dir: /home/debian/Downloads/scr3
Build dir: /home/debian/Downloads/scr3/build-win32-noconsole
Build type: cross build
Project name: scrcpy
Project version: 1.12.1
C compiler for the build machine: cc (gcc 6.3.0 "cc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516")
C linker for the build machine: cc ld.bfd 2.28
C compiler for the host machine: /usr/bin/i686-w64-mingw32-gcc (gcc 6.3.0 "i686-w64-mingw32-gcc (GCC) 6.3.0 20170516")
C linker for the host machine: /usr/bin/i686-w64-mingw32-gcc ld.bfd 2.28
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: i686
Target machine cpu family: x86
Target machine cpu: i686
Library SDL2 found: YES
Library SDL2main found: YES
Library avcodec-58 found: YES
Library avformat-58 found: YES
Library avutil-56 found: YES
Library mingw32 found: YES
Library ws2_32 found: YES
Configuring config.h using configuration
Build targets in project: 2
Found ninja-1.7.2 at /usr/bin/ninja
ninja -C "build-win32-noconsole"
ninja: Entering directory `build-win32-noconsole'
[24/24] Linking target app/scrcpy.exe.
mkdir -p "dist/scrcpy-win32"
cp "build-server"/server/scrcpy-server "dist/scrcpy-win32/"
cp: cannot stat 'build-server/server/scrcpy-server': No such file or directory
Makefile.CrossWindows:99: recipe for target 'dist-win32' failed
make: *** [dist-win32] Error 1
root@debian:/home/debian/Downloads/scr3#

You must not build as root.
See https://github.com/Genymobile/scrcpy/issues/42#issuecomment-372149861 and https://github.com/Genymobile/scrcpy/commit/4c49b27e9f6be02b8e63b508b60535426bd0291a.

(not invoking gradle, since we are root)

You must not build as root.
See #42 (comment) and 4c49b27.

from scrcpy-master.zip
debian@debian:~/Downloads/scr4$ make -f Makefile.CrossWindows
fatal: Not a git repository (or any of the parent directories): .git
./gradlew clean
Downloading https://services.gradle.org/distributions/gradle-6.3-bin.zip
.........10%..........20%..........30%.........40%..........50%..........60%.........70%..........80%..........90%..........100%
Welcome to Gradle 6.3!
Here are the highlights of this release:

Java 14 support
Improved error messages for unexpected failures

For more details see https://docs.gradle.org/6.3/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 1m 2s
2 actionable tasks: 2 up-to-date
rm -rf "build-server" "build-win32" "build-win64"
"build-win32-noconsole" "build-win64-noconsole" "dist"
[ -d "build-server" ] || ( mkdir "build-server" &&
meson "build-server"
--buildtype release -Dcompile_app=false )
The Meson build system
Version: 0.53.2
Source dir: /home/debian/Downloads/scr4
Build dir: /home/debian/Downloads/scr4/build-server
Build type: native build
Project name: scrcpy
Project version: 1.12.1
C compiler for the host machine: cc (gcc 6.3.0 "cc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516")
C linker for the host machine: cc ld.bfd 2.28
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program ./scripts/build-wrapper.sh found: YES (/home/debian/Downloads/scr4/server/./scripts/build-wrapper.sh)
WARNING: Project targeting '>= 0.37' but tried to use feature introduced in '0.48.0': console arg in custom_target
DEPRECATION: build_always is deprecated. Combine build_by_default and build_always_stale instead.
Build targets in project: 2
WARNING: Project specifies a minimum meson_version '>= 0.37' but uses features which were added in newer versions:

0.48.0: {'console arg in custom_target'}

Found ninja-1.7.2 at /usr/bin/ninja
ninja -C "build-server"
ninja: Entering directory `build-server'
[0/1] Generating scrcpy-server with a custom command.
FAILURE: Build failed with an exception.

What went wrong:
Could not determine the dependencies of task ':server:compileReleaseJavaWithJavac'.

SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/home/debian/Downloads/scr4/local.properties'.

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

Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 3s
FAILED: server/scrcpy-server
/home/debian/Downloads/scr4/server/./scripts/build-wrapper.sh /home/debian/Downloads/scr4/server server/scrcpy-server release
ninja: build stopped: subcommand failed.
Makefile.CrossWindows:45: recipe for target 'build-server' failed
make: *** [build-server] Error 1
debian@debian:~/Downloads/scr4$

Do what it says:

SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/home/debian/Downloads/scr4/local.properties'.

/home/debian/Downloads/scr4/local.properties not exyst,
i extracted sdk platform in /home/debian/Downloads/adb
how to set /home/debian/Downloads/adb in local.properties?

changed linux distro
placed local.properties file with
sdk.dir = /home/oem/Android/Sdk
now this is result
oem@LinuxMint:~$ cd Downloads
oem@LinuxMint:~/Downloads$ cd scr
oem@LinuxMint:~/Downloads/scr$ make -f Makefile.CrossWindows
fatal: not a git repository (or any of the parent directories): .git
./gradlew clean
Downloading https://services.gradle.org/distributions/gradle-6.3-bin.zip
.........10%..........20%..........30%.........40%..........50%..........60%.........70%..........80%..........90%..........100%
Welcome to Gradle 6.3!
Here are the highlights of this release:

Java 14 support
Improved error messages for unexpected failures

For more details see https://docs.gradle.org/6.3/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 2m 16s
2 actionable tasks: 2 up-to-date
rm -rf "build-server" "build-win32" "build-win64"
"build-win32-noconsole" "build-win64-noconsole" "dist"
[ -d "build-server" ] || ( mkdir "build-server" &&
meson "build-server"
--buildtype release -Dcompile_app=false )
/bin/sh: 2: meson: not found
Makefile.CrossWindows:45: recipe for target 'build-server' failed
make: *** [build-server] Error 127
oem@LinuxMint:~/Downloads/scr$

Please format your code/output between ```

/bin/sh: 2: meson: not found

Install meson.

oem@LinuxMint:~/Downloads/scr$ make -f Makefile.CrossWindows
make: Makefile.CrossWindows: No such file or directory
make: *** No rule to make target 'Makefile.CrossWindows'.  Stop.
oem@LinuxMint:~/Downloads/scr$ make -f Makefile.CrossWindows
make: Makefile.CrossWindows: No such file or directory
make: *** No rule to make target 'Makefile.CrossWindows'.  Stop.
oem@LinuxMint:~/Downloads/scr$ make -f Makefile.CrossWindows
fatal: not a git repository (or any of the parent directories): .git
./gradlew clean
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 up-to-date
rm -rf "build-server" "build-win32" "build-win64"
"build-win32-noconsole" "build-win64-noconsole" "dist"
[ -d "build-server" ] || ( mkdir "build-server" &&
meson "build-server"
--buildtype release -Dcompile_app=false )
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-server
Build type: native build
Project name: scrcpy
Project version: 1.12.1
meson.build:1:0: ERROR: Compiler cc can not compile programs.
A full log can be found at /home/oem/Downloads/scr/build-server/meson-logs/meson-log.txt
Makefile.CrossWindows:45: recipe for target 'build-server' failed
make: *** [build-server] Error 1
oem@LinuxMint:~/Downloads/scr$

here is meson-log
Build started at 2020-04-09T13:22:33.540562
Main binary: /usr/bin/python3
Build Options: -Dcompile_app=false -Dbuildtype=release
Python system: Linux
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-server
Build type: native build
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
None of 'PKG_CONFIG_PATH' are defined in the environment, not changing global flags.
Project name: scrcpy
Project version: 1.12.1
None of 'CC' are defined in the environment, not changing global flags.
None of 'CFLAGS' are defined in the environment, not changing global flags.
None of 'LDFLAGS' are defined in the environment, not changing global flags.
None of 'CPPFLAGS' are defined in the environment, not changing global flags.
None of 'CC_LD' are defined in the environment, not changing global flags.
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc /home/oem/Downloads/scr/build-server/meson-private/sanitycheckc.c -o /home/oem/Downloads/scr/build-server/meson-private/sanitycheckc.exe -pipe -D_FILE_OFFSET_BITS=64
Sanity check compile stdout:

Sanity check compile stderr:
/usr/bin/ld: cannot find Scrt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status

meson.build:1:0: ERROR: Compiler cc can not compile programs.

installed build-essential
now have this error
oem@LinuxMint:~$ cd Downloads
oem@LinuxMint:~/Downloads$ cd scr
oem@LinuxMint:~/Downloads/scr$ make -f Makefile.CrossWindows
fatal: not a git repository (or any of the parent directories): .git
./gradlew clean
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
rm -rf "build-server" "build-win32" "build-win64"
"build-win32-noconsole" "build-win64-noconsole" "dist"
[ -d "build-server" ] || ( mkdir "build-server" &&
meson "build-server"
--buildtype release -Dcompile_app=false )
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-server
Build type: native build
Project name: scrcpy
Project version: 1.12.1
C compiler for the host machine: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the host machine: cc ld.bfd 2.30
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program ./scripts/build-wrapper.sh found: YES (/home/oem/Downloads/scr/server/./scripts/build-wrapper.sh)
WARNING: Project targeting '>= 0.37' but tried to use feature introduced in '0.48.0': console arg in custom_target
DEPRECATION: build_always is deprecated. Combine build_by_default and build_always_stale instead.
Build targets in project: 2
WARNING: Project specifies a minimum meson_version '>= 0.37' but uses features which were added in newer versions:

0.48.0: {'console arg in custom_target'}
WARNING: Deprecated features used:
0.48.0: {'console arg in custom_target'}

Found ninja-1.8.2 at /usr/bin/ninja
ninja -C "build-server"
ninja: Entering directory `build-server'
[0/1] Generating scrcpy-server with a custom command
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.5.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 6s
26 actionable tasks: 25 executed, 1 up-to-date
make -C prebuilt-deps prepare-win32
make[1]: Entering directory '/home/oem/Downloads/scr/prebuilt-deps'
SDL2-2.0.10: found
ffmpeg-4.2.1-win32-shared: found
ffmpeg-4.2.1-win32-dev: found
platform-tools: found
make[1]: Leaving directory '/home/oem/Downloads/scr/prebuilt-deps'
[ -d "build-win32" ] || ( mkdir "build-win32" &&
meson "build-win32"
--cross-file cross_win32.txt
--buildtype release --strip -Db_lto=true
-Dcrossbuild_windows=true
-Dcompile_server=false
-Dportable=true )
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-win32
Build type: cross build
Project name: scrcpy
Project version: 1.12.1
C compiler for the build machine: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the build machine: cc ld.bfd 2.30
meson.build:1:0: ERROR: Unknown compiler(s): [['/usr/bin/i686-w64-mingw32-gcc']]
The follow exceptions were encountered:
Running "/usr/bin/i686-w64-mingw32-gcc --version" gave "[Errno 2] No such file or directory: '/usr/bin/i686-w64-mingw32-gcc': '/usr/bin/i686-w64-mingw32-gcc'"
A full log can be found at /home/oem/Downloads/scr/build-win32/meson-logs/meson-log.txt
Makefile.CrossWindows:54: recipe for target 'build-win32' failed
make: *** [build-win32] Error 1
oem@LinuxMint:~/Downloads/scr$

as already requested, please post your code/output between ``` so that it is formatted.
please read BUILD.md (earlier, you didn't install meson, here, you did not install mingw)

thanks
`
oem@LinuxMint:~/Downloads/scr$ make -f Makefile.CrossWindows
fatal: not a git repository (or any of the parent directories): .git
./gradlew clean
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
rm -rf "build-server" "build-win32" "build-win64"
"build-win32-noconsole" "build-win64-noconsole" "dist"
[ -d "build-server" ] || ( mkdir "build-server" &&
meson "build-server"
--buildtype release -Dcompile_app=false )
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-server
Build type: native build
Project name: scrcpy
Project version: 1.12.1
C compiler for the host machine: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the host machine: cc ld.bfd 2.30
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program ./scripts/build-wrapper.sh found: YES (/home/oem/Downloads/scr/server/./scripts/build-wrapper.sh)
WARNING: Project targeting '>= 0.37' but tried to use feature introduced in '0.48.0': console arg in custom_target
DEPRECATION: build_always is deprecated. Combine build_by_default and build_always_stale instead.
Build targets in project: 2
WARNING: Project specifies a minimum meson_version '>= 0.37' but uses features which were added in newer versions:

0.48.0: {'console arg in custom_target'}
WARNING: Deprecated features used:
0.48.0: {'console arg in custom_target'}

Found ninja-1.8.2 at /usr/bin/ninja
ninja -C "build-server"
ninja: Entering directory `build-server'
[0/1] Generating scrcpy-server with a custom command
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.5.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 4s
26 actionable tasks: 25 executed, 1 up-to-date
make -C prebuilt-deps prepare-win32
make[1]: Entering directory '/home/oem/Downloads/scr/prebuilt-deps'
SDL2-2.0.10: found
ffmpeg-4.2.1-win32-shared: found
ffmpeg-4.2.1-win32-dev: found
platform-tools: found
make[1]: Leaving directory '/home/oem/Downloads/scr/prebuilt-deps'
[ -d "build-win32" ] || ( mkdir "build-win32" &&
meson "build-win32"
--cross-file cross_win32.txt
--buildtype release --strip -Db_lto=true
-Dcrossbuild_windows=true
-Dcompile_server=false
-Dportable=true )
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-win32
Build type: cross build
Project name: scrcpy
Project version: 1.12.1
C compiler for the build machine: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the build machine: cc ld.bfd 2.30
C compiler for the host machine: /usr/bin/i686-w64-mingw32-gcc (gcc 7.3.0 "i686-w64-mingw32-gcc (GCC) 7.3-win32 20180312")
C linker for the host machine: /usr/bin/i686-w64-mingw32-gcc ld.bfd 2.30
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: i686
Target machine cpu family: x86
Target machine cpu: i686
Library SDL2 found: YES
Library SDL2main found: YES
Library avcodec-58 found: YES
Library avformat-58 found: YES
Library avutil-56 found: YES
Library mingw32 found: YES
Library ws2_32 found: YES
Configuring config.h using configuration
Build targets in project: 2
Found ninja-1.8.2 at /usr/bin/ninja
ninja -C "build-win32"
ninja: Entering directory `build-win32'
[25/25] Linking target app/scrcpy.exe
[ -d "build-win32-noconsole" ] || ( mkdir "build-win32-noconsole" &&
meson "build-win32-noconsole"
--cross-file cross_win32.txt
--buildtype release --strip -Db_lto=true
-Dcrossbuild_windows=true
-Dcompile_server=false
-Dwindows_noconsole=true
-Dportable=true )
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-win32-noconsole
Build type: cross build
Project name: scrcpy
Project version: 1.12.1
C compiler for the build machine: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the build machine: cc ld.bfd 2.30
C compiler for the host machine: /usr/bin/i686-w64-mingw32-gcc (gcc 7.3.0 "i686-w64-mingw32-gcc (GCC) 7.3-win32 20180312")
C linker for the host machine: /usr/bin/i686-w64-mingw32-gcc ld.bfd 2.30
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: i686
Target machine cpu family: x86
Target machine cpu: i686
Library SDL2 found: YES
Library SDL2main found: YES
Library avcodec-58 found: YES
Library avformat-58 found: YES
Library avutil-56 found: YES
Library mingw32 found: YES
Library ws2_32 found: YES
Configuring config.h using configuration
Build targets in project: 2
Found ninja-1.8.2 at /usr/bin/ninja
ninja -C "build-win32-noconsole"
ninja: Entering directory `build-win32-noconsole'
[25/25] Linking target app/scrcpy.exe
mkdir -p "dist/scrcpy-win32"
cp "build-server"/server/scrcpy-server "dist/scrcpy-win32/"
cp "build-win32"/app/scrcpy.exe "dist/scrcpy-win32/"
cp "build-win32-noconsole"/app/scrcpy.exe "dist/scrcpy-win32/scrcpy-noconsole.exe"
cp prebuilt-deps/ffmpeg-4.2.1-win32-shared/bin/avutil-56.dll "dist/scrcpy-win32/"
cp prebuilt-deps/ffmpeg-4.2.1-win32-shared/bin/avcodec-58.dll "dist/scrcpy-win32/"
cp prebuilt-deps/ffmpeg-4.2.1-win32-shared/bin/avformat-58.dll "dist/scrcpy-win32/"
cp prebuilt-deps/ffmpeg-4.2.1-win32-shared/bin/swresample-3.dll "dist/scrcpy-win32/"
cp prebuilt-deps/ffmpeg-4.2.1-win32-shared/bin/swscale-5.dll "dist/scrcpy-win32/"
cp prebuilt-deps/platform-tools/adb.exe "dist/scrcpy-win32/"
cp prebuilt-deps/platform-tools/AdbWinApi.dll "dist/scrcpy-win32/"
cp prebuilt-deps/platform-tools/AdbWinUsbApi.dll "dist/scrcpy-win32/"
cp prebuilt-deps/SDL2-2.0.10/i686-w64-mingw32/bin/SDL2.dll "dist/scrcpy-win32/"
cd "dist/scrcpy-win32";
zip -r "../scrcpy-win32-.zip" .
adding: scrcpy.exe (deflated 72%)
adding: adb.exe (deflated 49%)
adding: avcodec-58.dll (deflated 60%)
adding: SDL2.dll (deflated 61%)
adding: scrcpy-server (deflated 2%)
adding: swscale-5.dll (deflated 69%)
adding: avutil-56.dll (deflated 58%)
adding: AdbWinApi.dll (deflated 49%)
adding: AdbWinUsbApi.dll (deflated 49%)
adding: swresample-3.dll (deflated 56%)
adding: avformat-58.dll (deflated 56%)
adding: scrcpy-noconsole.exe (deflated 72%)
make -C prebuilt-deps prepare-win64
make[1]: Entering directory '/home/oem/Downloads/scr/prebuilt-deps'
SDL2-2.0.10: found
ffmpeg-4.2.1-win64-shared: not found
ffmpeg-4.2.1-win64-shared.zip: not found, downloading...
--2020-04-09 14:10:53--  https://ffmpeg.zeranoe.com/builds/win64/shared/ffmpeg-4.2.1-win64-shared.zip
Resolving ffmpeg.zeranoe.com (ffmpeg.zeranoe.com)... <IP_ADDRESS>, <IP_ADDRESS>, 2606:4700:3035::6818:69e3, ...
Connecting to ffmpeg.zeranoe.com (ffmpeg.zeranoe.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 26879633 (26M) [application/zip]
Saving to: ‘ffmpeg-4.2.1-win64-shared.zip’
ffmpeg-4.2.1-win64- 100%[===================>]  25.63M  5.75MB/s    in 4.7s
2020-04-09 14:10:59 (5.41 MB/s) - ‘ffmpeg-4.2.1-win64-shared.zip’ saved [26879633/26879633]
ffmpeg-4.2.1-win64-shared.zip: verifying checksum...
ffmpeg-4.2.1-win64-shared.zip: OK
Extracting ffmpeg-4.2.1-win64-shared.zip...
ffmpeg-4.2.1-win64-dev: not found
ffmpeg-4.2.1-win64-dev.zip: not found, downloading...
--2020-04-09 14:11:00--  https://ffmpeg.zeranoe.com/builds/win64/dev/ffmpeg-4.2.1-win64-dev.zip
Resolving ffmpeg.zeranoe.com (ffmpeg.zeranoe.com)... <IP_ADDRESS>, <IP_ADDRESS>, 2606:4700:3035::6818:69e3, ...
Connecting to ffmpeg.zeranoe.com (ffmpeg.zeranoe.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 627365 (613K) [application/zip]
Saving to: ‘ffmpeg-4.2.1-win64-dev.zip’
ffmpeg-4.2.1-win64- 100%[===================>] 612.66K  1.51MB/s    in 0.4s
2020-04-09 14:11:02 (1.51 MB/s) - ‘ffmpeg-4.2.1-win64-dev.zip’ saved [627365/627365]
ffmpeg-4.2.1-win64-dev.zip: verifying checksum...
ffmpeg-4.2.1-win64-dev.zip: OK
Extracting ffmpeg-4.2.1-win64-dev.zip...
platform-tools: found
make[1]: Leaving directory '/home/oem/Downloads/scr/prebuilt-deps'
[ -d "build-win64" ] || ( mkdir "build-win64" &&
meson "build-win64"
--cross-file cross_win64.txt
--buildtype release --strip -Db_lto=true
-Dcrossbuild_windows=true
-Dcompile_server=false
-Dportable=true )
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-win64
Build type: cross build
Project name: scrcpy
Project version: 1.12.1
C compiler for the build machine: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the build machine: cc ld.bfd 2.30
C compiler for the host machine: /usr/bin/x86_64-w64-mingw32-gcc (gcc 7.3.0 "x86_64-w64-mingw32-gcc (GCC) 7.3-win32 20180312")
C linker for the host machine: /usr/bin/x86_64-w64-mingw32-gcc ld.bfd 2.30
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: x86_64
Target machine cpu family: x86
Target machine cpu: x86_64
Library SDL2 found: YES
Library SDL2main found: YES
Library avcodec-58 found: YES
Library avformat-58 found: YES
Library avutil-56 found: YES
Library mingw32 found: YES
Library ws2_32 found: YES
Configuring config.h using configuration
Build targets in project: 2
Found ninja-1.8.2 at /usr/bin/ninja
ninja -C "build-win64"
ninja: Entering directory `build-win64'
[25/25] Linking target app/scrcpy.exe
[ -d "build-win64-noconsole" ] || ( mkdir "build-win64-noconsole" &&
meson "build-win64-noconsole"
--cross-file cross_win64.txt
--buildtype release --strip -Db_lto=true
-Dcrossbuild_windows=true
-Dcompile_server=false
-Dwindows_noconsole=true
-Dportable=true )
The Meson build system
Version: 0.54.999
Source dir: /home/oem/Downloads/scr
Build dir: /home/oem/Downloads/scr/build-win64-noconsole
Build type: cross build
Project name: scrcpy
Project version: 1.12.1
C compiler for the build machine: cc (gcc 7.5.0 "cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0")
C linker for the build machine: cc ld.bfd 2.30
C compiler for the host machine: /usr/bin/x86_64-w64-mingw32-gcc (gcc 7.3.0 "x86_64-w64-mingw32-gcc (GCC) 7.3-win32 20180312")
C linker for the host machine: /usr/bin/x86_64-w64-mingw32-gcc ld.bfd 2.30
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: x86_64
Target machine cpu family: x86
Target machine cpu: x86_64
Library SDL2 found: YES
Library SDL2main found: YES
Library avcodec-58 found: YES
Library avformat-58 found: YES
Library avutil-56 found: YES
Library mingw32 found: YES
Library ws2_32 found: YES
Configuring config.h using configuration
Build targets in project: 2
Found ninja-1.8.2 at /usr/bin/ninja
ninja -C "build-win64-noconsole"
ninja: Entering directory `build-win64-noconsole'
[25/25] Linking target app/scrcpy.exe
mkdir -p "dist/scrcpy-win64"
cp "build-server"/server/scrcpy-server "dist/scrcpy-win64/"
cp "build-win64"/app/scrcpy.exe "dist/scrcpy-win64/"
cp "build-win64-noconsole"/app/scrcpy.exe "dist/scrcpy-win64/scrcpy-noconsole.exe"
cp prebuilt-deps/ffmpeg-4.2.1-win64-shared/bin/avutil-56.dll "dist/scrcpy-win64/"
cp prebuilt-deps/ffmpeg-4.2.1-win64-shared/bin/avcodec-58.dll "dist/scrcpy-win64/"
cp prebuilt-deps/ffmpeg-4.2.1-win64-shared/bin/avformat-58.dll "dist/scrcpy-win64/"
cp prebuilt-deps/ffmpeg-4.2.1-win64-shared/bin/swresample-3.dll "dist/scrcpy-win64/"
cp prebuilt-deps/ffmpeg-4.2.1-win64-shared/bin/swscale-5.dll "dist/scrcpy-win64/"
cp prebuilt-deps/platform-tools/adb.exe "dist/scrcpy-win64/"
cp prebuilt-deps/platform-tools/AdbWinApi.dll "dist/scrcpy-win64/"
cp prebuilt-deps/platform-tools/AdbWinUsbApi.dll "dist/scrcpy-win64/"
cp prebuilt-deps/SDL2-2.0.10/x86_64-w64-mingw32/bin/SDL2.dll "dist/scrcpy-win64/"
cd "dist/scrcpy-win64";
zip -r "../scrcpy-win64-.zip" .
adding: scrcpy.exe (deflated 71%)
adding: adb.exe (deflated 49%)
adding: avcodec-58.dll (deflated 66%)
adding: SDL2.dll (deflated 63%)
adding: scrcpy-server (deflated 2%)
adding: swscale-5.dll (deflated 69%)
adding: avutil-56.dll (deflated 57%)
adding: AdbWinApi.dll (deflated 49%)
adding: AdbWinUsbApi.dll (deflated 49%)
adding: swresample-3.dll (deflated 56%)
adding: avformat-58.dll (deflated 56%)
adding: scrcpy-noconsole.exe (deflated 71%)
cd "dist";
sha256sum *.zip > SHA256SUMS.txt
Windows archives generated in dist/
oem@LinuxMint:~/Downloads/scr$
`


translation.splitlines() - AttributeError:  'NoneType' object has no attribute 'splitlines'

from srtranslator import SrtFile
from srtranslator.translators.translatepy import TranslatePy
translator = TranslatePy()
filepath = "video.srt"
srt = SrtFile(filepath)
srt.translate(translator, "en", "id")

# Making the result subtitles prettier
srt.wrap_lines()

srt.save(f"{os.path.splitext(filepath)[0]}_translated.srt")

Traceback (most recent call last):
  File "/app/plugins/code_runner.py", line 24, in code_runner
    await aexec(cmd, bot, update)
  File "/app/plugins/code_runner.py", line 61, in aexec
    return await locals()["__aexec"](bot, update)
  File "", line 7, in __aexec
  File "/usr/local/lib/python3.9/site-packages/srtranslator/srt_file.py", line 156, in translate
    translation = translation.splitlines()
AttributeError: 'NoneType' object has no attribute 'splitlines'

Did you got any print statement before the traceback?

no.

Should be fixed in v0.2.3

Closed due to inactivity and it should work by now. Reopen if not


merge optimization

use emitted set instead of reading all the data into memory concurrently

nevermind, I already do this
https://github.com/seanbreckenridge/browserexport/blob/71c6cb1b54833b973b5549451caf50204b254079/browserexport/merge.py#L26
the map call is lazy, so its only read in merge_visits once the iterator is consumed


OneDrive Desktop cannot be deployed via Intune

OneDrive Desktop app cannot be deployed via Intune when using Configuration designer. The only option that can be selected is OneDrive (Groove) on the list.

[Enter feedback here]

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

ID: f6d65d08-b216-1f92-cc37-40690fb3d627
Version Independent ID: ee040702-91ce-203a-7ae2-1fa9a52a9843
Content: Deploy OneDrive apps using Intune - OneDrive
Content Source: OneDrive/deploy-intune.md
Service: one-drive
GitHub Login: @kaarins
Microsoft Alias: kaarins

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

@eronad @scanum - I did opened a ticket with Microsoft Support and they confirmed the issue and had the screenshot updated.


Copy-MaintenancePlan command

Although I do not personally like or encourage maintenance plans, they do exist and are being used. Would it be possible to add a new command to migrate Maintenance Plans. I have worked on something similar successfully using Powershell to extract, import, and copy the agent jobs schedule. Would love to contribute, if possible.

If we want to support MaintenancePlan export/import, we'll need the ManageDTS.dll loaded as part of dbatools. If yes, I would gladly contribute to the project. If it cannot be loaded with dbatools, let me know.
Thanks.

We do not plan to support managing maintenance plans at this time.


[Flink-5378] Update Scopt version to 3.5.0

This will also allow for using comma-separated values in the CLI.
Note, as per https://github.com/scopt/scopt/releases/tag/v3.5.0 Scopt 3.5.0 introduces two-column rendering for the usage text, which is enabled by default. From my point of view this is even better as it'S more compact and better to read.

Hm, ok. One test failed, but that's strange since it has nothing to do with Scopt nor the Moreover, it failed only for one profile. According to https://issues.apache.org/jira/browse/FLINK-5101 it is a random problem with the Cassandra unit test. So, how to proceed?

I think the Cassandra Test has some flakeyness.
This look good, will merge...


Add GitHub workflow

This adds a GitHub workflow
Additionally:

Makes the compilation run on LuaLaTeX (hint from https://tex.stackexchange.com/a/642951/9075).
Changes cidarticle-author-template.tex to match dtx content

Thank you.


Unacceptable TLS certificate

Certificate error ignored when calling HTTPS URL,
webkit2gtk api：webkit_web_context_set_tls_errors_policy

Which URL did you load? Did the webview load it or throw an error? Please elaborate.

Maybe of some help
Having the same issue and I am using https://github.com/FiloSottile/mkcert to generate valid SSL certificates for local development.
Probably also happens with self-signed ones.


Disable nodejstools Parser

In ReSharpers lastest releases they support ECMA 6 and it works quite well. Same with Visual Studio 2015's latest updates. However, using NodeJS Tools seems to break any usage of their parsing and causes ECMA6 code to show as invalid/errors.
I do not see any option to completely disable NodeJS' parser so that I can just make use of the stock JavaScript parser or allow ReSharper to handle parsing and validating the JavaScript.
Is there a way to disable NodeJS Tools parser to allow other parsers to do the work for now until ECMA6 is fully supported?

Yes, if you mark your file as "content" instead of compile, it will open in the default VS editor rather than the Node.js editor, and also won't be analyzed. Be forewarned, though, we highly advise against using ReSharper alongside NTVS (or any Node project, really) due to potential perf issues (unless they've changed anything recently... their engine provides completions by executing your code rather than using static analysis): see this issue for more info https://nodejstools.codeplex.com/workitem/1584

That said, if you already have ReSharper enabled, and are happy with the perf, then it shouldn't be a concern (this is one of those issues that depends on the project itself.)

Is there an easy way to make all files content to ease this task?

We'll have a build out soon that adds that feature (right click on a folder to mark all files as content), so feel free to go ahead and build NTVS from source.

Otherwise, you could close your project and do a search & replace through your .njsproj file.

Alright. Sounds like the next build will be the best option.
As a request could there be a new option added in node.js' options to not use the node.js editor instead of using the content workaround?

We're working on features to address this, but won't be at 'release' quality for a release or two.

This was addressed with #243 as well as the new ES6 IntelliSense Preview


[Android] Tapping on drag handle while selection is collapsed does not show toolbar

Package Version
main branch with commit hash https://github.com/superlistapp/super_editor/commit/5304a3c2294dfa7ae2742539a5e9f2d3e05a3d16.
To Reproduce

Go to SuperEditor or Android SuperTextField demo
Tap one time on the content => collapsed selection is placed where the tap happened
Tap again on the drag handle

Actual behavior
Nothing happens.
Expected behavior
The toolbar is shown above with the action "Select all" and alternatively the action "Paste".
The "Paste" action is the more relevant since it's a way for users to paste content on a specific offset.
The expected behavior here described is based on how "Google Keep" works.
Platform
Android.

Screenshots
https://github.com/superlistapp/super_editor/assets/31278849/a5d0f4ce-01ae-4d33-8c09-7ac509bb09ed

Cc @matthew-carroll @angelosilvestre


Trouble installing npkg

Hello all!  I'm having a bit of difficulty understanding how to install npkg.  Is there any documentation which currently exists?  If not, I'd love to write something up.

npkg is deprecated, now we use standard npm registry.


gobject-introspection: 1.76.1 -> 1.78.1

https://gitlab.gnome.org/GNOME/gobject-introspection/-/compare/1.76.1...1.78.1
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

gobject-introspection> Dependency glib-2.0 found: NO found 2.76.4 but need: '>=2.78.0'

2.78 is in https://github.com/NixOS/nixpkgs/pull/247766

This is part of https://github.com/NixOS/nixpkgs/pull/247766 as well.


[BUG] Diff distinguishes hardcoded pointers from labels, and the intended behavior is the opposite of that

I had to match override some of the functions I decomped because of that...

We'll need a concrete example to understand the issue. Also, this would be an asm-differ issue, rather than a decomp.me one

After looking at one of your scratches, I believe this is a feature rather than a bug. The recommended solution here is to fix your target asm to have correct symbols


detail page implemented

Codecov Report

Merging #18 (f3e96c0) into main (a4302ec) will decrease coverage by 7.48%.
The diff coverage is 1.49%.

@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
- Coverage   32.16%   24.69%   -7.48%
==========================================
  Files          21       24       +3
  Lines         370      486     +116
  Branches       69       90      +21
==========================================
+ Hits          119      120       +1
- Misses        222      337     +115
  Partials       29       29

Flag
Coverage Δ

unittests
24.69% <1.49%> (-7.48%)
:arrow_down:

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


Export/import portfolio

It could be useful to be able to export a portfolio (encrypted seedphrase, enabled currencies, trade history etc) and import it at some other computer or just for backup reasons.
We can probably just put all the info in a JSON file.

You could do it now by just zipping/unzipping the app data folder.
But obviously that's a bit heavy and possible error prone.
Swap history + portfolios + config smushed into a single import/export JSON file is much nicer.


node download_binaries.js command fails

When installing from NPM, the install script fails. The problem is install is executed before the dependencies in download_binaries.js are installed. This is in Node 0.12 and npm 2.14. Installing all the dependencies in the install script may fix the problem.

Something is looking for json-stringify-safe. Installing it as a peer fixes the issue.

Are you installing from npm registry or from github as the download_binaries.js script gets replaced in the package we put up on https://www.npmjs.com/package/appmetrics and is called download_all_binaries.js
If you uninstall your json-stringify-safe module and appmetrics, and then attempt to reinstall it, can you paste in the trace showing the error please ?
Thanks

From the NPM registry. I got another failure which is the same as the json-stringify-safe.
><EMAIL_ADDRESS>install /home/blah/workspace/mccp-test-run/node_modules/appmetrics-elk/node_modules/appmetrics
> node download_all_binaries.js

module.js:338
    throw err;
          ^
Error: Cannot find module 'readable-stream/duplex'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/blah/workspace/mccp-test-run/node_modules/request/node_modules/bl/bl.js:1:82)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
npm ERR! Linux 3.13.0-43-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! node v0.12.9
npm ERR! npm  v2.14.9
npm ERR! code ELIFECYCLE

the next release of appmetrics is going to remove the need to pull binaries from a separate host as all binaries will be hosted on npm

@tobespc our CI is failing, is it possible to get a patch out that has dependencies on the modules used by the current install script?

@sam-github  I'm on it :-)

are you installing the latest 1.0.12 version ? Went live 2 days go ?

this looks to be the same as https://github.com/RuntimeTools/appmetrics/issues/169

Does upgrading to npm3 resolve it ?

Thanks.
On Jun 14, 2016 10:05 AM, "Toby Corbin"<EMAIL_ADDRESS>wrote:

the next release of appmetrics is going to remove the need to pull
binaries from a separate host as all binaries will be hosted on npm
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/RuntimeTools/appmetrics/issues/218#issuecomment-225891301,
or mute the thread
https://github.com/notifications/unsubscribe/AEX_-13F18uVW8a1OjIFOH7mPnhMfccHks5qLrUlgaJpZM4Idc2J
.

Unfortunately, our workaround was to remove appmetrics from our production deployments. We still use it in test. Perhaps we will retry with the newer version at a later date.

I think this has been fixed by #289


Obsidian freezes when a large Excalidraw drawing is opened

Also reported here: https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/1744
When I open an large Excalidraw drawing (with 1500+ elements), Obsidian freezes.
Disabling the Metadata Menu plugin resolves this issue.
Not sure how to proceed with this issue.
PS. Might it be related to https://github.com/mdelobelle/metadatamenu/issues/660 ?

Similar to what was reported in #660 , this issue is resolved by turning off
Community Plugins -> Metadata Menu -> Metadata Menu button -> Properties


Creation of long absolute paths in software_depot fail

the directory resource needs a recursive attribute

Fixed with  https://github.com/Zuehlke/cookbook-windev/commit/99aad84a97631c4adf3747ffb8354a90bc801d5d


Update console.md

Adding an important notice about requirement of using the correct Host OS version to run CreateSrsMedia.ps1 script

@nenonix @JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@LanaChin PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Start menu entry not created by hyper 2.0.2 installer

[x] I am on the latest Hyper.app version

[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: Windows 10 64-bit Creators Update (latest updates)

Hyper.app version: 2.0.2

Link of a Gist with the contents of your .hyper.js: https://gist.github.com/F21/6b817008781add7f7f415d6c5316e08c

Relevant information from devtools (CMD+ALT+I on Mac OS, CTRL+SHIFT+I elsewhere): N/A

The issue is reproducible in vanilla Hyper.app: Is Vanilla

Issue
I am using the 2.0.2 Windows 64-bit installer downloaded from Github on a clean machine. All previous versions of hyper were uninstalled and the .hyper.js file and .hyper_plugins folder were deleted before installing 2.0.2. Hyper installs correctly, however, there does not appear to be an entry in the start menu, so it is not possible to launch hyper from the start menu.

You should never install the canary versions directly, the correct way to do it is:

Install stable
Edit .hyper.js updateChannel to canary

Otherwise you'd get a stable update overwriting your canary version.
We should probably document this somewhere.
However, it might be the case that this is a real issue, that we broke the installer in 2.0 so it should still be investigated 👍

@albinekb I will investigate this problem with the Windows version to rule out any possibility.


Nested functions invokes "duplicate function definition" error in 1.17.0

Sometimes the Problems tab show many "duplicate funciton definition" errors for nested functions. But these functions is not duplicated.
When I click on an error, the error is removed.
Please view this video for the details:
https://user-images.githubusercontent.com/6010183/236897351-ff413a6d-7ec5-4b57-969a-d1d29b952702.mp4
Thanks!

Thanks. I'm aware of the issue, but I haven't yet figured out why it happens. I don't think I made any fundamental architecture changes to vscode-as3mxml that would cause it, which makes me think that it's a change in either newer versions of the Java runtime or in the Royale compiler.
I need to find a way to consistently reproduce the error. Then, I can try some things.
One commit that I plan to revisit, once I can reliably reproduce, is this one:
apache/royale-compiler@ad2e39d4e1ea129cd10557b877b5ae80a12928e6

I'm getting this consistently too (2K+ entries in Problems tab!) I believe it started with the latest update, but I hadn't changed the Java JDK at the time - have done since and can confirm it happens with JDK 11 and 20.

I have a workspace where I can reliably reproduce this issue by editing a particular .as file. Sometimes, it reproduces immediately when I open the project, but not always.
I confirm that it does not seem to reproduce if I use JDK 11 instead of JDK 17. So something seems to have changed in Java that is triggering this issue now, where it wasn't before. If I had to guess, something related to how threads behave. Debugging threads is tricky, so that's just great for us.
I tried reverting apache/royale-compiler@ad2e39d4e1ea129cd10557b877b5ae80a12928e6, but I could still reproduce the issue with JDK 17, so we can rule out that commit being the cause.
One thing that might be interesting about this workspace is that it contains two projects, let's call them A and B. A is an application. B is a library that the application depends on. B is simply separated from A for organization purposes, and it isn't built as a .swc file. Instead, A references B's src directory in its source-path. So both projects reference the same directory in their source-path. That may be meaningful, or it may not.

I spent several hours today trying to add some heavy-handed thread Java synchronization to vscode-as3mxml and royale-compiler, but no luck yet. Editing a file or two still causes the duplicate function definitions (and variable definition warnings).
Next time I look at this, I might try some other things (leaving a note to remind myself):

Try various JDKs between 11 and 17 to see exactly where the change starts happening. It should help narrow down which release notes or changelogs to look at for clues.
Generate logs of added and removed definitions (possibly with specific names only to keep the output small) from scope and compare output from 11 and 17 to see if anything looks suspicious

I spent several hours today trying to add some heavy-handed thread Java synchronization to vscode-as3mxml and royale-compiler, but no luck yet. Editing a file or two still causes the duplicate function definitions (and variable definition warnings).
Next time I look at this, I might try some other things (leaving a note to remind myself):
* Try various JDKs between 11 and 17 to see exactly where the change starts happening. It should help narrow down which release notes or changelogs to look at for clues.

* Generate logs of added and removed definitions (possibly with specific names only to keep the output small) from scope and compare output from 11 and 17 to see if anything looks suspicious

Sounds painful, Josh. If you need me to do any tests, please let me know.

I was able to download JDKs 13, 15, and 16 today. Similar to JDK 11, I could not reproduce this issue with 13 or 15. However, similar to JDK 17, I can reproduce with 16.
Since JDK 15 doesn't reproduce, but JDK 16 does, that tells me that I'm looking for a change introduced in JDK 16.

I tried separately adding both -XX:+UseSerialGC and -XX:+UseParallelGC to the as3mxml.languageServer.jvmargs setting to try out different Java garbage collectors to rule out any changes that may have happened to Java's default concurrent G1 garbage collector. I could still reproduce with JDK 17.

Just to see what would happen, I tried building various older versions of vscode-as3mxml and testing with JDK 17. I was able to go as far back as vscode-as3mxml v0.21.0 (from July 2019) before I couldn't build the project anymore without too many manual tweaks. This version was based on Royale compiler 0.9.4 (from December 2018). It can still reproduce the issue with JDK 17.

The issue doesn't happen with anonymous (no-name) functions. Just an idea, I think the issue may related to string manipulation, for example when we get the function names/ids, they all return null or undefined, so it will be duplicated. Maybe tracing the result could help identify where the bug is.
I'm also looking for something similiar...

I tried resorting to adding System.err.println() calls. I can see with JDK 17 that local functions are re-added to the parent function's scope repeatedly after each time the file is saved (which is why they're reported as duplicates). This seems to be because new FunctionNode objects are created after the file is getting repeatedly parsed, for some reason. With JDK 11, the file is not being repeatedly parsed, so local functions are added to the scope at the initial parse only, and any changes keep the original FunctionNode objects.
I'm not sure why it's happening yet, but at least I finally have something more concrete to work with. I'll keep investigating.

It appears that a weakly referenced object is being collected in JDK 17, but not JDK 11. As mentioned previously, I could also reproduce with JDK 16. I see in the JDK 16 release notes that the garbage collector changed how it handles weak references. Now, they are collected concurrently instead of at the next big GC pause, which means that they would stick around much longer in previous versions.

I've found that reverting the early return when containsLocalFunctions() is true in FunctionNode.discardFunctionBody() in this commit seems to help with this issue:
https://github.com/apache/royale-compiler/commit/f0ebbf0ca473a6938cb05f86b40d7053abab3014#diff-2be3b84179fd8a493c510db0df50d8a5f2209e7cbd363ef4cb60626cfcfb412dR941
When the method is allowed to run, it removes all local definitions from the scope. There wouldn't be duplicates, if that could happen.
I need to change something there, but it could easily cause some side effects with JS code generated by Royale, so I'll need to investigate that side of things thoroughly before I can commit a fix.

I've found that reverting the early return when containsLocalFunctions() is true in FunctionNode.discardFunctionBody() in this commit seems to help with this issue

I tested this again today, and I was able to reproduce. I guess I still need to investigate more.


Refactor internals and improve RSpec support

This PR refactors Stimpack and breaks the initialization step into 2 process: non-Rails and Rails. The non-rails part simply provides packs and pack traversal. When Rails is involved, we inject the packs into Rails (along with Engine support). This helps us extract the RSpec helper so that it works without Rails booting.
Fixes #15
For better RSpec support, you now have to --require stimpack/rspec. You can add this to .rspec or add it to your command line: bundle exec rspec --require stimpack/rspec ...
This allows Stimpack to hook into RSpec before files are resolved. Because of this, we're now able to do some fancy stuff:
(This assumes you've added --require stimpack/rspec to .rspec)
bundle exec rspec #=> Runs _all_ specs in your entire application (packs and all)
bundle exec rspec spec/some/specific_spec.rb #=> Runs just that one test
bundle exec rspec packs/foobar #=> Runs all specs under the foobar pack _and_ all the specs of its nested packs
bundle exec rspec packs/foobar pack/binbaz #=> same as above but also adds the binbaz pack
bundle exec rspec packs/foobar/spec #=> Runs all spec files inside the "packs/foobar/spec" directory
bundle exec rspec packs/foobar/nested_pack #=> Runs all specs under the "packs/foobar/nested_pack" pack

For better RSpec support, you now have to --require stimpack/rspec.

"You now have to" => "You now can" ?
It's unclear to me if this is required for rspec support or if not, under what conditions it's recommended, and what it adds.
bundle exec rspec #=> Runs _all_ specs in your entire application (packs and all)
bundle exec rspec spec/some/specific_spec.rb #=> Runs just that one test
bundle exec rspec packs/foobar #=> Runs all specs under the foobar pack _and_ all the specs of its nested packs
bundle exec rspec packs/foobar pack/binbaz #=> same as above but also adds the binbaz pack
bundle exec rspec packs/foobar/spec #=> Runs all spec files inside the "packs/foobar/spec" directory
bundle exec rspec packs/foobar/nested_pack #=> Runs all specs under the "packs/foobar/nested_pack" pack

I think this would actually be great to add to the README 🤔 Then again, this feels like mostly just rspec API, but we do seem to be adding a bit of behavior on top of this.

If we are requiring the user to add this new flag for rspec support, should we bump the major version? Or are we saying that not adding that flag, it continues to either work or not work as before, but adding that flag makes something new work? If so, it wouldn't be a breaking change.


Handling unit discrepancies in key_map

Noticed this for the input .ayo files and EXOSIMS JSON, but is likely also present elsewhere in the key map.
Some of the keys represent the same value (i.e. the detector pixel scale) but AYO may define it in terms of arcseconds whereas EXOSIMS uses milliarcseconds. This can be even more complicated since for EXOSIMS you can sometimes specify what units are being provided via a key in the input JSON.
Need to think of a good way to handle/book keep this whether that's defining our own internal unit consistency that we transform all values to comply with or using a tool like astropy units.

I think assigning astropy units when loading them is probably the easiest way to book keep these. The ayo input loader parse the provided units into astropy and the EXOSIMS one should probably do the same since EXOSIMS is already set up with astropy in mind. It could be something where we have to add an "EXOSIMS_unit" column to the spreadsheet or something.


fix copying .vif file in VolumeCopy

What problem are we solving?
closes #4934
fixes #2633
might fix #3528
How are we solving the problem?
Replaced volFileInfoResp.DatFileSize with a high enough number (1024*1024)
How is the PR tested?
compiled it, confirmed that it works

Thanks for the finding and fixing this critical bug!


[SILGen/DI] TypeWrapper: Few improvements to synthesis in user-defined initializers

Make sure that wrapper's initializer is always emitted by SILGen, otherwise it won't be available to DI/IRGen
Add support to custom conformance requirements on Wrapped and Storage types.
Add support for property wrapped fields without initializer expression.

@swift-ci please test


Doesn't work on Docker, Windows 10

I'm running WordPress on Docker Desktop (Version 3.0.4)
Plugin installed (Version 1.1.1)
Added "define( 'WP_ENVIRONMENT_TYPE', 'local' );" in wp-config.php
In plugin, ray("hello"); and also error_log("Hello");
"Hello" in debug.log
Nothing in Ray.
Tried adding in docker-compose:
extra_hosts:
- "host.docker.internal:host-gateway"
Still nothing.
Docker compose file for reference:
version: '3'
services:
database:
image: mysql:5.7
command:
- "--character-set-server=utf8"
- "--collation-server=utf8_unicode_ci"
ports:
- "3308:3306" # ()
restart: on-failure:5
environment:
MYSQL_USER: wordpress
MYSQL_DATABASE: wordpress
MYSQL_PASSWORD: wordpress
MYSQL_ROOT_PASSWORD: wordpress
wordpress:
depends_on:
- database
image: wordpress:latest
ports:
- "8001:80" # ()
restart: on-failure:5
volumes:
- ./public:/var/www/html
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_PASSWORD: wordpress
extra_hosts:
- "host.docker.internal:host-gateway"
phpmyadmin:
depends_on:
- database
image: phpmyadmin/phpmyadmin
ports:
- 8081:80 # (*)
restart: on-failure:5
environment:
PMA_HOST: database
Any ideas?
Thank you!

Could you try mapping port 23517

"23517:23517"

Could you try mapping port 23517

"23517:23517"

Thank you for the suggestion.
I tried mapping "23517:23517" for wordpress. No joy.
netstat returns
TCP    <IP_ADDRESS>:23517          <IP_ADDRESS>:0              LISTENING       22216
TCP    [::]:23517             [::]:0                 LISTENING       22216
I tried changing the port on Ray to 22216, but still nothing.

Thank you for the suggestion.
I tried mapping "23517:23517" for wordpress. No joy.
netstat returns
TCP    <IP_ADDRESS>:23517          <IP_ADDRESS>:0              LISTENING       22216
TCP    [::]:23517             [::]:0                 LISTENING       22216
I tried changing the port on Ray to 22216, but still nothing.

Then, I don't know...
The desktop app just listens for messages on the port. The Ray package just sends things to that port.
I guess you should research how you can open a port on Docker on how to map that to a port on your native environment.

Then, I don't know...
The desktop app just listens for messages on the port. The Ray package just sends things to that port.
I guess you should research how you can open a port on Docker on how to map that to a port on your native environment.

Understood. Thank you for pointing me in the direction! Cheers!

Understood. Thank you for pointing me in the direction! Cheers!

I can confirm this is an issue. I've included the port to my docker-compose.yml but no ray() calls show up in my app.
I am calling ray from a wordpress plugin :/


RangeSlider has no property called "showValueIndicator"

Version:  Flutter 1.17.5 • channel stable
The RangeSlider docs given here describes a property called showValueIndicator for showing a label above the active thumb when the RangeSlider is active. But the RangeSlider constructor in the latest version has no such property.

Hi @melwinlobo18
your link leads to flutter_range_slider which is a 3rd party package
with it's own github repo
not to be confused with the material design class RangeSlider
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Code style updates

[x] Converted to use a map for the trigger function
[ ] Rewrite using modern ES6 functions

Coverage remained the same at 100.0% when pulling e5399aa4124bef2b88de90c8960d02961dbd06b0 on code-style-updates into 50b5d77dc6760235e4e88d39c10dd747139e391d on master.


Fix FormModel::$translator must not be accessed before initialization.

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
https://github.com/yiisoft/form/issues/29

👍


Make an option to use auth-header instead of cookies

I have the API on a different URL than the angular application. Cookies don't work very well with different host names between the FE and the API. Would be nice if i had the option of sending the token in an auth-header instead of a cookie.

Can you please help me understand the implementation difference?
With CORS, the server has to tell the browser which headers the browser is allowed to transmit during a cross-origin request by listing them in the Access-Control-Request-Headers response header.
This means either Cookie or YOUR-CUSTOM-HEADER has to be listed in that list to allow the other domain to send the bearer token.  If you added Cookie, it would just work, no need for a custom header.
Thoughts?

Hi @AlmaasAre
The cookie should still work even if the API is on a different URL, but you will have to instruct the XHR object to use the withCredentials flag (Angular's $http object accepts this).
This has prompted me to write an example app that shows how to do this with our SDKs.  Are you using our Express SDK with Angular?

Ah, even better - no need to even mess with that particular CORS header.

D'oh!  I'm silly (and lacking caffeine).  The same cookie wont work in this situation, because it's stored on the other domain (it's issued from the other domain).
So yes, cross domain requires you to start passing the access token in a HTTP header.  As you saw in #5 this is something that I need to support with this library.  I'm cranking away on that now..

yes exactly. Thanks, that's awesome :)
I'm using the express sdk and angular sdk.
I think an http-header would be cleanest to  have for cors Idd. The alternative would be to accept cross site scripting.

Hi @AlmaasAre
Now that the holiday weekend is over... :)  My original comment about using the withCredentials option is in fact the correct solution to this problem.
I've published an update to this library, it now uses that option.  I've also pushed an update to stormpath-sdk-express (It had some bugs with the CORS implementation).
Please update these modules and give it a go, things should be working across different ports now!
Cheers,
Robert

Alright, thank you!


Adds decode to list of subscriptions for disposal

Hi Adam, I've been working on my first extension and have found your codebase a useful starting point thanks!
I think the change I've proposed could prevent memory leaks? It looks like each disposable function needs to be in the subscriptions array for when the component is deactivated.

Thank you! 👍


Filters & hydrators

I was trying to make a hydrator and using filters. I made a small code to use a hydrator with annotations. And i came to the following problems:

->filter() does not have a generic interface. Sometimes only the propertyName is passed sometimes the \nameSpace\Class::Property
the FQCN is useful because then you can get the reflection information. But some combinations of hydrators and filters are not compatible.

(This is more a problem about the hydrators)
There are only filters used for extracting and not hydrating. Of course you can filter the array yourself before you hydrate but then it's not good for re-use of code and seperation of concerns.

This issue has been closed as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html


Migrate missing content from SDK-Doc/Customer.Service.Support/

[x] event model
[x] tutorials
[x] reports
[x] trigger scripts
[x] intro?

@pavlas77 can you check this issue and close if ok?


Bug: Index out of range exception in home

⏱ Before you start...

[X] Have you updated FluentHub? You might be using an old version.
[X] Have you checked if a similar issue has already been reported?

🪟 What version of Windows is this issue present?
Windows 11 Dev
🔢 What version/architecture of FluentHub are you on?
<IP_ADDRESS> | X64 | RELEASE
📄 Description
Gives Error saying the index was out of range
🪜 Steps To Reproduce

Install The App For The First Time
Go To New Tav

🤔 Expected behavior
A home page.
📟 Stack Trace
Stack trace details
at System.ThrowHelper.ThrowArgumentOutOfRange_IndexException() + 0x16
   at FluentHub.Octokit.Queries.Users.NotificationQueries.<GetAllAsync>d__0.MoveNext() + 0xc95
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0x70
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x38
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task) + 0x17
   at FluentHub.Uwp.ViewModels.Home.UserHomeViewModel.<LoadHomeContentsAsync>d__25.MoveNext() + 0x36b
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0x70
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x38
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task) + 0x17
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0xb
   at FluentHub.Uwp.ViewModels.Home.UserHomeViewModel.<LoadUserHomePageAsync>d__24.MoveNext() + 0x1e0
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0x70
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x38
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task) + 0x17
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0xb
   at Microsoft.Toolkit.Mvvm.ComponentModel.ObservableObject.<>c__DisplayClass20_0`1.<<SetPropertyAndNotifyOnCompletion>g__MonitorTask|0>d.MoveNext() + 0xab

📸 Assets

This problem was already fixed in v0.5.0. The app which you in use is ild version and so you can install new one from GitHub Releases page.
Note: Because of the problem that we cannot generate the package for Microsoft Store, we decided we suspend to upload them for a while. Until it available in Store, you have no choice but downloading from GitHub Releases page. Sorry for any inconvenience and thank you for trying our app out.

This was fixed in v0.5
Can you try it again?


Windows App won't open

User has attempted several re-installs and gets same issue
Case 586135

windows_native_app/7.4.73
The operating system is Windows 10; all of the latest Windows updates are in. Some screenshots and some more info of steps taken with the case.


Integration in greenlight

Hi Tilman, thanks for your work on bbb-video-download.
We are using it in our setup and have adapted the greenlight-integration from https://gitlab.rlp.net/rzht-public/3b-download to work with bbb-video-download. The author of 3b-download gave the permission to publish this solution.
The idea ist to inject some js-code with the help of nginx into greenlight to get an aditional button on the greenlight recordings page below the presentation button.
If this is ok for you, I can make a pull request . It consists of some files:
/opt/bbb-download/htdocs/injector.js
/opt/bbb-download/htdocs/index.php
/opt/bbb-download/etc/config.inc.php
and some lines of nginx config.

So, what I do, what is probably easier, is check on the scalelite loadbalancer if there is a video present, and if so, add another presentation format to the DB. This could be done analogously for non-scalelite setups; Please see the code below:
#!/usr/bin/python3
import os
import re
import sys

import psycopg2
conn = psycopg2.connect("dbname=scalelite user=scalelite password=DBPASSWD host=DBHOST")

def create_download_link(meetingid):
#	print("Getting "+meetingid)
	cur = conn.cursor()
	cur.execute("SELECT id FROM recordings WHERE record_id = %s;", (meetingid,))
	recordingid = cur.fetchall()
	if not recordingid:
#		print('No record found')
		sys.exit(0)
	else:
		cur.execute("SELECT * FROM playback_formats WHERE format = 'download' AND recording_id = %s;", (recordingid[0][0],))
		download = cur.fetchall()
		if not download:
			cur.execute("SELECT length FROM playback_formats WHERE format = 'presentation' AND recording_id = %s;", (recordingid[0][0],))
			length = cur.fetchall()
			cur.execute("INSERT INTO playback_formats (recording_id, format, url, length) VALUES (%s, 'download', %s, %s);", (recordingid[0][0],"/presentation/"+meetingid+"/video.mp4",length[0][0]))
			conn.commit()
#		else:
#			print("record exists; Exiting")

def check_video_mp4(meetingid):
	f = "/srv/nfsroot/recordings/var/bigbluebutton/published/presentation/"+meetingid+"/video.mp4"
	if os.path.isfile(f):
		return True
	else:
		return False

def get_meeting_ids():
	cur = conn.cursor()
	cur.execute("SELECT record_id FROM recordings")
	meetings = cur.fetchall()

	for m in meetings:
		if m:
			if check_video_mp4(m[0]):
				create_download_link(m[0])

get_meeting_ids()

@christmart - can you provide source? I'll test both solutions and could add them as optional/manual install for those who are interested.

I am interested too, because I implanted not a button, but a simple link into dropdown menu of some .erb file... and this link is present even no file ready.

@christmart - can you provide source? I'll test both solutions and could add them as optional/manual install for those who are interested.

Have a look at https://github.com/christmart/bbb-video-download/tree/master/greenlight .

Have a look at https://github.com/christmart/bbb-video-download/tree/master/greenlight .

Erm, additionally install php-fpm on a BBB server?
I don't think that this is such a good idea...

Well, just use the script I posted above to add the download video link instead then. ;-)

Well, just use the script I posted above to add the download video link instead then. ;-)

Already did that, works :-) Thank you for this "non-invasive" solution.
But i just wanted to comment @christmart that i know this solution, but since PHP is not known for security... i would not recommend this :P

I also think that the solution with registering the videos in the database is the better way.
But the script only solves the issue for greenlight, because greenlight does not use a recording-ready-url as a callback but askes everytime via API for the list of recordings.
Other integrations like moodle or mattermost set the recording-ready-url.
This url gets called from BBB after the normal video processing.
So we need to add this to the python script.

Wouldn‘t it be a better solution to get an email when the recording is ready? One could hook a script in bbb chain.

Would love to do that or even move the recordings do a video plattform like opencast or panopto automaticaly.
But you don't get the email address or the userid of the owner of the room in the BBB-backend. You only get what the frontend like greenlight, moodle, mattermost etc. passes on via the BBB-api as metadata.

Hi. If you want to code that, it‘s possible:
When the bbb room is created the api allows to pass metadata. Greenlight passes the room name for example. You could fork greenlight to pass whatever info you need. This metadata is stored in metadata.xml in the presentation folder. So you could parse that with a post hook script and do the desired actions.


inconsistent property definition

This caught me out when browsing the new docs http://developer.sketchapp.com/reference/api/
Sometimes read-only properties are in the properties table at the top of the object, sometimes they're separate in the body. In the old docs, the difference between properties and methods was very clear, but in this new format, the lines are blurred
An example here is Document. The pages property is hidden in the object body, and not shown in the properties table. Whereas for Group, the layers property is in the properties table

The pages property is read-only while layers is read-write.
I tried to keep all the properties in the properties table read-write, the rest being read-only or methods. I might have messed up for some?

Ah OK that wasn't clear. Perhaps needs making more explicit? I think it's a bit harder to parse when properties and methods are mixed, means you have to read the description and/or code each time.
In general, I find the new format harder to parse, because everything jumbles into everything else.
I think contributing reasons are:

everything is on one massive page, so you can quite easily scroll into another object's methods / properties without noticing. This may be a problem with the visual hierarchy of the sections, but I think it would be a problem even if the titles were massive 😁
methods and properties are not clearly delineated, could be done with () on the end of methods, but the different treatment of read-only and read-write properties also contributes
the sidebar / method title is sometimes not the method name i.e. getSelectedDocument is called Accessing the selected document and only reading the code yields the method name. I thought this was only for Class-level methods, but Settings doesn't follow this convention

Will have a think because I feel there are some other usability things I can't quite put my finger on
Noticed another small inconsistency - the type of layers for Group is Layer (when it's an array?) whereas the type for overrides on Symbol Instance is Override[]

everything is on one massive page, so you can quite easily scroll into another object's methods / properties without noticing. This may be a problem with the visual hierarchy of the sections, but I think it would be a problem even if the titles were massive

Hum interesting, I actually find it a lot more easier. I tried to look at the best documentations around and one that really strike me was https://stripe.com/docs/api. We can probably improve the design and the usability but I really like those type of documentation where you are just a ctrl + f away from anything

could be done with () on the end of methods

Good idea

the different treatment of read-only and read-write properties also contributes

Yes I agree. My end goal is to only have read-write properties and methods. I find read-only properties confusing. So hopefully this will naturally disapear :)

the sidebar / method title is sometimes not the method name

Indeed. I'd say that a human readable title is preferable but can be argued either way.

the type of layers for Group is Layer (when it's an array?) whereas the type for overrides on Symbol Instance is Override[]

Typo. Good catch!

I tried to look at the best documentations around and one that really strike me was https://stripe.com/docs/api. We can probably improve the design and the usability but I really like those type of documentation where you are just a ctrl + f away from anything

yep true - they have one of the best single pagers. One thing I've noticed is that they always use full english descriptions in the sidebar / titles - never method names. We are currently mixing full english and method names in sidebar / titles, so perhaps we should gradually move to all english or all method names.
Github also uses full english descriptions https://developer.github.com/v3/orgs/outside_collaborators/ and I like the summary at the top of an object. This helps with the fact that the sidebar hides most of a full english description
I think that's one thing I'm missing from the old docs is a way to get an easy overview of an object - properties, static methods & instance methods. Admittedly this doesn't exist in Stripe, but it was super clear in 48, with inheritance, static methods, members, constructors all having a known format. Maybe reintroducing WrappedObject could help with inheritance (and would make the Sketch Components section more practical - and a more clear inheritance tree, like 48

Overall, it would be cool to distinguish between static methods, constructors, members & methods somehow, and for these to have a consistent format across the docs (and maybe representation in the sidebar, although if we go full english description route - probably not)

Yes I agree. My end goal is to only have read-write properties and methods. I find read-only properties confusing. So hopefully this will naturally disapear :)

There are some things it's kinda weird to reassign (like a Layer id or the Document pages) but I guess that can still be possible and people just shouldn't do it :)

we should gradually move to all english

:+1:

the summary at the top of an object

Oh yes that's nice indeed. But I'm scared that it will get out of sync with the actual content :/

a more clear inheritance tree

That reminds me that I wanted to make a diagram with the inheritance tree. Maybe that would help solve the issue. But I like the idea of the breadcrumb for each component yes

There are some things it's kinda weird to reassign (like a Layer id or the Document pages)

So I was thinking that instead of separating the hopefully really rare read-only properties, we could throw a descriptive error when trying to write them. That way you get in-context documentation without polluting the main docs with often usuless information (if you don't do weird stuff, you won't need it). How does that sound?

I made some progress in the right direction I believe: https://developer.sketchapp.com/reference/api/

scared that it will get out of sync

OK so a question - are these docs generated from / synced with the source files? I'm guessing S48 docs were (from their appearance), but the new ones are just markdown files? Doesn't that mean the docs can get out of sync anyway (regardless of a "object summary")?
I guess the fix would be to generate the summaries dynamically from the markdown files or another intermediate form. The markdown files could also be generated out of comments on the source files, but I'll let you comment on whether  / why we don't want to do that.

diagram with the inheritance tree

ah like for everything in one? that sounds useful, although I still think its cool to have the breadcrumbs

we could throw a descriptive error when trying to write them

yep this sounds good :)
Thinking about properties, and seeing https://github.com/sketchplugins/plugin-requests/issues/17, it seems like we need to be clearer when an assignment will travel up the reference tree, and when it won't. i.e. layer.frame.x = 2 doesn't change the frame, when the user would really expect it to do so.

made some progress in the right direction

yep you did :) I really like the new properties / params table
A few things I noticed

Font : font and systemFontSize are write-only properties?
the Returns for the Move the layer in the hierarchy methods is very teeny 🐜
inconsistent capitalisation i.e. create a new Text and Create a new shape. Guess we need a rule about whether we capitalise object names or not
Access the selected document and friends can have a Returns with the Document type
For methods that return the current X, like Adjust to fit its children, should X be a reference to the Document object
code titles like ImageData are very small relative to normal titles
when it comes to properties / inherited properties, I see we quite often repeat the inherited properties (like Shape) isn't this a bit pointless if the inheritance is clear. Isn't it better for people to only see the unique stuff, and have a better understanding of which properties come from where
Create a new Symbol Master from an Artboard SymbolMaster should be linkified?
Hotspot has a property layers which is wrong? When I call it, it's undefined and it doesn't seem to make sense
objects need linkifying in objectToExport> export parameters

that's all I had time to spot atm

Doesn't that mean the docs can get out of sync anyway (regardless of a "object summary")?

They can but it's easier to check that a PR doesn't modify the docs rather than remember that the object summary needs to be updated as well.

the fix would be to generate the summaries dynamically from the markdown files

Possibly. I'll think about it.

The markdown files could also be generated out of comments on the source files, but I'll let you comment on whether / why we don't want to do that.

Because when you try to put all the examples, all the human-readable explanations, and all of that in the source code, it's becoming unreadable. Also the parser for those comments is far from trivial and I couldn't find any that generate something clean.

I still think its cool to have the breadcrumbs

Agree

sketchplugins/plugin-requests#17

Sounds like a bug that we should fix. Everything should travel up

Isn't it better for people to only see the unique stuff, and have a better understanding of which properties come from where

That's a good question. What I tried to do:

put the inherited properties first
put the unique stuff after
So it's easy to parse. I feel like writing all the properties everytime would help beginners. Maybe we can  add a stronger border between inherited and defined properties?

Hotspot has a property layers which is wrong?

Indeed

all the human-readable explanations, and all of that in the source code, it's becoming unreadable

OK makes sense :)

stronger border between inherited and defined properties

yeah that would be great, and maybe a subtitle Inherited from X

I'm not sure I understand

Ah I just mean like for https://developer.sketchapp.com/reference/api/#adjust-to-fit-its-children it should say the current Group where Group links to https://developer.sketchapp.com/reference/api/#group


Adds feedback form and container component

-Added scenes and shared directories
-Includes Feedback container with form component

There are some syntax errors but I figure those can wait until you run the files through prettier


Roll Flutter Engine from fb64b9a4e6f2 to 10d254c6f53c (1 revision)

https://github.com/flutter/engine/compare/fb64b9a4e6f2...10d254c6f53c
2024-05-30<EMAIL_ADDRESS>Replace several calls to GrGLMakeNativeInterface with more direct APIs (flutter/engine#53064)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


What is the recommended way of editing the UI

I was wondering how one could visually add controls, it seems that there is no storyboard file in the repo.

Hey there, the entire app was built with Xamarin.Forms a cross platform UI framework: https://www.xamarin.com/forms
Can read about it here: https://blog.xamarin.com/browse-through-the-evolve-2016-mobile-app-source-code/
I did a retrospective here: http://motzcod.es/post/143599079477/xamarin-evolve-2016-app-development-retrospective


⚠ ClamAV has degraded performance

In a9690b6, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 92 ms

Resolved: ClamAV performance has improved in a076661.


codegen mistakenly generates cast from 'FixedBytes' instead of 'Bytes'

I have a contract function with the following signature:
  function computeClaimId(claimed string, dnsname bytes);

When codegen is run on it, it generates this function:
  computeClaimId(claimed: string, dnsname: Bytes): Bytes {
    let result = super.call("computeClaimId", [
      EthereumValue.fromString(claimed),
      EthereumValue.fromFixedBytes(dnsname)
    ]);
    return result[0].toBytes();
  }

Clearly line 4 should read EthereumValue.fromBytes(dnsname).

@Arachnid Is there a contract on mainnet or testnet, or just an abi file, that we can use to reproduce?

Sure! The contract is here: https://github.com/ensdomains/ethregistrar/blob/master/contracts/ShortNameClaims.sol
It's deployed on Ropsten at 0xd5be10a138550bd8b53b986af2e45901f377e2bb.


POC for fix #799

I think code is an easier way to discuss design :)
The code is not yet production ready because previous public constructors should still exist.
BTW, what do you think?

@juherr - This looks great! I wasn't visualizing this part earlier...
In org.testng.internal.MethodHelper#topologicalSort. Now its clear.
I think we can go ahead with this. Oh btw.. why do you say that the previous public constructors need to still exist ? Are there any users who directly work with TestRunner instances like Surefire plugin or the eclipse/intellij plugins ? I would be curious to know
    Graph<ITestNGMethod> result = new Graph<>(new Comparator<Node<ITestNGMethod>>() {
      @Override
      public int compare(Node<ITestNGMethod> o1, Node<ITestNGMethod> o2) {
        return comparator.compare(o1.getObject(), o2.getObject());
      }
    });

Also please let me know how you would like to proceed with this delivery ? You could just raise a PR with all the changes and I can close off mine.

ping @juherr - Please let me know what you would like to do this. I was hoping we could wrap this up and I could move to the next issue :)

I've directly updated the diff into your branch :)