[CONFORMANCE] Expecting SUT to send a Client Confirm Active PDU.

Describe the bug
Some time ago Microsoft opened an RDP specifications and then published testsuites for testing RDP client implementations (conformance tests) - https://github.com/Microsoft/WindowsProtocolTestSuites. I ran tests in testsuite RDPBCGR against xfreerdp and many of them failed with similar errors (actually 68 tests out of 113):
2020-02-25 11:18:14.523 [Comment] Setting Server Capability.

2020-02-25 11:18:14.523 [Comment] SetServerCapability( supportServerBitmapCacheHost = True; supportFastPathInput = True; supportScancode = True; supportExtendedMouse = True; supportUnicodeKeyboard = True; supportAutoReconnect = True; supportRefreshRect = True; supportSuppressOoutput = True; supportVCComression = True; presentVCChunksize = True).

2020-02-25 11:18:14.523 [Comment] Sending a Server Demand Active PDU to SUT and advertise the support for the Bitmap Host Cache Support Capability Set.

2020-02-25 11:18:14.648 [Comment] Expecting SUT to send a Client Confirm Active PDU.

2020-02-25 11:18:14.648 [Debug] The bytes of the ErrorPDU: 03-00-02-24-02-F0-80-64-00-06-03-EB-70-82-15-15-02-13-00-EF-03-EA-03-01-00-EA-03-08-00-FD-01-46-52-45-45-52-44-50-00-13-00-00-00-01-00-18-00-04-00-07-00-00-02-00-00-00-00-15-04-00-00-00-00-00-00-01-01-02-00-1C-00-20-00-01-00-01-00-01-00-00-04-00-03-00-00-01-00-01-00-00-0E-01-00-00-00-03-00-58-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-01-00-14-00-00-00-01-00-00-00-AA-00-01-01-01-00-00-00-00-00-01-00-00-00-00-00-00-00-00-00-01-00-00-00-01-00-00-00-00-00-00-00-00-00-00-00-04-00-00-00-00-00-00-84-03-00-00-00-00-00-E9-FD-00-00-13-00-28-00-03-00-00-05-58-02-00-00-58-02-00-00-00-08-00-00-00-10-00-00-00-08-00-00-00-00-00-00-00-00-00-00-00-00-00-00-08-00-0A-00-01-00-14-00-14-00-0D-00-58-00-3D-00-00-00-09-04-00-00-04-00-00-00-00-00-00-00-0C-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-0F-00-08-00-02-00-00-00-10-00-34-00-FE-00-04-00-FE-00-04-00-FE-00-08-00-FE-00-08-00-FE-00-10-00-FE-00-20-00-FE-00-40-00-FE-00-80-00-FE-00-00-01-40-00-00-01-00-01-00-01-00-00-00-00-14-00-0C-00-00-00-00-00-40-06-00-00-0C-00-08-00-01-00-00-00-09-00-08-00-00-00-00-00-0E-00-08-00-01-00-00-00-05-00-0C-00-00-00-00-00-02-00-02-00-0A-00-08-00-06-00-00-00-07-00-0C-00-00-00-00-00-00-00-00-00-1B-00-06-00-01-00-1A-00-08-00-FF-FF-00-00-1C-00-0C-00-52-00-00-00-00-00-00-00-1D-00-49-00-01-12-2F-77-76-72-BD-63-44-AF-B3-B7-3C-9C-6F-78-86-03-31-00-31-00-00-00-01-00-00-00-25-00-00-00-C0-CB-08-00-00-00-01-00-C1-CB-1D-00-00-00-01-C0-CF-02-00-08-00-00-01-40-00-00-01-01-01-00-01-40-00-00-01-01-04

2020-02-25 11:18:14.648 [CheckFailed] Assert.IsInstanceOfType failed. Expected Type: <Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.Client_Confirm_Active_Pdu>, Actual Type: <Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.ErrorPdu>. Receiving Client_Confirm_Active_Pdu

2020-02-25 11:18:14.648 [Comment] at Microsoft.Protocols.TestSuites.Rdpbcgr.RdpbcgrAdapter.ExpectPacket[T](RdpbcgrServerSessionContext session, TimeSpan waitTimeSpan) in C:\agent\_work\6\b\TestSuites\RDP\Client\src\Adapter\RDPBCGR\RdpbcgrAdapter.cs:line 2213 at Microsoft.Protocols.TestSuites.Rdpbcgr.RdpbcgrAdapter.ExpectPacket[T](TimeSpan timeout) in C:\agent\_work\6\b\TestSuites\RDP\Client\src\Adapter\RDPBCGR\RdpbcgrAdapter.cs:line 2226

2020-02-25 11:18:14.663 [Debug] Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException: Assert.IsInstanceOfType failed. Expected Type: <Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.Client_Confirm_Active_Pdu>, Actual Type: <Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.ErrorPdu>. Receiving Client_Confirm_Active_Pdu ===== Stack Trace ===== at Microsoft.Protocols.TestSuites.Rdpbcgr.RdpbcgrAdapter.ExpectPacket[T](RdpbcgrServerSessionContext session, TimeSpan waitTimeSpan) in C:\agent\_work\6\b\TestSuites\RDP\Client\src\Adapter\RDPBCGR\RdpbcgrAdapter.cs:line 2213 at Microsoft.Protocols.TestSuites.Rdpbcgr.RdpbcgrAdapter.ExpectPacket[T](TimeSpan timeout) in C:\agent\_work\6\b\TestSuites\RDP\Client\src\Adapter\RDPBCGR\RdpbcgrAdapter.cs:line 2226 === End of Stack Trace === at Microsoft.Protocols.TestTools.AsynchronousErrorProcessor.Process() at Microsoft.Protocols.TestTools.AsynchronousErrorProcessor.ReportAsyncException(Exception checkerException) at Microsoft.Protocols.TestTools.Checking.DefaultChecker`2.GenerateException(CheckResult checkResult, String message, Object[] parameters) at Microsoft.Protocols.TestTools.Checking.DefaultChecker`2.IsInstanceOfType(Object value, Type type, String message, Object[] parameters) at Microsoft.Protocols.TestSuites.Rdpbcgr.RdpbcgrAdapter.ExpectPacket[T](RdpbcgrServerSessionContext session, TimeSpan waitTimeSpan) in C:\agent\_work\6\b\TestSuites\RDP\Client\src\Adapter\RDPBCGR\RdpbcgrAdapter.cs:line 2212 at Microsoft.Protocols.TestSuites.Rdpbcgr.RdpbcgrAdapter.ExpectPacket[T](TimeSpan timeout) in C:\agent\_work\6\b\TestSuites\RDP\Client\src\Adapter\RDPBCGR\RdpbcgrAdapter.cs:line 2225

2020-02-25 11:18:14.663 [Comment] Trigger client to close all RDP connections for clean up.

2020-02-25 11:18:14.679 [Comment] RDP SUT Control Protocol Adapter: CommandId is 2: Success, agent: <IP_ADDRESS>:4488.

2020-02-25 11:18:14.679 [Debug] The result of TriggerClientDisconnectAll is 1.

2020-02-25 11:18:14.679 [Comment] Stop RDP listening.

2020-02-25 11:18:14.679 [TestFailed] Microsoft.Protocols.TestSuites.Rdpbcgr.RdpbcgrTestSuite.S1_ConnectionTest_BasicSettingExchange_PositiveTest_V10Server Debug Trace: [PTF Internal Trace Log][2020-02-25 11:18:12.804] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:13.320] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:13.320] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:13.476] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:13.476] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:13.476] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:13.476] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:13.476] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:13.476] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:14.538] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:14.663] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:14.663] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload. [PTF Internal Trace Log][2020-02-25 11:18:14.679] [Beacon Log Warning]: The log message will be cut down to 1024 bytes by Beacon Log because it exceeds the max length of TSAP payload.

To Reproduce
Steps to reproduce the behavior:

Setup test stand as described in documentation: https://github.com/Microsoft/WindowsProtocolTestSuites/blob/staging/TestSuites/RDP/Client/docs/RDP_ClientUserGuide.md, https://github.com/Microsoft/WindowsProtocolTestSuites/blob/staging/TestSuites/RDP/Client/docs/RDP_Overview_ClientTestDesignSpecification.md
Build XFreeRDP client and run Python wrapper on Linux machine. settings.ini:

[general]
bind_ip_adress = <IP_ADDRESS>
bind_port = 4488
buffer_size = 1024

[client]
# The command to create a negotiate-based rdp session.
# {{address}} must be present, they will be replaced with the actual address and port by the agent.
Negotiate = /home/sergeyb/backup_sdb/FreeRDP/build/client/X11/xfreerdp /t:RDPClient /cert-ignore /rfx /u:Administrator /p:Password01! /v:{{ address }}
# The command to create a negotiate-based fullscreen rdp session.
# {{address}} must be present, they will be replaced with the actual address and port by the agent.
NegotiateFullScreen = /home/sergeyb/backup_sdb/FreeRDP/build/client/X11/xfreerdp /t:RDPClient /f /rfx /u:Administrator /p:Password01! /v:{{ address }}
# The command to create a CredSSP rdp session.
# {{address}} must be present, they will be replaced with the actual address and port by the agent
DirectCredSSP = /home/sergeyb/backup_sdb/FreeRDP/build/client/X11/xfreerdp /t:RDPClient /rfx /u:Administrator /p:Password01! /v:{{ address }}
# The command to create a CredSSP fullscreen rdp session.
# {{address}} must be present, they will be replaced with the actual address and port by the agent
DirectCredSSPFullScreen = /home/sergeyb/backup_sdb/FreeRDP/build/client/X11/xfreerdp /t:RDPClient /f /rfx /u:Administrator /p:Password01! /v:{{ address }}

Start testing on Windows machine
See failed tests in a report generated by Windows Test Manager

Actual behavior
Assert failed: 2020-02-25 11:18:14.648 [CheckFailed] Assert.IsInstanceOfType failed. Expected Type: <Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.Client_Confirm_Active_Pdu>, Actual Type: <Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.ErrorPdu>. Receiving Client_Confirm_Active_Pdu
Expected behavior
All tests are passed
Application details

Version: FreeRDP dc89923f4a3db2c5ae5d169ea80ba4d0ad29e899
output of /buildconfig:

This is FreeRDP version 2.0.0-dev5 (dc89923f4)
Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H=1 HAVE_EXECINFO_H=1 HAVE_FCNTL_H=1 HAVE_INTTYPES_H=1 HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL= HAVE_SYSLOG_H=1 HAVE_SYS_EVENTFD_H=1 HAVE_SYS_FILIO_H= HAVE_SYS_MODEM_H= HAVE_SYS_SELECT_H=1 HAVE_SYS_SOCKIO_H= HAVE_SYS_STRTIO_H= HAVE_SYS_TIMERFD_H=1 HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 HAVE_XI_TOUCH_CLASS=1 WITH_ALSA=ON WITH_CAIRO=OFF WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CLANG_FORMAT=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CUPS=OFF WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_RDPGFX=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=OFF WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=TRUE WITH_FFMPEG=TRUE WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=OFF WITH_GSSAPI=OFF WITH_GSTREAMER_0_10=OFF WITH_GSTREAMER_1_0=ON WITH_ICU=OFF WITH_IPP=OFF WITH_JPEG=OFF WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_OPENCL=OFF WITH_OPENH264=OFF WITH_OPENSLES=OFF WITH_OPENSSL=ON WITH_OSS=ON WITH_PCSC=OFF WITH_PROFILER=OFF WITH_PULSE=OFF WITH_SAMPLE=OFF WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=OFF WITH_SERVER_INTERFACE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=OFF WITH_SSE2=ON WITH_SWSCALE=OFF WITH_THIRD_PARTY=OFF WITH_VAAPI=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_WAYLAND=ON WITH_WINPR_TOOLS=ON WITH_X11=ON WITH_X264=OFF WITH_XCURSOR=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XKBFILE=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XSHM=ON WITH_XV=ON WITH_ZLIB=ON
Build type:          Release
CFLAGS:               -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -DWINPR_DLL
Compiler:            GNU, 7.4.0
Target architecture: x64

Desktop (please complete the following information):

OS: Ubuntu Linux, Windows 7 Enterprise SP1 x86_64

~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:        18.04
Codename:       bionic

Protocol Test Manager <IP_ADDRESS>
MS RDP Client Endpoint Test Suite <IP_ADDRESS>
MS Protocol Test Framework 1.0.7500.0
Additional context
RDPBCGR specification
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/5073f4ed-1e93-45e1-b039-6e30c385867c

@ligurio I assume the text in your bug description is a cut&paste error:

xfreerdp and many of them failed with similar errors (actually 68 tests out of 113):

Shoudn't that be 1 test out ouf 113 ?
More specifically, it is the test called S1_ConnectionTest_CapabilityExchange_PositiveTest_LargePointerCapSet_LargePointerNotSupport that fails - right ?

@nfedera testsuite for RDPBCGR spec contains 113 tests and 68 of them fails with the same assert.
Failed testcases:
BVT_ConnectionTest_CapabilityExchange_PositiveTest
BVT_ConnectionTest_ConnectionFinalization_PositiveTest_BitmapHostCacheSupported
BVT_ConnectionTest_Disconnection_PositiveTest_ServerInitiated
BVT_ReactivationTest_PositiveTest_BitmapHostCacheSupported
S1_ConnectionTest_BasicSettingExchange_NegativeTest_InvalidEncryptionMethod
S1_ConnectionTest_BasicSettingExchange_PositiveTest_V10Server
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCacheHostSupportCapSet_NotPresent
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCapSet_24ColorDepth
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCapSet_DesktopResizeNotSupported
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCapSet_DrawingFlagsNotSet
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCapSet_MaxDesktopHeight
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCapSet_MaxDesktopWidth
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCodecsCapSet_BitmapCodecCount_LargeValue
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCodecsCapSet_BitmapCodecCount_MaxValue
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCodecsCapSet_NoBitmapCodec
S1_ConnectionTest_CapabilityExchange_PositiveTest_BitmapCodecsCapSet_NotPresent
S1_ConnectionTest_CapabilityExchange_PositiveTest_DesktopCompositionCapSet_CompositionNotSupport
S1_ConnectionTest_CapabilityExchange_PositiveTest_DesktopCompositionCapSet_NotPresent
S1_ConnectionTest_CapabilityExchange_PositiveTest_FontCapSet_NotPresent
S1_ConnectionTest_CapabilityExchange_PositiveTest_GeneralCapSet_FPOutputNotSupported
S1_ConnectionTest_CapabilityExchange_PositiveTest_GeneralCapSet_OSTypeUnspecified
S1_ConnectionTest_CapabilityExchange_PositiveTest_GeneralCapSet_OSTypeWindowsRT
S1_ConnectionTest_CapabilityExchange_PositiveTest_GeneralCapSet_RefreshRectNotSupported
S1_ConnectionTest_CapabilityExchange_PositiveTest_GeneralCapSet_SuppressOutputNotSupported
S1_ConnectionTest_CapabilityExchange_PositiveTest_InputCapSet_OnlySupportScanCodes
S1_ConnectionTest_CapabilityExchange_PositiveTest_LargePointerCapSet_LargePointerNotSupport
S1_ConnectionTest_CapabilityExchange_PositiveTest_LargePointerCapSet_NotPresent
S1_ConnectionTest_CapabilityExchange_PositiveTest_MultifragmentUpdateCapSet_MaxRequestSizeLargeValue
S1_ConnectionTest_CapabilityExchange_PositiveTest_MultifragmentUpdateCapSet_NotPresent
S1_ConnectionTest_CapabilityExchange_PositiveTest_OrderCapSet_ExtraFlagNotValid
S1_ConnectionTest_CapabilityExchange_PositiveTest_OrderCapSet_SolidPatternBrushOnly
S1_ConnectionTest_CapabilityExchange_PositiveTest_PointerCapSet_ColorPointerCacheSize_0
S1_ConnectionTest_CapabilityExchange_PositiveTest_PointerCapSet_PointerCacheSize_0
S1_ConnectionTest_CapabilityExchange_PositiveTest_SurfaceCommandsCapSet_NotPresent
S1_ConnectionTest_CapabilityExchange_PositiveTest_SurfaceCommandsCapSet_StreamSurfaceBitsNotSupported
S1_ConnectionTest_CapabilityExchange_PositiveTest_VirtualChannelCapSet_CompressionNotSupport
S1_ConnectionTest_CapabilityExchange_PositiveTest_VirtualChannelCapSet_MaxVCChunkSize
S1_ConnectionTest_CapabilityExchange_PositiveTest_VirtualChannelCapSet_VCChunkSizeNotPresent
S1_ConnectionTest_ConnectionFinalization_PositiveTest_BitmapHostCacheNotSupported
S1_ConnectionTest_ConnectionFinalization_PositiveTest_BitmapHostCacheSupported_sequenceTest_1
S1_ConnectionTest_ConnectionFinalization_PositiveTest_BitmapHostCacheSupported_sequenceTest_2
S1_ConnectionTest_ConnectionFinalization_PositiveTest_BitmapHostCacheSupported_sequenceTest_3
S1_ConnectionTest_Disconnection_NegativeTest_MCSDisconnectProviderUltimatum_InvalidTPKTLength
S10_FastPathOutput_PositiveTest_CachedPointer_WithColorPointer
S10_FastPathOutput_PositiveTest_CachedPointer_WithNewPointer
S10_FastPathOutput_PositiveTest_CachedPointer_WithNewPointer_MultiCachedPointers
S10_FastPathOutput_PositiveTest_CachedPointer_WithNewPointer_ReuseCacheIndex
S10_FastPathOutput_PositiveTest_ColorPointer_HotSpotOnTheBorderOfPointer
S10_FastPathOutput_PositiveTest_ColorPointer_InitPointer
S10_FastPathOutput_PositiveTest_ColorPointer_MaxAllowedCacheIndex
S10_FastPathOutput_PositiveTest_ColorPointer_MaxAllowedWidthHeightLargePointerNotSupported
S10_FastPathOutput_PositiveTest_ColorPointer_OddWidth
S10_FastPathOutput_PositiveTest_ColorPointer_UpdatePointer
S10_FastPathOutput_PositiveTest_NewPointer_HotSpotOnTheBorderOfPointer
S10_FastPathOutput_PositiveTest_NewPointer_InitPointer
S10_FastPathOutput_PositiveTest_NewPointer_MaxAllowedCacheIndex
S10_FastPathOutput_PositiveTest_NewPointer_MaxAllowedWidthHeightLargePointerNotSupported
S10_FastPathOutput_PositiveTest_NewPointer_OddWidth
S10_FastPathOutput_PositiveTest_NewPointer_UpdatePointer
S10_FastPathOutput_PositiveTest_NewPointer_XorBpp_32
S10_FastPathOutput_PositiveTest_PointerHidden
S10_FastPathOutput_PositiveTest_PointerPosUpdate_PointerMove
S10_FastPathOutput_PositiveTest_PointerPosUpdate_PointerOnTheBorderOfScreen
S2_ReactivationTest_PositiveTest_BitmapHostCacheNotSupported
S4_SlowPathInputTest_NegativeTest_ServerToClientSlowPath_InvalidEncryptFlag
S4_SlowPathInputTest_NegativeTest_ServerToClientSlowPath_InvalidMCSLength
S4_SlowPathInputTest_NegativeTest_ServerToClientSlowPath_InvalidTotalLenth
S4_SlowPathInputTest_NegativeTest_ServerToClientSlowPath_InvalidTPKTLength

I can publish test results with debug logs but a bit later.

@ligurio Maybe we should compare test configurations so we can reproduce your results here?
You have updated your test suite and are running the most recent version now?

@akallabeth

You have updated your test suite and are running the most recent version now?

Yes, this time I used latest versions of test framework and testsuite (versions are specified in a description).

Maybe we should compare test configurations so we can reproduce your results here?

Sure. Published test report and PTM profile - https://drive.google.com/open?id=1Iaa34HUqhfAlvYKQcgLiIAhedUrEvVMW

@ligurio thank you. do you also have the log output of the xfreerdp run?

@akallabeth Sure, added file with log to the same share.

@ligurio  It seems that you are still using the outdated <IP_ADDRESS> version!
The config\info.xml in your gh-5903-profile.ptm (which is a inspectable zip file btw) is:
<ProfileInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <TestSuiteName>RDP-Client</TestSuiteName>
  <Version><IP_ADDRESS></Version>
</ProfileInfo>

Before installing the rebuilt RDP-TestSuite-ClientEP.msi you must uninstall all Microsoft RDP Client Endpoint Test Suite entries from Control Panel's Uninstall or change a program.

@ligurio I've seen that you have changed the default value for the RDP.Security.IsClientToServerEncrypted property from to true to false ?
Why? Please change this to trueagain.
Also you should set the IsWindowsImplementation property that indicates that the SUT is a Windows Implementation to false.

@nfedera Thanks!
I believe these issues were due to wrong conversion of profile by new version of Test Manager.
Anyway I set RDP.Security.IsClientToServerEncrypted to true and IsWindowsImplementation to false again and got one failed testcase S1_ConnectionTest_CapabilityExchange_PositiveTest_LargePointerCapSet_LargePointerNotSupport and one inconclusive testcase S1_ConnectionTest_ConnectionInitiation_PositiveTest_HybridEXSelected.
Test results and test log uploaded (gh-5903-rerun1.log, gh-5903-rerun1-RDP-Client-2020-02-25-13-57-00.zip).

@ligurio Awesome, now we have the exact same results ;)
I'll look into that single failed test this week.

@nfedera any chances to fix this?


Add fn kind(&self) -> ModuleKind to client module traits (and possibly others)

I don't know what's the exact reason for it. Is it for ModuleDecoderRegistry? We could add fn kind(&self) -> ModuleKind to Decoder instead?

Originally posted by @dpc in https://github.com/fedimint/fedimint/pull/2270#discussion_r1175853326

Still relevant. Looking at it.
#[derive(Debug)]
pub struct ModuleRegistry<M, State = ()> {
    inner: BTreeMap<ModuleInstanceId, (ModuleKind, M)>,
    // It is sometimes useful for registries to have some state to modify
    // their behavior.
    state: State,
}

Stil there.
You know what? I think it's fine as is. Especially that I later added state: State so the idea that the registry is going to be some plain map from instance_id to M doesn't make sense to me now.
Closing.


Add a License

Presently this Repository does not have a License Associated with it, causing potential legal headaches of using this project as a basis for derivatives. I'm requesting the addition of a License file Licensing this Repo under something like MIT.

Thanks for pointing that out. I have added the license.


Method answerWebAppQuery call request with type answerCallbackQuery

Bug Report

Actual Behavior
answerWebAppQuery function not works propertly, telegram send error: "400 Bad Request: query is too old and response timeout expired or query ID is invalid".
In answerWebAppQuery function (telegram.js:1482) actually requested type answerCallbackQuery.
So the function answerWebAppQuery is not working.
Expected Behavior
Function answerWebAppQuery must send type answerWebAppQuery.
Example
Just replace it to answerWebAppQuery and all will works fine.
answerWebAppQuery(webAppQueryId, result, form = {}) {
    form.web_app_query_id = webAppQueryId;
    form.result = stringify(result);
    return this._request('answerWebAppQuery', { form });
  }

any updates? answerWebAppQuery api doesn't work cause of this problem

The answer to the problem described looks like it's right there above.
Problem: "Function answerWebAppQuery must send type answerWebAppQuery."
Solution: "Just replace it to answerWebAppQuery and all will works fine."

Fix in the new version v0.58.0


'did-get-response-details' no longer functional

For the system to react on errors on electron 3.
s. https://github.com/electron/electron/issues/12597

Judging from the docs, I'm not entirely sure this gives us exactly what we want since it seems like it only applies to the main frame?


Maintenance: Update secure_headers gem

Related to https://github.com/studentinsights/studentinsights/pull/2693, which in the past had conflicts with different versions of this gem.  So updating secure_headers first and then will do Rollbar.  No issues expected.

selfie


[Doc][Highest]Unable to find any information related to IWA fedarated authenticator Admin service

I am trying to automate the IWA federated authenticator configuration using Admin serverice
I was referring [1] in order to find the available admin service per above particular scenario. Those information are not listed on this.
If this is a common doc, atlease put a reference on how find those details.
[1] https://docs.wso2.com/display/IS540/Calling+Admin+Services

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


Fix validate domain name

Things AFSecurityPolicy validatesDomainName.
Them are not performed evaluation of hostname of the SSL certificate, I think not good.
ValidatesDomainName in PinningModeNone the "Defaults NO" So
is not performed evaluation of hostname.
I think it's almost the same as this vulnerability
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3577
if (self.validatesDomainName) {
        [policies addObject:(__bridge_transfer id)SecPolicyCreateSSL(true, (__bridge CFStringRef)domain)];
    } else {
        [policies addObject:(__bridge_transfer id)SecPolicyCreateBasicX509()];
    }

The implementation in the "defaults YES" at initialization.
I think if you want to debug, and it is reasonable to be in "defaults NO".
What do you think?

awesome @reacuna, @mattt
Thanks!
b95f00832feaadb88078a543eb6a3baa34458bc3

hi! @mattt
Forgive me for stealing your time...
May I have your comments on pull request?

Thanks for your PR, @DigiMinagawa, but the existing behavior is correct. Applications should use the security policy appropriate for them.

Don't you understand that the current implementation is danger?

Applications should use the security policy appropriate for them.

The SERIOUS SECURITY VULNERABILITY has been introduced by the 5eaa869b9e2afe2719e60e72d353d9b57af5b946 commit, is contained the release of 2.1.0. This means that the users of earlier versions of 2.1.0 might append this security vulnerability to their apps if such users try upgrade to later versions of 2.1.0...
And, also, this type of library is usually expected that should be "secure default" (a.k.a. "secure by default") even more so for this topic since handling TLS connection is really security related feature.

@mattt Please reconsider your decision. If not, I should announce about this vulnerability to more public space (e.g. full disclosure) before fix this issue.

hi @mattt
"SERIOUS SECURITY VULNERABILITY"
It, I am same thought as @co3k.
So I have changed the title.


[SPARK-22159][SQL][FOLLOW-UP] Make config names consistently end with "enabled".

What changes were proposed in this pull request?
This is a follow-up of #19384.
In the previous pr, only definitions of the config names were modified, but we also need to modify the names in runtime or tests specified as string literal.
How was this patch tested?
Existing tests but modified the config names.

Test build #82575 has started for PR 19462 at commit 5bef05e.

cc @rxin @gatorsmile

Test build #82575 has finished for PR 19462 at commit 5bef05e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82575/
Test PASSed.

Thanks! Merged to master.


DS-2560 - Did you mean option missing in Mirage2 (backport to 5.x branch)

DS 2560 - Did you mean option missing in Mirage2
https://jira.duraspace.org/browse/DS-2560
This is a backport of #955 , which was already applied to "master"

+1 I've tested this and it works. Merging immediately since the corresponding #955 was already approved and merged.


An error occurs after navigating to the Azure view

OS: All
Build Version: 20231127.1
Repro Steps:

Make sure the account signed out.
Install the Azure Resources extension from VSIX.
Navigate to Azure view.
Check whether no error occurs.

Expect:
No error occurs.
Actual:
An error occurs.

@v-xinda, does this error happen every time you do this? And does sign in work afterwards?

@alexweininger  Verified this issue on the latest main build 20231127.1, it only reproduces on Linux OS. This issue only happens one time after installing Azure Resources extension, and it works well after signing in our account.


Probe timeou eus

https://github.ibm.com/IBMPrivateCloud/roadmap/issues/46850

PR raised to wrong branch


Commented Out Navbuttons

Summary
Closes #322

Removed Navigation buttons because they don't work with mobile.
Screenshots

Oh I think you completely misunderstood what I meant here lol... I meant just get rid of the text but keep the button and the arrow icons.


SASL mech configuration and documentation

Closes: #405

Codecov Report

Merging #411 (134fc45) into master (b98d7cd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #411   +/-   ##
=======================================
  Coverage   99.41%   99.41%
=======================================
  Files          13       13
  Lines        2232     2232
=======================================
  Hits         2219     2219
  Misses         13       13

Impacted Files
Coverage Δ

ldap2pg/config.py
98.77% <ø> (ø)

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 b98d7cd...134fc45. Read the comment docs.


Update docs to use crc console command for accessing the webconsole

Now we have the crc console command, so in the docs the relevant section should be updated, to include it.

Doc, and we should mention it at the end of crc start, might be better than giving just the url.


Even more tests for render-fidelity test suite

In this PR I add the following glTF files to the test suite along with Goldens for filament, Babylon and model-viewer:

khronos-ClearCoatCarPaint
khronos-ClearCoatWicker
khronos-GlassHurricaneCandleHolder
khronos-GlassVaseFlowers
khronos-NegativeScaleTest

This builds upon my other PR here (https://github.com/google/model-viewer/pull/4535), so there is additional changes here, but if the other PR is merged then this PR becomes I think a single change.

I'm curious why the CI is having trouble - perhaps the anisotropy renders are extra sensitive to GPU rounding differences?

For now I am removing the problematic tests to get the good stuff merged in, and we can revisit the problematic stuff later.

Closing as I've merged this branch into this other related PR: https://github.com/google/model-viewer/pull/4535


Transition from yapf to ruff

This PR switches the project to use ruff for the project.  It seems to be much faster and more configurable, so I think this is a nice quality of life improvement.

I am going to have to get this set up on my end, but it looks like there is a nice native way to do this in VSCode and all the formatting options are set in pyproject.toml. So, I don't think this will be too problematic.


Enable iree-dialects in sandbox

Since I wired up the original build support, I added a mode where this project could have a hard dependency on iree for getting the iree-dialects (we have frontend dialects and standalone, not-yet-upstreamed things in this standalone project). However, given the goals of primarily enabling interop and code flow of things that aren't ready to be upstreamed or promoted in another way, I think I should bias towards simplicity: any objection to me just copying the iree-dialects project in tree and maintaining it by copying snapshots as needed? That seems wholly more usable than trying to keep yet another LLVM-derived project in sync, etc. This would allow me to adapt more of IREE's input pipelines to directly target more interesting whole programs at the sandbox, and it would also expose ops for IREE's parallelism and distribution concepts that we could experiment with.

+1, the LLVM dependency mismatch turned out to be quite annoying in the past weeks of multi-days integrate.
Will be nice to iterate to that minimal IREE + pluggable codegen world.


Update for summer 2022 compiler versions

xref: https://github.com/conda-forge/ctng-compilers-feedstock/pull/104
Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin please rerender


Update dependencies

update log4js which had a vulnerability
updated everything else that was possible to update as well

@ehoogerbeets I can see that test-all-node-versions failed, is that okay?


Postgres support

This issue is to track the status of Postgres support:

[ ] 'Sakila' example
[ ] def
[ ] query
[ ] parser
[ ] discovery
[ ] writer

#3


CUDA out of memory

Hey,
I'm having trouble training my model. I always have the same error saying that Cuda used all my GPU's memory.
I tried using this program for a project with very little knowledge when in comes to programming and all, and i can feel how basic my question is gonna be but: my gpu has 4 go of dedicated memory (idek if it's close to what's required here) and it has 7.7 go of shared memory; when full, why can't RVC use this shared memory to keep running?
Thank u in advance :)

Save issue :
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 4.00 GiB total capacity; 3.44 GiB already allocated; 0 bytes free; 3.48 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

If you GPU memory is 4G~6G, you should decrease batch size
If you GPU memory is <4G,  you may not be able to use GPU to train the model.

GPU MEMORY is 8 GB still showing the problem (rtx 3050)


Without an onchange handler a textfield throws errors

Because of https://github.com/tleunen/react-mdl/blob/master/src/Textfield.js#L39 when there is no onchange handler connected to a textfield, it throws an error.

onChange is actually needed, otherwise you can't get the updated value

That depends on your setup. For example, using the this.refs you can access the value as well, depending on your setup. This way you don't have to handle every single input's change manually if this is not needed.
https://facebook.github.io/react/docs/more-about-refs.html
https://facebook.github.io/react/docs/working-with-the-browser.html

The input is currently a controlled input, so the value displayed is always the value specified. That's why there's a onChange event.
If we want to modify that, we would need to make the onChange callback optional and modify the value for defaultValue. But I usually prefer playing with controlled component. I'm open to discussions though.

Yeah, I have currently changed them to be controlled inputs, using your handy helper to set the state easily. I don't mind either way, I think since React itself allows it it should be allowed as well, but that's just my 10 cents ;)

Yep but because we use the value property on the input, if we don't use the onChange callback, React will warn about this ;)

Maybe this is just me (relatively new to React), but couldn't we just set the value on the input conditionally, and therefore also the make onChange callback conditional?


Make initializer deploy

The initializer rejects the --port config option. This is a recent
change. I did test bookinfo as well as the addons with this change
although I don't understand the nature of the removal of --port
from the sidecar initializer.  The reviewer should take care to
verify that change was correct, or this solution is correct.

Hi @sdake. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/ok-to-test

The HTTP endpoint for injection was added as an experiment before k8s alpha initializer feature was available. I removed the HTTP endpoint and the correspoding --port option now that mutating webhooks are beta and initializer is being deprecated.

@ayj So now it is silently ignored even when specified? Should we do the same removal in helm charts?

We should remove --port flag from the helm initializer config. The initializer binary no longer exposes any --port flag and will error out if one if specified.

@ayj Got it, will do for helm then..

This PR can be closed since https://github.com/istio/istio/pull/2297 merged.

issue xref: https://github.com/istio/issues/issues/141


Evaluate adding a method that takes a type for deserialization (e.g. JsonReader.readType(Type))

azure-json works great with classes that implement JsonSerializable, as they can tell the library how they wish to be serialized/deserialized. This is not an issue with custom types (as they can simply implement the interface I previously mentioned) but becomes problematic when using something like BinaryData, which is used widely across our libraries. For example, if we don't know what the contents of a BinaryData instance represent and made a best-effort by using JsonWriter.readUntyped(), there is no way to deserialize a date into OffsetDateTime, bytes into a byte array or even "1.0" into a Float, as Double is used by default.
Should we consider adding a convenience method to allow passing a type to deserialize to that does not implement JsonSerializable (like Jackson does)?

This may be doable by providing a way for JsonReader, and the same should be done for JsonWriter, where we can look at following what Jackson and GSON do for allowing pluggable modules to handle types that aren't handled by default. For example, JsonReader.addTypeHandler(Type, Function<JsonReader, Type>) and JsonWriter.addTypeHandler(Type, BiConsumer<JsonWriter, Type>).


The max and min value change on the fly

Hi, I'm writing an application which has search function with rzajac angularjs-slider as price filter with max value. When user submits a search request, the browser will pull the result from the server each second and append the results to view. While pulling the result, the price max value will be changed and I need the angularjs-slider changed according to the new value. But unfortunately, the slider was initialized at the page load and NOT reflect when max value is changed.
My setup as below:
<rzslider rz-slider-model="filters.priceSlider" rz-slider-options="priceSliderOptions"></rzslider>

$scope.filters.maxPrice = 1000;
$scope.priceSliderOptions = {
	showSelectionBar: true,
	step: 1,
	floor: 0,
	ceil: $scope.filters.maxPrice,
	translate: function (value) {
		return $filter('number')(value, 0) + 'usd';
	}
};

When new price is pulled from the server, I update the $scope.filters.maxPrice variable but the slider is stay still without any changes. Please help!
Thanks and best regards,
Dat

This is probably because when you set ceil: $scope.filters.maxPrice, the value is copied to ceil not passed as a reference (because it's a number, not an object). Thus, when you modify $scope.filters.maxPrice, you need to update $scope.priceSliderOptions.ceil as well.
I know that this is a drawback with the new version compared to the old rz-slider-ceil attribute, but I don't really know how to achieve the same behaviour. I had different ideas but none of them were acceptable to me...
On your side, if you don't want to do it manually everytime your maxPricechanges, you can create a $watch on $scope.filters.maxPrice and update the ceil. Creating a $watch might be consider as a bad practice but this is basically what was done internally by Angular when using rz-slider-ceil.

You've pointed me to the right problem. I've resolved my problem and the slider is now working perfectly.
The problem was the $scope.filters.maxPrice is declared on parent controller then when I modified it in child controller it will not modify the parent variable.
I resolved my problem by moving the $scope.filters object to a factory then I can modified its properties in any controllers - this is the way I share variables between controllers as well.
Thank you again for excellent support!

I'm curious of your solution, did you need to use a $watch anyway to keep the ceil of the slider linked with maxPrice?
For the decimal value, yes it's possible: you need to set the step and more importantly the precision options.


I can connect to Zeebe with a custom certificate

What should we do?

I can specify a certificate which is used to connect to a TLS secured Zeebe instance.

More insights in https://github.com/camunda/camunda-modeler/issues/2404
Why should we do it?
Cannot deploy models to TLS secured Zeebe instance.

Additional notes from the customer:

We are using HTTPS certificates with very frequent refreshes (expiry are very short) so I need to do the "extract SSL certificate using openssl s_client" dance pretty often.
Not sure how to address frequent cert changes with a nice UX

Proposal: Instead of investing into "building that UX", let us consider to hand over some parts of it to the OS.
How do they usually develop currently (why does "frequent refresh") work with zeebectl (if it works?).

I checked how custom certificates are handled in WebStorm. I can accept all untrusted certificates (insecure) or add specific certificates in the UI:

These are the settings available in VSCode:

Note that it does not have a concept of deployment without extensions (e.g. https://marketplace.visualstudio.com/items?itemName=mkloubert.vs-deploy).

@barmac is this OS-loading thing possible?

Once I setup my keychain to always trust my self-signed certificate, I was able to connect with zbctl. Still, I haven't been able to connect with zeebe-node yet.

I was able to setup this properly. You can check out the repo: https://github.com/barmac/zeebe-tls-connection-test
Unfortunately, even if I add the certificate to the system keychain, and make the OS trust it, zeebe-node fails to connect to the instance. It works with zbctl though.

I tried to set the certicate/key paths via env variables, but apparently there is a bug in zeebe-node which prevents us from using env variables at the moment 🤡  I will create an issue for this soon.

Simple solution sketch:
Given I have a certificate located on my disk, I can either:

Run Modeler with --zeebe-ssl-certificate flag like so: modeler --zeebe-ssl-certificate="/path/to/my/cert.pem", or
Configure flags.json file like so:

{
  "zeebeSSLCertificate": "/path/to/my/cert.pem"
}

So that when Modeler tries to connect to Zeebe, it will use the provided certificate.
@ajeans Does it sound like a proper solution for your use case?
@christian-konrad @nikku Please share your feedback. Note that this allows only a single certificate as opposed to the idea in https://github.com/camunda/camunda-modeler/issues/3028#issuecomment-1184216686. However, this is adjusted to zeebe-node API.

Some additional findings:
We cannot use Electron's net module (which uses Chromium networking behind the scenes) because gRPC is based on Node's http2 module while Electron's net can only do normal http(s) requests.
There are also not-vscode packages which handle OS stores:

https://www.npmjs.com/package/win-ca
https://www.npmjs.com/package/mac-ca

@christian-konrad and I just had another meeting on this issue. We decided to implement two solutions:

use system keychain certificates (there is no reason for CM to ignore trusted certificates),
provide a flag to supplement a custom certificate (to solve the issue for quick dev setup).

I tried out the system keychain solution and it worked fine. Check out this commit for details.

Interesting learning: As grpc-js uses Node's http2 module instead of https, global agent patches provided by mac-ca and alike don't solve the issue. Instead, we need to pass the root certs directly to zeebe-node. AFAIK there is no global agent object for http2 module.

The flag-based approach can be tested with these artifacts (should be available in ~15 minutes):

https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/3028-select-certificate-via-flag/camunda-modeler-3028-select-certificate-via-flag-linux-x64.tar.gz
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/3028-select-certificate-via-flag/camunda-modeler-3028-select-certificate-via-flag-mac.dmg
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/3028-select-certificate-via-flag/camunda-modeler-3028-select-certificate-via-flag-mac.zip
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/3028-select-certificate-via-flag/camunda-modeler-3028-select-certificate-via-flag-win-ia32.zip
https://camunda-modeler-on-demand.s3.eu-central-1.amazonaws.com/3028-select-certificate-via-flag/camunda-modeler-3028-select-certificate-via-flag-win-x64.zip

I added system keychain certificates to the branch. Unfortunately, it seems that with zeebe-node we need to know upfront whether we want or not to use TLS. This is impossible to determine right away from localhost:26500 as the endpoint address :/ In the artifacts, TLS is enforced.

I#m happy that we ended up with https://github.com/camunda/camunda-modeler/issues/3028#issuecomment-1190035701.
There is no reason why we should not work with standard system facilities.
Given the flag anyone can plug-in their own certificate, overriding the default lookup. :+1:

Unfortunately, it seems that with zeebe-node we need to know upfront whether we want or not to use TLS. This is impossible to determine right away from localhost:26500 as the endpoint address :/

I think the right solution to this problem is to enforce http(s) prefix. This will remove the ambiguity, and for legacy endpoints we can display http when no authentication was configured, otherwise https.

Usually you'd see a tls:// prefix to distinguish secured from insecure access.
Is what we do HTTP? I'm not sure; I thought we'd speak binary.

gRPC is done over HTTP2, and this is how we communicate with Zeebe.

@ajeans as @barmac is out until April 16th, maybe this can help:
https://github.com/nodejs/node/issues/37025#issuecomment-791992937
There are some other variables that we can not exclude here when we try to reproduce this locally. Unfortunately, the logs are not verbose and it could be anything related to the certificate or to our implementation itself.
Please tell me if the comment of the related issue helped.

Thanks @christian-konrad , yes I assumed @barmac was on vacation (I was back this week myself, hence the delay in testing the build).
Looking at the comment, this talks a of a missing CN. That is not my case.
$ openssl x509 -in bin/dev.crt -text -noout
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            1e:b1:bb:2f:d5:c8:86:7c:b3:c0:d6:f5:31:90:7c:cf:85:e6:da:be
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = FR, ST = Paris, L = Paris, O = Quicksign, OU = dev, CN = Zeebe
        Validity
            Not Before: Jul 24 16:31:59 2022 GMT
            Not After : Jul 27 16:32:29 2022 GMT
        Subject: CN = zeebe-gateway.zeebe-caseflow.svc.cluster.local
        [...]

The certificate is now expired, but this is the one I used for all the tests a few days ago. And the CN line looks good.
Is there any way to activate debug logs in modeler, and for me to try this again?

Hi @ajeans,
Thanks for your patience. I generated yet another certificate in which I used CN:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365 --nodes -subj "/CN=localhost"
Again, I was able to deploy a BPMN to Zeebe with the artifacts linked in the PR once I added the cert to my system keychain (I am on MacOS).
However, unlike on your screenshot, I used localhost as the hostname and not the IP address:

I was also able to connect to the hostname zeebe-gateway.zeebe-caseflow.svc.cluster.local after I added <IP_ADDRESS> zeebe-gateway.zeebe-caseflow.svc.cluster.local to /etc/hosts, generated and added to the keychain certificated with openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365 --nodes -subj "/CN=zeebe-gateway.zeebe-caseflow.svc.cluster.local

❯ openssl x509 -in ./cert.pem -text -noout
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            49:df:04:5d:a5:df:c8:de:7d:8a:2b:f3:5f:51:2e:2f:b9:1b:69:f6
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = zeebe-gateway.zeebe-caseflow.svc.cluster.local
        Validity
            Not Before: Aug 23 14:32:16 2022 GMT
            Not After : Aug 23 14:32:16 2023 GMT
        Subject: CN = zeebe-gateway.zeebe-caseflow.svc.cluster.local
        [...]

Based on my experience, connecting to an IP with a custom SSL cert never works with zeebe-node which we use. This is also marked in the logs:
(node:476347) [DEP0123] DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.

In the certificate you provided, the hostname is set to: zeebe-gateway.zeebe-caseflow.svc.cluster.local, while in the log you shared:
ERROR app:zeebe-api Failed to connect with config (secrets omitted): {
endpoint: {
type: 'selfHosted',
url: 'https://zeebe-gateway.zeebe-caseflow:26500/'
}

The hostname is zeebe-gateway.zeebe-caseflow. Is this an oversight or two separate tries?
Perhaps the certificates stores that we read on Linux are not the ones where you store them on your machine? These are the paths that we check in the PR:
  '/etc/ssl/certs/ca-certificates.crt',
  '/etc/ssl/certs/ca-bundle.crt',

This is based on what VSCode does: https://github.com/microsoft/vscode-proxy-agent/blob/main/src/index.ts#L453

@ajeans My request for you would be to run a provided build with a flag:
./camunda-modeler --zeebe-ssl-certificate=<path-to-certificate-file>
Try to connect to your Zeebe instance and please share the results.
Regarding the logs, you could set the env variables: GRPC_VERBOSITY=DEBUG GRPC_TRACE=all (according to this SO thread).

Hello @barmac
I'm back from vacation too :)

Based on my experience, connecting to an IP with a custom SSL cert never works with zeebe-node which we use. This is also marked in the logs:

Yes let's forget IP addresses.

The hostname is zeebe-gateway.zeebe-caseflow. Is this an oversight or two separate tries?

This is the same try, and this is Kubernetes DNS territory so I am not sure how the server is aliased in the DNS.
Just to make sure, I also added the full variant to my /etc/hosts
<IP_ADDRESS>	zeebe-gateway.zeebe-caseflow.svc.cluster.local
<IP_ADDRESS>	zeebe-gateway.zeebe-caseflow

...  and tested this from the graphical modeler, with the same result
ERROR app:zeebe-api Failed to connect with config (secrets omitted): {
  endpoint: {
    type: 'selfHosted',
    url: 'https://zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500'
  }
} Error: 14 UNAVAILABLE: No connection established
    at Object.callErrorFromStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client.js:180:52)
    at /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:111:35
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/zeebe-node/dist/lib/GrpcClient.js:136:36)
    at InterceptingListenerImpl.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:106:23)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:365:141)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:328:181)
    at /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:182:78
    at process.processTicksAndRejections (node:internal/process/task_queues:78:11) {
  code: 14,
  details: 'No connection established',
  metadata: Metadata { internalRepr: Map(0) {}, options: {} }

Perhaps the certificates stores that we read on Linux are not the ones where you store them on your machine? These are the paths that we check in the PR:

I can confirm that the certificate is correctly included one of the path you are reading, sudo update-ca-certificates seems to have worked fine
$ openssl s_client -connect <IP_ADDRESS>:26500 -showcerts | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | tail -n 3
t1Y10J4rE/HmvUEwWf4MmttU4TtJaBt796b8kGkLRSCj0UPBKi0JvH/ldLY0QVgr
q/igIoevT5ICggBA4rTWfqvDr7d3wpFs
-----END CERTIFICATE-----
$ tail -n 3 /etc/ssl/certs/ca-certificates.crt
t1Y10J4rE/HmvUEwWf4MmttU4TtJaBt796b8kGkLRSCj0UPBKi0JvH/ldLY0QVgr
q/igIoevT5ICggBA4rTWfqvDr7d3wpFs
-----END CERTIFICATE-----

My request for you would be to run https://github.com/camunda/camunda-modeler/pull/3046#issuecomment-1192353136 with a flag:
./camunda-modeler --zeebe-ssl-certificate=

Started with
$ /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/camunda-modeler  --zeebe-ssl-certificate=bin/dev.crt
I get the same error logs when deploying with both https://zeebe-gateway.zeebe-caseflow:26500 and https://zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500
ERROR app:zeebe-api Failed to connect with config (secrets omitted): {
  endpoint: {
    type: 'selfHosted',
    url: 'https://zeebe-gateway.zeebe-caseflow:26500'
  }
} Error: 14 UNAVAILABLE: No connection established
    at Object.callErrorFromStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client.js:180:52)
    at /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:111:35
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/zeebe-node/dist/lib/GrpcClient.js:136:36)
    at InterceptingListenerImpl.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:106:23)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:365:141)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:328:181)
    at /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:182:78
    at process.processTicksAndRejections (node:internal/process/task_queues:78:11) {
  code: 14,
  details: 'No connection established',
  metadata: Metadata { internalRepr: Map(0) {}, options: {} }

Regarding the logs, you could set the env variables: GRPC_VERBOSITY=DEBUG GRPC_TRACE=all

Running GRPC_VERBOSITY=DEBUG GRPC_TRACE=all /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/camunda-modeler  --zeebe-ssl-certificate=bin/dev.crt, I get
D 2022-08-30T10:28:26.018Z | subchannel_refcount | (14) <IP_ADDRESS>:26500 refcount 1 -> 0
D 2022-08-30T10:28:26.148Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 createCall [9] method="/gateway_protocol.Gateway/Topology", deadline=Infinity
D 2022-08-30T10:28:26.149Z | call_stream | [9] Sending metadata
D 2022-08-30T10:28:26.149Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 Pick result: QUEUE subchannel: undefined status: undefined undefined
D 2022-08-30T10:28:26.149Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 callRefTimer.ref | configSelectionQueue.length=0 pickQueue.length=1
D 2022-08-30T10:28:26.150Z | call_stream | [9] write() called with message of length 0
D 2022-08-30T10:28:26.150Z | call_stream | [9] end() called
D 2022-08-30T10:28:26.150Z | call_stream | [9] deferring writing data chunk of length 5
D 2022-08-30T10:28:26.151Z | pick_first | Connect to address list <IP_ADDRESS>:26500
D 2022-08-30T10:28:26.151Z | subchannel | (17) <IP_ADDRESS>:26500 Subchannel constructed with options {
  "grpc.enable_retries": 1,
  "grpc.initial_reconnect_backoff_ms": 1000,
  "grpc.max_reconnect_backoff_ms": 10000,
  "grpc.min_reconnect_backoff_ms": 5000,
  "grpc.keepalive_time_ms": 45000,
  "grpc.keepalive_timeout_ms": 120000,
  "grpc.http2.min_time_between_pings_ms": 60000,
  "grpc.http2.min_ping_interval_without_data_ms": 60000,
  "grpc.keepalive_permit_without_calls": 1,
  "grpc.http2.max_pings_without_data": 0
}
D 2022-08-30T10:28:26.151Z | subchannel_refcount | (17) <IP_ADDRESS>:26500 refcount 0 -> 1
D 2022-08-30T10:28:26.151Z | subchannel_refcount | (17) <IP_ADDRESS>:26500 refcount 1 -> 2
D 2022-08-30T10:28:26.151Z | pick_first | Start connecting to subchannel with address <IP_ADDRESS>:26500
D 2022-08-30T10:28:26.152Z | pick_first | IDLE -> CONNECTING
D 2022-08-30T10:28:26.152Z | resolving_load_balancer | dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 IDLE -> CONNECTING
D 2022-08-30T10:28:26.152Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 callRefTimer.unref | configSelectionQueue.length=0 pickQueue.length=0
D 2022-08-30T10:28:26.152Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 Pick result: QUEUE subchannel: undefined status: undefined undefined
D 2022-08-30T10:28:26.152Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 callRefTimer.ref | configSelectionQueue.length=0 pickQueue.length=1
D 2022-08-30T10:28:26.152Z | connectivity_state | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 IDLE -> CONNECTING
D 2022-08-30T10:28:26.152Z | subchannel | (17) <IP_ADDRESS>:26500 IDLE -> CONNECTING
D 2022-08-30T10:28:26.152Z | pick_first | CONNECTING -> CONNECTING
D 2022-08-30T10:28:26.152Z | resolving_load_balancer | dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 CONNECTING -> CONNECTING
D 2022-08-30T10:28:26.152Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 callRefTimer.unref | configSelectionQueue.length=0 pickQueue.length=0
D 2022-08-30T10:28:26.153Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 Pick result: QUEUE subchannel: undefined status: undefined undefined
D 2022-08-30T10:28:26.153Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 callRefTimer.ref | configSelectionQueue.length=0 pickQueue.length=1
D 2022-08-30T10:28:26.153Z | connectivity_state | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 CONNECTING -> CONNECTING
D 2022-08-30T10:28:26.153Z | subchannel | (17) <IP_ADDRESS>:26500 creating HTTP/2 session
D 2022-08-30T10:28:26.208Z | subchannel | (17) <IP_ADDRESS>:26500 connection closed with error unable to verify the first certificate
D 2022-08-30T10:28:26.208Z | subchannel | (17) <IP_ADDRESS>:26500 connection closed
D 2022-08-30T10:28:26.208Z | subchannel | (17) <IP_ADDRESS>:26500 CONNECTING -> TRANSIENT_FAILURE
D 2022-08-30T10:28:26.208Z | pick_first | CONNECTING -> TRANSIENT_FAILURE
D 2022-08-30T10:28:26.208Z | resolving_load_balancer | dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 CONNECTING -> TRANSIENT_FAILURE
D 2022-08-30T10:28:26.208Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 callRefTimer.unref | configSelectionQueue.length=0 pickQueue.length=0
D 2022-08-30T10:28:26.208Z | channel | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 Pick result: TRANSIENT_FAILURE subchannel: undefined status: 14 No connection established
D 2022-08-30T10:28:26.208Z | call_stream | [9] cancelWithStatus code: 14 details: "No connection established"
D 2022-08-30T10:28:26.208Z | call_stream | [9] ended with status: code=14 details="No connection established"
D 2022-08-30T10:28:26.208Z | connectivity_state | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 CONNECTING -> TRANSIENT_FAILURE
ERROR app:zeebe-api Failed to connect with config (secrets omitted): {
  endpoint: {
    type: 'selfHosted',
    url: 'https://zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500'
  }
} Error: 14 UNAVAILABLE: No connection established
    at Object.callErrorFromStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client.js:180:52)
    at /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:111:35
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/zeebe-node/dist/lib/GrpcClient.js:136:36)
    at InterceptingListenerImpl.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:106:23)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:365:141)
    at Object.onReceiveStatus (/opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:328:181)
    at /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/resources/app.asar/node_modules/@grpc/grpc-js/build/src/call-stream.js:182:78
    at process.processTicksAndRejections (node:internal/process/task_queues:78:11) {
  code: 14,
  details: 'No connection established',
  metadata: Metadata { internalRepr: Map(0) {}, options: {} }
}
D 2022-08-30T10:28:27.154Z | subchannel | (17) <IP_ADDRESS>:26500 TRANSIENT_FAILURE -> IDLE
D 2022-08-30T10:28:27.154Z | subchannel_refcount | (17) <IP_ADDRESS>:26500 refcount 2 -> 1
D 2022-08-30T10:28:27.154Z | pick_first | TRANSIENT_FAILURE -> IDLE
D 2022-08-30T10:28:27.154Z | resolving_load_balancer | dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 TRANSIENT_FAILURE -> IDLE
D 2022-08-30T10:28:27.154Z | connectivity_state | (10) dns:zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500 TRANSIENT_FAILURE -> IDLE
INFO app:main window focused
INFO app:main initating close of main window
INFO app:main asking client to allow quit
INFO app:workspace saving
INFO app:main quit allowed
INFO app:main initating close of main window
INFO app:main main window closed

Just to make sure, I am not crazy, I made sure zbctl still worked, but only with the short hostname.
$ ./bin/zbctl deploy quicksign-caseflow-bpmn/src/main/resources/demo-signature.bpmn --address zeebe-gateway.zeebe-caseflow.svc.cluster.local:26500
Error: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: x509: certificate is valid for zeebe-gateway.zeebe-caseflow, zeebe-gateway.zeebe-caseflow.svc, not zeebe-gateway.zeebe-caseflow.svc.cluster.local"

$ ./bin/zbctl deploy quicksign-caseflow-bpmn/src/main/resources/demo-signature.bpmn --address zeebe-gateway.zeebe-caseflow:26500
{
  "key": "2251799814047248",
  "processes": [
    {
      "bpmnProcessId": "demo-signature",
      "version": 3,
      "processDefinitionKey": "2251799814045260",
      "resourceName": "quicksign-caseflow-bpmn/src/main/resources/demo-signature.bpmn"
    }
  ]
}

At least I now understand why the hostname I use is different from the CN in the certificate :+1:
$ openssl x509 -in bin/dev.crt -text -noout | grep zeebe-gateway -B1
            Not After : Aug 31 09:33:59 2022 GMT
        Subject: CN = zeebe-gateway.zeebe-caseflow.svc.cluster.local
--
            X509v3 Subject Alternative Name:
                DNS:zeebe-gateway.zeebe-caseflow, DNS:zeebe-gateway.zeebe-caseflow.svc

see https://support.dnsimple.com/articles/what-is-ssl-san/
So that explains why I should use zeebe-gateway.zeebe-caseflow as a hostname to match the certificate, and why zbctl correctly refuses to deploy on hostname zeebe-gateway.zeebe-caseflow.svc.cluster.local

Hi @ajeans,
I am glad to see you back. Thank you for trying out my suggestion and providing the exact commands you used, as this gave me a 💡 moment.
So I tried to use the certificate with a relative path like in the snippet you provided:

Started with
$ /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/camunda-modeler --zeebe-ssl-certificate=bin/dev.crt

...and indeed the solution did not work on my machine. It worked with an absolute path, though -> I must've used an absolute path all the time.
The good news is that I was able to implement relative path handling, so if you download the artifact now, it should work both ways. Please let me know if you can confirm it.

Hello @barmac
So I happily downloaded the new image and...

Redid my port-forward

kubectl port-forward -n zeebe-caseflow service/zeebe-gateway 26500

Launched the camunda modeler with a pointer to the certificate

GRPC_VERBOSITY=DEBUG GRPC_TRACE=all  /opt/camunda-modeler-3028-select-certificate-via-flag-linux-x64/camunda-modeler --zeebe-ssl-certificate=bin/dev.crt

(This modeler is from September 2nd so definitely the new version)

Tried deploying graphically

But still a failure, full verbose logs attached.
startup.log
Also tried pointing at the certificate absolute path with no visible change in behaviour.
Would you consider adding debug logs in a build so that we can pinpoint where the problem is? I assume the certificate is propery loaded (it is in the system certificates and loaded from the CLI).
Checking back with zbctl

./bin/zbctl deploy quicksign-caseflow-bpmn/src/main/resources/demo-signature.bpmn --address zeebe-gateway.zeebe-caseflow:26500 --certPath bin/dev.crt works fine

Looking some more at the logs, this seems to be the best candidate for the problem
D 2022-09-06T07:26:06.812Z | subchannel | (2) <IP_ADDRESS>:26500 creating HTTP/2 session
D 2022-09-06T07:26:06.876Z | subchannel | (2) <IP_ADDRESS>:26500 connection closed with error unable to verify the first certificate
D 2022-09-06T07:26:06.876Z | subchannel | (2) <IP_ADDRESS>:26500 connection closed

Looking for this specific error message points at https://github.com/grpc/grpc-node/issues/2055 but that is an open issue on grpc-js so that doesn't sound good. :-(

Hi @ajeans
I tried out the certificate you provided and couldn't get it to work with either Camunda Modeler or zbctl, which failed with:
zbctl --certPath ./cert.pem status --authority zeebe-gateway.zeebe-caseflow --address zeebe-gateway.zeebe-caseflow:26500
Error: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: remote error: tls: internal error"

Still, my suggestion would be that you try to use a certificate where SAN includes the Common Name, as suggested at https://support.dnsimple.com/articles/what-is-common-name/#common-name-vs-subject-alternative-name

Is there any way I can build camunda-modeler locally and run it in debug mode and step into the grpc behaviour with an IDE?

To build Camunda Modeler locally, you need to clone this repo, git checkout 3028-select-certificate-via-flag, and then npm ci && npm run build to reproduce. You can also run the app in the development mode via npm start. npm@8 is required.
For the next steps, I will mark the linked PR as ready and once we can within the team confirm that it works with basic certificate across the supported platforms, we will merge it. We can still continue work on supporting your use case, but that should be subject to a separate PR, as I believe we can release support for at least a basic scenario right now.

BTW according to [the article I shared](https://support.dnsimple.com/articles/what-is-common-name/#:~:text=The Common Name (AKA CN,common name in the certificate.):

The Common Name (AKA CN) represents the server name protected by the SSL certificate. The certificate is valid only if the request hostname matches the certificate common name. Most web browsers display a warning message when connecting to an address that does not match the common name in the certificate.

This is also mentioned at https://knowledge.digicert.com/solution/SO7239.html
I suppose that can be the reason why I get the errors when trying out your certificate.

Hi @barmac
Well this same article that you point at says the following close to the end.

On the technical side, the SAN extension was introduced to integrate the common name. Since HTTPS was first introduced in 2000 (and defined by the RFC 2818), the use of the commonName field has been considered deprecated, because it’s ambiguous and untyped.

Anyway, I agree this should not hold you MR.
I will try to spend more time to debug this next week, because I would like this to work and camunda-modeler is the only software that doesn't work with how our kubernetes cluster presents its certificates.
Hopefully I can find additional information.
Thanks

\cc @fguay this is our first step to do deployments to DEV graphically.


Import .proto files from Maven dependencies

Is there a way to import .proto files from Maven dependencies? This would be a practical way to share .proto files between Maven projects.
All I could find is a similar question on Stack Overflow but it is about the maven-protoc-plugin, not this one. This other plugin looks for .proto files in Maven dependencies and put them into a temporary directory. This directory is then set as an import path to the protoc invocation.
It would be great to have a similar feature here :-)

It would be really useful indeed!

Ack

For example, the com.google.protobuf:protobuf-java jar contains the wrapper.proto definition.

The standard types from Google are bundled and supported via <includeStdTypes>true</includeStdTypes>

I'm trying to get this to work. I have a protobuf file with import "google/protobuf/any.proto" and includeStdTypes is true, but it complains that it can't find that file.

How is your plugin configured, and what does the maven log say?
It's working for me:
[INFO]     Processing (java): grpc_hello.proto
protoc-jar: executing: [C:\cygwin64\tmp\protocjar2763937346440857941\bin\protoc.exe, -IC:\cygwin64\tmp\protocjar2763937346440857941\include, -IC:\home\work\github\test-misc\src\test\resources, --java_out=C:\home\work\github\test-misc\target\generated-test-sources, C:\home\work\github\test-misc\src\test\resources\grpc_hello.proto]
grpc_hello.proto: warning: Import google/protobuf/any.proto but not used.

Running this from IntelliJ:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building xtremettt-common 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- protoc-jar-maven-plugin:<IP_ADDRESS>:run (default-cli) @ xtremettt-common ---
[INFO] Protoc version: 330
protoc-jar: protoc version: 330, detected platform: windows 10/amd64
protoc-jar: executing: [C:\Users\me\AppData\Local\Temp\protocjar5431910111010375489\bin\protoc.exe, --version]
libprotoc 3.3.0
[INFO] Protoc command: C:\Users\me\AppData\Local\Temp\protocjar5431910111010375489\bin\protoc.exe
[INFO] Input directories:
[INFO]     C:\Users\me\IdeaProjects\xtremettt\src\main\protobuf
[INFO] Output targets:
[INFO]     java: C:\Users\me\IdeaProjects\xtremettt\target\generated-sources (add: main, clean: false, plugin: null, outputOptions: null)
[INFO]     Processing (java): CommonRequest.proto
protoc-jar: executing: [C:\Users\me\AppData\Local\Temp\protocjar5431910111010375489\bin\protoc.exe, -IC:\Users\me\IdeaProjects\xtremettt\src\main\protobuf, --java_out=C:\Users\me\IdeaProjects\xtremettt\target\generated-sources, C:\Users\me\IdeaProjects\xtremettt\src\main\protobuf\CommonRequest.proto]
google/protobuf/any.proto: File not found.
CommonRequest.proto: Import "google/protobuf/any.proto" was not found or had errors.
CommonRequest.proto:7:5: "google.protobuf.Any" is not defined.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.604 s
[INFO] Finished at: 2017-06-27T20:26:22-06:00
[INFO] Final Memory: 8M/155M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.os72:protoc-jar-maven-plugin:<IP_ADDRESS>:run (default-cli) on project xtremettt-common: protoc-jar failed for C:\Users\me\IdeaProjects\xtremettt\src\main\protobuf\CommonRequest.proto. Exit code 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Process finished with exit code 1

Somehow I don't think includeStdTypes is set to true. The cmd line should show an additional include like:
-IC:\Users\me\AppData\Local\Temp\protocjar5431910111010375489\include

So for some reason, if I run the protoc-jar:run target from IntelliJ, it doesn't see the flag, but if I run the compile lifecycle, it does see it.

Maven build log shows "google/protobuf/any.proto: File not found."
Protoc-jar log didn't pickup the temp folder expected. (see below)
protoc-jar: executing: [/var/folders/fb/czdpvlf102z8tf91tlkqj8lw0000gn/T/protocjar5770121856020262014/bin/protoc.exe, -I/Users/.../src/main/protobuf/com/lf/iotcore/domaindriven/logicaldevicedata, --java_out=/Users/.../target/generated-sources, /Users/.../src/main/protobuf/com/lf/iotcore/domaindriven/logicaldevicedata/LocationUpdate.proto]
The POM is

com.github.os72
protoc-jar-maven-plugin
3.4.0

generate-sources

run

3.4.0
true

And I do have protobuf-java and rotobuf-java-util 3.4.0 installed.

Are you sure it ran with includeStdTypes true? It should show an additional include path like /var/folders/fb/czdpvlf102z8tf91tlkqj8lw0000gn/T/protocjar5770121856020262014/include

just don't know anything else I can do other than set the xml<includeStdTypes>true</includeStdTypes> in the pom file. Everything else works, except for the import stuff.

Are you using IntelliJ? Is this on mac? Does it work with mvn on cmd line?

IntelliJ. and Mac. But I only run Mvn form cmd line.

my bad. the way I invoked mvn is wrong. If I used "mvn generate-sources", everything works. but if I used "mvn protoc-jar:run", it will have this problem. sorry for the confusion.

Hi,
My import statements from some custom proto files that are present in a jar are not getting imported. How can that be achieved?

com.github.os72
protoc-jar-maven-plugin
${protoc-maven-plugin.version}

generate-sources

run

${protobuf.version}
true

src/main/resources

src/main/resources

Anyone interested to help with this implementation?

Would be great if someone can help

Thanks @jvanbaa13 for helping implement this!

Released protoc-jar-maven-plugin 3.6.0
Supports new option "includeMavenTypes", thanks @jvanbaa13
<includeMavenTypes>direct</includeMavenTypes>
<includeMavenTypes>transitive</includeMavenTypes>

Released protoc-jar-maven-plugin <IP_ADDRESS>


Support for Spark 3.2.0

What changes are proposed in this pull request?
Updating the spark to version 3.2.0
How is this patch tested?
Existing tests

[ ] Unit tests
[ ] Integration tests
[ ] Manual tests

(Details)

Hi @venkyvb, I've just merged a few changes into main for Spark 3.2.1. compatibility. The latest jar is included as well in releases


Fix gRPC windows build or remove windows support

We currently use target_compatible_with to skip grpc library builds and tests on windows.
Removing those target_compatible_with lines reveals at least one reason why these don't build from this sample failed build:
test/death-server.cc(34,14): error: use of undeclared identifier 'write'
    CHECK_GT(write(pipe, &port, sizeof(port)), 0);
             ^
1 error generated.

It looks like we're using the posix write() function: this isn't standard C++ and it doesn't exist on windows.
Filing this tracking issue to either get our gRPC support building on windows or update eventuals docs to call out that windows isn't supported (either for just the grpc library, or for all of eventuals).

One aspect of fixing windows builds (moving away from posix-only functions to run subprocesses) is covered in https://github.com/3rdparty/eventuals/issues/337


Triggering Azure Kinects externally using 3.5mm audio cable (using RPi etc)

Is your feature request related to a problem? Please describe.
I'd like to have an external device trigger Azure Kinects and control the triggering time. For example, extend an 3.5mm audio cable from a RPi or Arduino and connect to Azure Kinects (all in slave mode). Essentially, the RPi/Arduino will act as master and trigger the Azure Kinects.
Describe the solution you'd like
I'd like to know what the triggering sequence is. In other words, what signals I should send through the 3.5mm audio cable in order to trigger an Azure Kinect capture.

Good idea, I need to gather info about this.

The SYNC signals are active high and pulse width should be greater than 8us.
We currently support 30, 15 and 5 fps, so frequency of master VSYNC signal from your board (developed to generate signal) should also be one of these 3.
Kinect DK 1 should be connected  to your board, Kinect DK 2 to your Kinect DK 1 and Kinect DK 3 to your Kinect DK 2, say daisy-chain.
SYNC signal from the board should be 5V TTL/CMOS with maximum driving capacity no less than 8mA.
The below plugs can be used with Kinect DK, and all sleeves and rings are shorted together inside Kinect DK and they are connected to ground of master Kinect DK. Tip is the sync signal.

Would the Azure Kinect respond poorly to a sync signal produced at a broadcast frame rate, such as 29.97?

Maybe look into this hardware to convert the signals?
https://www.canford.co.uk/Products/90-3029_LYNX-YELLOBRIK-SPG-1707-SYNC-PULSE-GENERATOR-3x-HD-tri-level-3x-SD-bi-level-genlock-input

@tesych is this done?

Hopping on this thread for something related.  I'd like to sync external equipment with the Kinect.  If I activate the SYNC OUT port on a Kinect, what signal is sent out exactly (pulse width, voltage, etc.) and how does that signal relate to the timing of each frame?

The signal is the subordinates VSYNC. You can use subordinate_delay_off_master_usec set a delay or deliver the pulse immediately.

Hey all, jumping onboard with some more information and questions regarding external device control of a Kinect Azure (all on Windows 10 Pro, SDK v1.3.0). I've been trying to control the K4 with an Arduino Mega2560 microcontroller. I'm sending out a fixed number of 1ms, 30Hz, >5V pulses from the arduino to the sync-in port on the K4 which is designated as subordinate.
Workflow is as follows:

Go to command line and type k4recorded.exe -l 5 --external-sync sub <filepath> for a 5 sec recording
The cmd line prompt shows: device info, device started...[subordinate mode] Waiting for signal from master...
Program stalls and waits
I hit the start/reset button on my arduino microcontroller which begins 30Hz pulsing for 5s (verified by LED)
Recording automatically stops on k4 and saves the correct 5s/150frame .mkv file

However, I tried to break my own system as a check for robustness and noticed the following: if I designate the k4recorder file to be longer, say 10 seconds [-l 10 in cmd line], while maintaining a 5s pulse train from the arduino, I notice that the recording still starts at the designated time (when I start the Arduino) but records a full 10 seconds, despite only 5 seconds of Arduino-generated pulses, suggesting that subordinate k4's don't actually listen to individual pulses coming in from an external "master", rather they rely purely on their own hardware to record and only "listen" to the opening pulse to timelock signals across daisy-chained components. @microsoft, is this a correct interpretation of what might be happening here? Could you please provide some more insight regarding how subordinate k4's read in information from the 'sync in' port? Thanks very much!

Correct, while the subordinate will wait for the first pulse from master, the subordinate no longer needs to pulse to take samples N+1 and beyond. The pulses do need to stay periodic and matched as that is how the 90KHz clocks between the two devices are resynchronized to help avoid drift.

I am able to hook up 2 kinects and trigger to start recording, I want to trigger to stop recording as well. Right now I have to either have a timer or manually press ctrl+z to stop recording. Are there ways to externally trigger to stop recording, if yes plese direct me to those examples. Thanks

Same as above. Trigger start works fine, but I'm wondering if there is a trigger stop as well.

Same as above. When  the signal generator to stop the external trigger signal, the device did not stop capturing images.

Same as above, Trigger helps to start the recording, but is there a way to stop the recording using external signal. Regarding the external trigger, is there a way to start the kernal and trigger the recording with some internal events (like "key board" or message received form some other source) other than external signal?


Power Off Washing Machine, Dryer

I've a dryer and washing machine which I can both Power off vía the official Home Connect app, but there is no such button in HASS.
Hope this is not a duplicate, tried to find a matching issue.

Please read the README and instructions for reporting issues. The mobile app is using an internal API and can do things that are not supported in the public API. If you think this should be possible you need to indicate which API supports it but if there was one it would have been added automatically by the integration.


Adding a custom font doesn't disable the previous added fonts

Hi,
I've previously commented on this but have since revisited and found out that there is apparently some sort of issue with using custom fonts.
When we don't define a font, the Inter font gets bundled as expected.
If we then define a custom font (for example, Noto+Sans) then the bundle gets both Inter and Noto Sans.
Then if we remove Noto+Sans and try yet another font, (say, Archivo), then the bundle now gets, Inter, Noto Sans and Archivo.
And on and on with the bundle apparently getting increasingly larger and larger.
It appears as the module is not removing old fonts from the cache or something and they all keep getting added.
Only by deleting the .nuxt folder manually (although I'm guessing deleting the .nuxt/cache folder will suffice) we get the correct behavior if we pick the font we want the first time and then never add to it or change it
This was detected while running npx nuxi analyze
Let me know if you need any more info,
Cheers

This is just an artifact of the .nuxt folder being re-used. When you update Nuxt or are doing an actual deployment it will only contain the relevant font files.
Saying that, there is a fairly simple fix for this so may consider fixing it.

Hey,
Thanks. No big issue then.
The bigger one will now be that nuxt's analyze command then isn't really reflecting the actual production build as stated :confused:
Leaving this open but feel free to close it at your leisure. Cheers and thanks again 👍


Add libcurl4 libcurl4-openssl-dev dependencies for latest parsec and update scripts.

Add libcurl4 libcurl4-openssl-dev dependencies for latest parsec and update scripts.

Ah sorry, I didn't see this. My Github notifications are a mess :sob:


dotnet-ildasm throws error as "It was not possible to find any compatible framework version The specified framework 'Microsoft.NETCore.App', version '2.2.0' was not found.   - The following frameworks were found: 3.0.0 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]" since we upgraded dotnet version to 2.2xx to 3.0

Since we updated our dotnet version from 2.2.xxx to 3.0.0 we are facing below error while running ./dotnet-ildasm "$dll" command.
It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '2.2.0' was not found.
  - The following frameworks were found:
      3.0.0 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Feels like this command fails with new dotnet version.
Any help with this issue would be appreciated. :)

Thank you @pmunshi007 for reporting this issue.
I have just released a new version 0.12.0 with support to .net core 3.0. Update your version (dotnet tool update -g dotnet-ildasm) and try again.
I will be closing this issue now, if you are still having problems we can reopen it.


File is not copied to clipboard

OS: Windows 10 64bit
STG version: 2.26.1 and prior

Copying as "File" is the same as copying the file on the Windows Explorer.
It does not appear on my clipboard history.
If you want, you can copy the file path instead.

The file is not copied at all, for example i can't just paste (ctrl+v) in a github issue, it doesn't work.

I may be misunderstanding, isn't that supposed to copy the contents of the file to the clipboard ? If not how come such common option not added ?

The file will be copied as a file the same way that a Ctrl + C on Windows Explorer would do.
It's not possible to paste in a GitHub issue text field the same way.
There is no available API to copy the contents of a Gif file to the clipboard as image. That's a limitation of Windows.
It's only possible to copy images with just one frame (JPG, PNG, etc).


Failed to parse unix format date field

I have some unix formatted date fields mapped to the @timestamp field and I think that is what is causing the following exception:
Caused by: ElasticsearchParseException[failed to parse date field [1483249661000] with format [epoch_millis]]; nested: IllegalArgumentException[Invalid format: "1483249661000"];
{
  "es": {
    "default_index": "logstash-*",
    "allow_url_parameter": false,
    "timezone": "America/Los_Angeles"
  },
  "tail_interval_in_seconds": 30,
  "max_buckets": 1000,
  "fields" : {
    "mapping" : {
        "timestamp" : "@timestamp",
        "display_timestamp" : "syslog_timestamp",
        "hostname" : "host",
        "program": "program",
        "message": "message"
    }
  }
}

@jslusher thanks for using logtrail. Can you paste your logstash conf file and sample document from ES ( use curl to query ES) ? What is the elasticsearch and logstash version you are using?

I believe I am having the same issue - getting error
Error! Exception while executing search query :[parse_exception] failed to parse date field [18611693012080] with format [epoch_millis]
This was working fine for a while, I did just recently upgrade elasticsearch to 2.4.1
Conf -
{
"es": {
"default_index": "svcreqlogs-*",
"allow_url_parameter": false,
"timezone": "UTC"
},
"tail_interval_in_seconds": 10,
"max_buckets": 500,
"fields" : {
"mapping" : {
"timestamp" : "@timestamp",
"display_timestamp" : "@timestamp",
"hostname" : "s-computername",
"program": "appName",
"message": "action"
}
}
}

@kengibous looks like some mapping is not present.  Are Kibana views working fine? If you are using logstash, can you paste you logstash config?

Kibana views appear fine.  Yes I am using logstash.  This has been working fine for weeks until recently.
Conf for logstash (logstash 2.4.0) - I did blank out some sensitive fields.  Thank you!
logstash.conf.txt

@sivasamyk sorry to waste your time, i think the issue is with the data that was logged - it was logged with timestamp Sat Oct 13 2559 02:43:32, and it appears logtrail uses that timestamp which in epoch time is<PHONE_NUMBER>2080.  Is there away that logtrail could use the system time instead of a time from the logged message data?  Hope that makes sense...

If I am correct, you mean there are messages with timestamp as Sat Oct 13 2559 02:43:32 in Elasticsearch. When you open logtrail first time, it get the latest 500 events from ES. The live tail will use the timestamp of latest event to fetch events. I assume you are seeing logs when you open logtrail for first time. The live tail queries are failing.

@kengibous Did your issue got resolved? Let me know if I can help.

Closing this issue. Reopen if still reproducible.


Finalize Tag Line

We need to come up with a short tag line for the project.
Please post ideas in comments!

[x] Brainstorm tag lines in comments
[ ] Choose tag line
[ ] Update website to use tagline
[ ] Update github repo and readme with new tagline

Aria - A Universe of Wonder

Aria: Hear your data, feel your Earth

Your Universe, Your Sound
Experience Planetary Sound
Harmonize with the Earth
Harmony of the Universe
Visceral Tones/Sounds of the Earth
-The Earth has a Voice. Take a listen.
-The Earth's Harmonious Sounds at Your Fingertips
The Earth is Alive. Interact with it as a being (quote from my Buddhist aunt who does sound ceremonies with the earth in Peru, btw.)
Activate your Wonder. Feel Your Universe.

your universe in sound

play, feel, wonder

Aria: Our universe synthesized through touch and sound

Aria - A Universe of Wonder
or
Aria - Exploring a Universe of Wonder
or
Aria- Unbounded exploration
Aria - Freedom to Explore
Aria - The universe is your canvas
Aria - exploring creativity
Aria - Exploring Nature’s creativity
Aria- Coloring the universe

Thanks everyone for brainstorming! My 0.02c:

Most of these taglines are "marketing" taglines, which i think is great, but if we go with one of them, we should also make sure we add in a line that is more descriptive of the project for hackathon purposes, like we had in the presentation: "Algorithmically generated music for Earth Observation data" or something to that effect that actually is a simple, easy, one line sentence that describes and communicates what our project actually does. Maybe we can call this the "subtitle" because it's nice to have a cool tagline as well.
I get that at some point the idea started around astronomy data and hubble images of the universe, but so far that's not what we have, so doesn't make much sense to me to go with something that talks about the universe. We need to be compact and clear so our project isn't confusing. Can we please stick to "earth" for now, and do universe after the hackathon?

I would really like to see it be about "universe" just so that we can describe it and the actual animated logo zooms from earth into space. Its not about what the idea "started" with. I think its more about being limitless. unbounded. I think this is something I gave my opinion on. Im open to what ever the rest of the team has to say. I think we can be compact and clear and its not confusing especially if we are adding Melissa's voice over to the video. Can you be more open about this specific topic? Jennifer and Melissa, what do you all have to say about this?
-Marlene
On Friday, October 26, 2018, 7:30:09 PM PDT, Orestis Herodotou<EMAIL_ADDRESS>wrote:
Thanks everyone for brainstorming! My 0.02c:

Most of these taglines are "marketing" taglines, which i think is great, but if we go with one of them, we should also make sure we add in a line that is more descriptive of the project for hackathon purposes, like we had in the presentation: "Algorithmically generated music for Earth Observation data" or something to that effect that actually is a simple, easy, one line sentence that describes and communicates what our project actually does. Maybe we can call this the "subtitle" because it's nice to have a cool tagline as well.
I get that at some point the idea started around astronomy data and hubble images of the universe, but so far that's not what we have, so doesn't make much sense to me to go with something that talks about the universe. We need to be compact and clear so our project isn't confusing. Can we please stick to "earth" for now, and do universe after the hackathon?

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

i like universe but itshould have subtitle too

I strongly feel that talking about the universe when the whole thing is a map of earth is confusing. Literally everything we have is earth based. The earth observation data concept is really powerful and proven to be something judges like, we should work off of that now, that is what the project is. What we have is AWESOME, why do we need to change it to something we don't have?? It would make so much more sense to just stick with Earth. It's not that we can't voice over and explain etc, the point is the best thing would not NEED an explanation or correction.
Aria: A Universe of Wonder.... (huh?)
Algorithmically generated music for Earth Observation data

What does your app do?
Works with NASA GIBS datasets of the earth

How do you do that?
You get to create music from a map of the earth.

I think that we have a lot of strong ones that don't need explanation, just as an example:
**"The Earth has a Voice. Take a listen." **
This one is really engaging. It has an action for the reader, a next step. It empowers the earth (giving it a voice) which is so important right now, and it's related to the title, Aria, which is a word about sound and music.

Do what ever you feel is best Orestis.
On Friday, October 26, 2018, 7:56:49 PM PDT, Orestis Herodotou<EMAIL_ADDRESS>wrote:
I strongly feel that talking about the universe when the whole thing is a map of earth is confusing. Literally everything we have is earth based. The earth observation data concept is really powerful and proven to be something judges like, we should work off of that now, that is what the project is. What we have is AWESOME, why do we need to change it to something we don't have?? It would make so much more sense to just stick with Earth. It's not that we can't voice over and explain etc, the point is the best thing would not NEED an explanation or correction.
Aria: A Universe of Wonder.... (huh?)
Algorithmically generated music for Earth Observation data
What does your app do?
Works with NASA GIBS datasets of the earth
How do you do that?
You get to create music from a map of the earth.
I think that we have a lot of strong ones that don't need explanation, just as an example:
**"The Earth has a Voice. Take a listen." **
This one is really engaging. It has an action for the reader, a next step. It empowers the earth (giving it a voice) which is so important right now, and it's related to the title, Aria, which is a word about sound and music.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hear Your Earth. Activate Your Senses.
The Earth has a Voice. Take A Listen.
Aria: Unbounded Earth Exploration

universe of wonder
activare your wonder feel your universe
exploring a universe of wonder

Guys I was about to update our team page on the space apps site and saw that "universe of beauty and wonder" was a challenge prompt - perhaps consider shelving that one for now until we're not associated with them anymore?

unbounded Exploration
activare your wonder feel your universe
exploring a universe of wonder

Sent out the vote! Check your emails


Improve nuget export for static package

Currently vcpkg has support for static libraries but it is error-prone.
See: #3042

You have to install both static and non-static triplet in order to export the package as nuget.
If you export nuget package with specifying only static, the package doesn't use correct path for headers and libs.
After exporting package with static and non-static, the package is compiling but not working correctly !
This is the most annoying.

In order to make it work you have to manually update vcxproj.
https://blogs.msdn.microsoft.com/vcblog/2016/11/01/vcpkg-updates-static-linking-is-now-available/
I would expect this to be working automatically.
There is ClCompile.RuntimeLibrary property which can be used for this:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/109c2303-b4a5-4aa1-8f61-01663d358fa5/using-metadata-in-conditions

This issue hasn’t been updated in a year; if it is still an issue, please reopen this issue.

I didn't check, but if nobody looked on it, it might not be solved


Update Gradle and Checkstyle

Gradle 3.4.1 -> 3.5

Fix the deprecation warnings when accessing ossrh credentials

Checkstyle 7.1 -> 7.7

Move the Checkstyle version to dependencies.yml

Miscellaneous:

Use quoted strings for version numbers instead of '!!str'

Thanks!