Compilation warnings not reported by CI jobs

Godot version:
9e214ad
OS/device including version:
Various
Issue description:
We only test a limited number of build configurations on Travis and AppVeyor, and only some of those jobs treat warnings as errors, so there are still some warnings produced by some specific configurations which need to be handled. They should be listed in this issue.

[ ] p=javascript tools=yes in platform/javascript/audio_driver_javascript.cpp

platform/javascript/audio_driver_javascript.cpp:102:54: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
        if (!internal_buffer || memarr_len(internal_buffer) != buffer_length * channel_count) {
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[ ] p=javascript tools=yes in modules/webrtc/webrtc_peer_js.cpp

modules/webrtc/webrtc_peer_js.cpp:191:29: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
        if (in_buffer.space_left() < p_size + 5) {
            ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~

[ ] p=javascript tools=yes at linking

emcc: warning: cannot represent a NaN literal '0xe2b57b0' with custom bit pattern in NaN-canonicalizing JS engines (e.g. Firefox and Safari) without erasing bits!
  in   store float 0xFFFFFFFFE0000000, float* %94, align 4, !tbaa !30 in _ZN22RasterizerStorageGLES318multimesh_allocateE3RIDiN12VisualServer24MultimeshTransformFormatENS1_20MultimeshColorFormatENS1_25MultimeshCustomDataFormatE()
emcc: warning: cannot represent a NaN literal '0xe2b57b0' with custom bit pattern in NaN-canonicalizing JS engines (e.g. Firefox and Safari) without erasing bits!
  in   store float 0xFFFFFFFFE0000000, float* %93, align 4, !tbaa !31 in _ZN22RasterizerStorageGLES218multimesh_allocateE3RIDiN12VisualServer24MultimeshTransformFormatENS1_20MultimeshColorFormatENS1_25MultimeshCustomDataFormatE()

more to come

Here're warnings I'm getting with 5cc1c7d642044637e011ba221b2a52bf45c5a531. Most of these already were reported in various issues.

🔸 Xcode 10.2.1, macOS build:

[ ] p=osx tools=yes in scene/resources/texture.h

scene/resources/texture.h:91:1: warning: class 'BitMap' was previously declared as a struct [-Wmismatched-tags]
class BitMap;
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:61:8: note:
      previous use is here
struct BitMap {
       ^
scene/resources/texture.h:91:1: note: did you mean struct here?
class BitMap;
^~~~~
struct

[ ] p=osx tools=yes in modules/assimp/editor_scene_importer_assimp.cpp

modules/assimp/editor_scene_importer_assimp.cpp:858:10: warning: comparison of array 'map_mode' not equal to a null pointer is always true [-Wtautological-pointer-compare]
                                        if (map_mode != NULL) {
                                            ^~~~~~~~    ~~~~

[ ] p=osx tools=yes in thirdparty/bullet/LinearMath/btVector3.h

thirdparty/bullet/LinearMath/btVector3.h:335:7: warning: argument value 10880 is outside the valid range [0, 255] [-Wargument-outside-range]
                y = bt_splat_ps(y, 0x80);
                    ^~~~~~~~~~~~~~~~~~~~
thirdparty/bullet/LinearMath/btVector3.h:43:29: note: expanded from macro 'bt_splat_ps'
#define bt_splat_ps(_a, _i) bt_pshufd_ps((_a), BT_SHUFFLE(_i, _i, _i, _i))
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thirdparty/bullet/LinearMath/btVector3.h:41:33: note: expanded from macro 'bt_pshufd_ps'
#define bt_pshufd_ps(_a, _mask) _mm_shuffle_ps((_a), (_a), (_mask))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/include/xmmintrin.h:2608:11: note: expanded from macro '_mm_shuffle_ps'
  (__m128)__builtin_ia32_shufps((__v4sf)(__m128)(a), (__v4sf)(__m128)(b), \
          ^

[ ] p=osx tools=yes in thirdparty/bullet/LinearMath/btMatrix3x3.h

thirdparty/bullet/LinearMath/btMatrix3x3.h:910:14: warning: argument value 10880 is outside the valid range [0, 255] [-Wargument-outside-range]
        __m128 vk = bt_splat_ps(_mm_load_ss((float*)&k), 0x80);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thirdparty/bullet/LinearMath/btVector3.h:43:29: note: expanded from macro 'bt_splat_ps'
#define bt_splat_ps(_a, _i) bt_pshufd_ps((_a), BT_SHUFFLE(_i, _i, _i, _i))
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thirdparty/bullet/LinearMath/btVector3.h:41:33: note: expanded from macro 'bt_pshufd_ps'
#define bt_pshufd_ps(_a, _mask) _mm_shuffle_ps((_a), (_a), (_mask))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/include/xmmintrin.h:2608:11: note: expanded from macro '_mm_shuffle_ps'
  (__m128)__builtin_ia32_shufps((__v4sf)(__m128)(a), (__v4sf)(__m128)(b), \
          ^

[ ] p=osx tools=yes in drivers/unix/semaphore_posix.cpp

drivers/unix/semaphore_posix.cpp:60:2: warning: 'sem_getvalue' is deprecated [-Wdeprecated-declarations]
        sem_getvalue(&sem, &val);
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/semaphore.h:54:56: note: 'sem_getvalue' has been explicitly
      marked deprecated here
int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated;
                                                       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/cdefs.h:176:40: note: expanded from macro '__deprecated'
#define __deprecated    __attribute__((deprecated))
                                       ^
drivers/unix/semaphore_posix.cpp:77:10: warning: 'sem_init' is deprecated [-Wdeprecated-declarations]
        int r = sem_init(&sem, 0, 0);
                ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/semaphore.h:55:42: note: 'sem_init' has been explicitly
      marked deprecated here
int sem_init(sem_t *, int, unsigned int) __deprecated;
                                         ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/cdefs.h:176:40: note: expanded from macro '__deprecated'
#define __deprecated    __attribute__((deprecated))
                                       ^
drivers/unix/semaphore_posix.cpp:84:2: warning: 'sem_destroy' is deprecated [-Wdeprecated-declarations]
        sem_destroy(&sem);
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/semaphore.h:53:26: note: 'sem_destroy' has been explicitly
      marked deprecated here
int sem_destroy(sem_t *) __deprecated;
                         ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/cdefs.h:176:40: note: expanded from macro '__deprecated'
#define __deprecated    __attribute__((deprecated))
                                       ^

🔸 Xcode 10.2.1, iOS build:

[ ] p=iphone tools=no in platform/iphone/gl_view.h

platform/iphone/gl_view.h:83:30: warning: 'MPMoviePlayerController' is deprecated: first deprecated in iOS 9.0 - Use AVPlayerViewController in AVKit. [-Wdeprecated-declarations,30]
 @property(strong, nonatomic) MPMoviePlayerController *moviePlayerController;
                              ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPMoviePlayerController.h:83:12: note: 'MPMoviePlayerController' has been explicitly marked deprecated here [2]
 @interface MPMoviePlayerController : NSObject <MPMediaPlayback>
            ^
platform/iphone/gl_view.h:108:26: note: setter and getter must both be synthesized, or both be user defined,or the property must be nonatomic [2]
 @property NSTimeInterval animationInterval;
                          ^
           (nonatomic)
fix-it:"platform/iphone/gl_view.h":{108:11-108:11}:"(nonatomic) "
platform/iphone/gl_view.h:108:26: note: property declared here [2]

[ ] p=iphone tools=no in platform/iphone/main.m

platform/iphone/main.m:45:15: warning: unused variable 'app' [-Wunused-variable,35]
        AppDelegate *app = [AppDelegate alloc];
                      ^

[ ] p=iphone tools=no in platform/iphone/gl_view.mm

platform/iphone/gl_view.mm:84:23:{84:23-84:38}: warning: 'safeAreaInsets' is only available on iOS 11.0 or newer [-Wunguarded-availability-new,2]
                insets = [_instance safeAreaInsets];
                                     ^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:264:45: note: 'safeAreaInsets' has been marked as being introduced in iOS 11.0 here, but the deployment target is iOS 10.0.0 [2]
 @property (nonatomic,readonly) UIEdgeInsets safeAreaInsets API_AVAILABLE(ios(11.0),tvos(11.0));
                                             ^
platform/iphone/gl_view.mm:84:23:{84:23-84:38}: note: enclose 'safeAreaInsets' in an @available check to silence this warning [2]
                insets = [_instance safeAreaInsets];
                                     ^~~~~~~~~~~~~~~
fix-it:"platform/iphone/gl_view.mm":{84:3-84:3}:"if (@available(iOS 11.0, *)) {\n\t\t    "
fix-it:"platform/iphone/gl_view.mm":{84:39-84:39}:"\n\t\t} else {\n\t\t    // Fallback on earlier versions\n\t\t}"
platform/iphone/gl_view.mm:417:16: warning: 'setFrameInterval:' is deprecated: first deprecated in iOS 10.0 - preferredFramesPerSecond [-Wdeprecated-declarations,30]
                [displayLink setFrameInterval:frameInterval];
                              ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:71:32: note: property 'frameInterval' is declared deprecated here [2]
 @property(nonatomic) NSInteger frameInterval
                                ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:71:32: note: 'setFrameInterval:' has been explicitly marked deprecated here [2]
platform/iphone/gl_view.mm:451:1: warning: writable atomic property 'animationInterval' cannot pair a synthesized getter with a user defined setter [-Watomic-property-with-user-defined-accessor,2]
 - (void)setAnimationInterval:(NSTimeInterval)interval {
 ^

[ ] p=iphone tools=no in platform/iphone/in_app_store.mm

platform/iphone/in_app_store.mm:209:29: warning: 'transactionReceipt' is deprecated: first deprecated in iOS 7.0 - Use -[NSBundle appStoreReceiptURL] [-Wdeprecated-declarations,30]
                                                receipt = transaction.transactionReceipt;
                                                                       ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentTransaction.h:47:50: note: 'transactionReceipt' has been explicitly marked deprecated here [2]
 @property(nonatomic, readonly, nullable) NSData *transactionReceipt NS_DEPRECATED_IOS(3_0, 7_0, "Use -[NSBundle appStoreReceiptURL]");
                                                  ^
platform/iphone/in_app_store.mm:213:28: warning: 'transactionReceipt' is deprecated: first deprecated in iOS 7.0 - Use -[NSBundle appStoreReceiptURL] [-Wdeprecated-declarations,30]
                                        receipt = transaction.transactionReceipt;
                                                               ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentTransaction.h:47:50: note: 'transactionReceipt' has been explicitly marked deprecated here [2]
 @property(nonatomic, readonly, nullable) NSData *transactionReceipt NS_DEPRECATED_IOS(3_0, 7_0, "Use -[NSBundle appStoreReceiptURL]");
                                                  ^
platform/iphone/in_app_store.mm:276:34: warning: 'paymentWithProductIdentifier:' is deprecated: first deprecated in iOS 5.0 - Use +paymentWithProduct: after fetching the available products using SKProductsRequest [-Wdeprecated-declarations,30]
        SKPayment *payment = [SKPayment paymentWithProductIdentifier:pid];
                                         ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPayment.h:23:1: note: 'paymentWithProductIdentifier:' has been explicitly marked deprecated here [2]
 + (id)paymentWithProductIdentifier:(NSString *)identifier NS_DEPRECATED_IOS(3_0, 5_0, "Use +paymentWithProduct: after fetching the available products using SKProductsRequest");
 ^

[ ] p=iphone tools=no in platform/iphone/view_controller.mm

platform/iphone/view_controller.mm:46:21: warning: conversion from string literal to 'char *' is deprecated [-Wc++11-compat-deprecated-writable-strings,30]
        p_args[p_argc++] = "--path";
                            ^
platform/iphone/view_controller.mm:48:34: warning: 'cString' is deprecated: first deprecated in iOS 2.0 - Use -cStringUsingEncoding: instead [-Wdeprecated-declarations,30]
        p_args[p_argc++] = (char *)[str cString];
                                         ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:501:1: note: 'cString' has been explicitly marked deprecated here [2]
 - (nullable const char *)cString NS_RETURNS_INNER_POINTER API_DEPRECATED("Use -cStringUsingEncoding: instead", macos(10.0,10.4), ios(2.0,2.0), watchos(2.0,2.0), tvos(9.0,9.0));
 ^
platform/iphone/view_controller.mm:66:35: warning: 'cString' is deprecated: first deprecated in iOS 2.0 - Use -cStringUsingEncoding: instead [-Wdeprecated-declarations,30]
                p_args[p_argc++] = (char *)[str cString];
                                                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSString.h:501:1: note: 'cString' has been explicitly marked deprecated here [2]
 - (nullable const char *)cString NS_RETURNS_INNER_POINTER API_DEPRECATED("Use -cStringUsingEncoding: instead", macos(10.0,10.4), ios(2.0,2.0), watchos(2.0,2.0), tvos(9.0,9.0));
 ^
platform/iphone/view_controller.mm:79:17: warning: method definition for 'shouldAutorotateToInterfaceOrientation:' not found [-Wincomplete-implementation,2]
 @implementation ViewController
                 ^
platform/iphone/view_controller.h:37:1: note: method 'shouldAutorotateToInterfaceOrientation:' declared here [2]
 - (BOOL)shouldAutorotateToInterfaceOrientation:
 ^

[ ] p=iphone tools=no in platform/iphone/app_delegate.mm

platform/iphone/app_delegate.mm:55:37: warning: 'openURL:' is deprecated: first deprecated in iOS 10.0 - Please use openURL:options:completionHandler: instead [-Wdeprecated-declarations,30]
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
                                            ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:128:1: note: 'openURL:' has been explicitly marked deprecated here [2]
 - (BOOL)openURL:(NSURL*)url NS_DEPRECATED_IOS(2_0, 10_0, "Please use openURL:options:completionHandler: instead") NS_EXTENSION_UNAVAILABLE_IOS("");
 ^
platform/iphone/app_delegate.mm:450:14: warning: '__bridge_transfer' casts have no effect when not using ARC [-Warc-bridge-casts-disallowed-in-nonarc,8]
                                        uuid = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, cfuuid);
                                                 ^~~~~~~~~~~~~~~~~~
fix-it:"platform/iphone/app_delegate.mm":{450:14-450:32}:""
platform/iphone/app_delegate.mm:593:10: warning: unused variable 'quit_request' [-Wunused-variable,35]
                                bool quit_request = OSIPhone::get_singleton()->iterate();
                                      ^
platform/iphone/app_delegate.mm:612:15: warning: 'setStatusBarHidden:withAnimation:' is deprecated: first deprecated in iOS 9.0 - Use -[UIViewController prefersStatusBarHidden] [-Wdeprecated-declarations,30]
        [application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
                      ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:464:1: note: 'setStatusBarHidden:withAnimation:' has been explicitly marked deprecated here [2]
 - (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation NS_DEPRECATED_IOS(3_2, 9_0, "Use -[UIViewController prefersStatusBarHidden]") __TVOS_PROHIBITED;
 ^
platform/iphone/app_delegate.mm:150:25:{150:4-150:24}: warning: 'UIView' may not respond to 'stopAnimation' [2]
                [view_controller.view stopAnimation];
                  ~~~~~~~~~~~~~~~~~~~~ ^
platform/iphone/app_delegate.mm:168:25:{168:4-168:24}: warning: 'UIView' may not respond to 'startAnimation' [2]
                [view_controller.view startAnimation];
                  ~~~~~~~~~~~~~~~~~~~~ ^

[ ] p=iphone tools=no in platform/iphone/ios.mm

platform/iphone/ios.mm:41:2: warning: 'UIAlertView' is deprecated: first deprecated in iOS 9.0 - UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead [-Wdeprecated-declarations,30]
        UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:[NSString stringWithUTF8String:p_title] message:[NSString stringWithUTF8String:p_alert] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] autorelease];
         ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h:27:12: note: 'UIAlertView' has been explicitly marked deprecated here [2]
 @interface UIAlertView : UIView
            ^
platform/iphone/ios.mm:41:26: warning: 'UIAlertView' is deprecated: first deprecated in iOS 9.0 - UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead [-Wdeprecated-declarations,30]
        UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:[NSString stringWithUTF8String:p_title] message:[NSString stringWithUTF8String:p_alert] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] autorelease];
                                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertView.h:27:12: note: 'UIAlertView' has been explicitly marked deprecated here [2]
 @interface UIAlertView : UIView
            ^

[ ] p=iphone tools=no in drivers/unix/semaphore_posix.cpp (same as on macOS)

drivers/unix/semaphore_posix.cpp:60:2: warning: 'sem_getvalue' is deprecated [-Wdeprecated-declarations,30]
        sem_getvalue(&sem, &val);
         ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/usr/include/sys/semaphore.h:54:56: note: 'sem_getvalue' has been explicitly marked deprecated here [2]
 int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated;
                                                        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/usr/include/sys/cdefs.h:176:40: note: expanded from macro '__deprecated'
 #define __deprecated    __attribute__((deprecated))
                                        ^
drivers/unix/semaphore_posix.cpp:77:10: warning: 'sem_init' is deprecated [-Wdeprecated-declarations,30]
        int r = sem_init(&sem, 0, 0);
                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/usr/include/sys/semaphore.h:55:42: note: 'sem_init' has been explicitly marked deprecated here [2]
 int sem_init(sem_t *, int, unsigned int) __deprecated;
                                          ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/usr/include/sys/cdefs.h:176:40: note: expanded from macro '__deprecated'
 #define __deprecated    __attribute__((deprecated))
                                        ^
drivers/unix/semaphore_posix.cpp:84:2: warning: 'sem_destroy' is deprecated [-Wdeprecated-declarations,30]
        sem_destroy(&sem);
         ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/usr/include/sys/semaphore.h:53:26: note: 'sem_destroy' has been explicitly marked deprecated here [2]
 int sem_destroy(sem_t *) __deprecated;
                          ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/usr/include/sys/cdefs.h:176:40: note: expanded from macro '__deprecated'
 #define __deprecated    __attribute__((deprecated))
                                        ^

[ ] p=iphone tools=no arch=x86_64 (no warning with arch=arm64) in thirdparty/bullet/LinearMath/btVector3.h (same as on macOS)

thirdparty/bullet/LinearMath/btVector3.h:335:7: warning: argument value 10880 is outside the valid range [0, 255] [-Wargument-outside-range]
                y = bt_splat_ps(y, 0x80);
                    ^~~~~~~~~~~~~~~~~~~~
thirdparty/bullet/LinearMath/btVector3.h:43:29: note: expanded from macro 'bt_splat_ps'
#define bt_splat_ps(_a, _i) bt_pshufd_ps((_a), BT_SHUFFLE(_i, _i, _i, _i))
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thirdparty/bullet/LinearMath/btVector3.h:41:33: note: expanded from macro 'bt_pshufd_ps'
#define bt_pshufd_ps(_a, _mask) _mm_shuffle_ps((_a), (_a), (_mask))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/include/xmmintrin.h:2608:11: note: expanded from macro '_mm_shuffle_ps'
  (__m128)__builtin_ia32_shufps((__v4sf)(__m128)(a), (__v4sf)(__m128)(b), \
          ^

[ ] p=iphone tools=no arch=x86_64 (no warning with arch=arm64) in thirdparty/bullet/LinearMath/btMatrix3x3.h (same as on macOS)

thirdparty/bullet/LinearMath/btMatrix3x3.h:910:14: warning: argument value 10880 is outside the valid range [0, 255] [-Wargument-outside-range]
        __m128 vk = bt_splat_ps(_mm_load_ss((float*)&k), 0x80);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thirdparty/bullet/LinearMath/btVector3.h:43:29: note: expanded from macro 'bt_splat_ps'
#define bt_splat_ps(_a, _i) bt_pshufd_ps((_a), BT_SHUFFLE(_i, _i, _i, _i))
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thirdparty/bullet/LinearMath/btVector3.h:41:33: note: expanded from macro 'bt_pshufd_ps'
#define bt_pshufd_ps(_a, _mask) _mm_shuffle_ps((_a), (_a), (_mask))
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/include/xmmintrin.h:2608:11: note: expanded from macro '_mm_shuffle_ps'
  (__m128)__builtin_ia32_shufps((__v4sf)(__m128)(a), (__v4sf)(__m128)(b), \
          ^

🔸 MinGW-w64 6.0.0-1 / GCC 8.3.0 cross-build on macOS:

[ ] p=windows tools=yes in platform/windows/windows_terminal_logger.cpp

platform/windows/windows_terminal_logger.cpp: In member function 'virtual void WindowsTerminalLogger::logv(const char*, va_list, bool)':
platform/windows/windows_terminal_logger.cpp:48:10: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  if (len >= BUFFER_SIZE)
      ~~~~^~~~~~~~~~~~~~

[ ] p=windows tools=yes in platform/windows/power_windows.cpp

platform/windows/power_windows.cpp: In member function 'bool PowerWindows::GetPowerInfo_Windows()':
platform/windows/power_windows.cpp:92:12: warning: comparison of integer expressions of different signedness: 'const int' and 'unsigned int' [-Wsign-compare]
   if (secs != 0xFFFFFFFF) { /* ((DWORD)-1) == unknown */
       ~~~~~^~~~~~~~~~~~~

[ ] p=windows tools=yes in platform/windows/joypad_windows.cpp

platform/windows/joypad_windows.cpp: In member function 'bool JoypadWindows::is_xinput_device(const GUID*)':
platform/windows/joypad_windows.cpp:106:79: warning: comparison of integer expressions of different signedness: 'UINT' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  if (GetRawInputDeviceList(NULL, &dev_list_count, sizeof(RAWINPUTDEVICELIST)) == -1) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
platform/windows/joypad_windows.cpp:112:83: warning: comparison of integer expressions of different signedness: 'UINT' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  if (GetRawInputDeviceList(dev_list, &dev_list_count, sizeof(RAWINPUTDEVICELIST)) == -1) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
platform/windows/joypad_windows.cpp:116:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  for (int i = 0; i < dev_list_count; i++) {
                  ~~^~~~~~~~~~~~~~~~
platform/windows/joypad_windows.cpp: In member function 'void JoypadWindows::process_joypads()':
platform/windows/joypad_windows.cpp:337:13: warning: declaration of 'i' shadows a previous local [-Wshadow=local]
    for (int i = 0; i <= 16; i++) {
             ^
platform/windows/joypad_windows.cpp:325:11: note: shadowed declaration is here
  for (int i = 0; i < XUSER_MAX_COUNT; i++) {
           ^
platform/windows/joypad_windows.cpp:415:26: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
     if (joy->joy_axis[j] == axes[k]) {
platform/windows/joypad_windows.cpp: In member function 'void JoypadWindows::post_hat(int, DWORD)':
platform/windows/joypad_windows.cpp:429:13: warning: comparison of integer expressions of different signedness: 'DWORD' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  if (p_dpad == -1) {
      ~~~~~~~^~~~~

[ ] p=windows tools=yes in platform/windows/os_windows.cpp

platform/windows/os_windows.cpp: In member function 'virtual void OS_Windows::set_window_size(Size2)':
platform/windows/os_windows.cpp:1819:8: warning: declaration of 'rect' shadows a previous local [-Wshadow=local]
   RECT rect;
        ^~~~
platform/windows/os_windows.cpp:1804:7: note: shadowed declaration is here
  RECT rect;
       ^~~~
platform/windows/os_windows.cpp: In member function 'virtual uint64_t OS_Windows::get_unix_time() const':
platform/windows/os_windows.cpp:2196:11: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  return (*(uint64_t *)&ft - *(uint64_t *)&fep) / 10000000;
           ^~~~~~~~~~~~~~~
platform/windows/os_windows.cpp:2196:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  return (*(uint64_t *)&ft - *(uint64_t *)&fep) / 10000000;
                              ^~~~~~~~~~~~~~~~
platform/windows/os_windows.cpp: In member function 'virtual Error OS_Windows::execute(const String&, const List<String>&, bool, OS::ProcessID*, String*, int*, bool, Mutex*)':
platform/windows/os_windows.cpp:2528:9: warning: declaration of 'ret' shadows a previous local [-Wshadow=local]
   DWORD ret = WaitForSingleObject(pi.pi.hProcess, INFINITE);
         ^~~
platform/windows/os_windows.cpp:2523:6: note: shadowed declaration is here
  int ret = CreateProcessW(NULL, modstr.ptrw(), NULL, NULL, 0, NORMAL_PRIORITY_CLASS, NULL, NULL, si_w, &pi.pi);
      ^~~

[ ] p=windows tools=yes in drivers/unix/net_socket_posix.cpp

drivers/unix/net_socket_posix.cpp: In member function 'virtual Error NetSocketPosix::bind(IP_Address, uint16_t)':
drivers/unix/net_socket_posix.cpp:309:57: warning: comparison of integer expressions of different signedness: 'int' and 'SOCKET' {aka 'long long unsigned int'} [-Wsign-compare]
  if (::bind(_sock, (struct sockaddr *)&addr, addr_size) == SOCK_EMPTY) {
                                                         ^
drivers/unix/net_socket_posix.cpp: In member function 'virtual Error NetSocketPosix::listen(int)':
drivers/unix/net_socket_posix.cpp:320:37: warning: comparison of integer expressions of different signedness: 'int' and 'SOCKET' {aka 'long long unsigned int'} [-Wsign-compare]
  if (::listen(_sock, p_max_pending) == SOCK_EMPTY) {
                                     ^
drivers/unix/net_socket_posix.cpp: In member function 'virtual Error NetSocketPosix::connect_to_host(IP_Address, uint16_t)':
drivers/unix/net_socket_posix.cpp:337:60: warning: comparison of integer expressions of different signedness: 'int' and 'SOCKET' {aka 'long long unsigned int'} [-Wsign-compare]
  if (::connect(_sock, (struct sockaddr *)&addr, addr_size) == SOCK_EMPTY) {
                                                            ^

[ ] p=windows tools=yes in drivers/windows/file_access_windows.cpp

drivers/windows/file_access_windows.cpp: In member function 'virtual void FileAccessWindows::store_buffer(const uint8_t*, int)':
drivers/windows/file_access_windows.cpp:305:46: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
  ERR_FAIL_COND(fwrite(p_src, 1, p_length, f) != p_length);
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
./core/typedefs.h:317:41: note: in definition of macro 'unlikely'
 #define unlikely(x) __builtin_expect(!!(x), 0)
                                         ^
drivers/windows/file_access_windows.cpp:305:2: note: in expansion of macro 'ERR_FAIL_COND'
  ERR_FAIL_COND(fwrite(p_src, 1, p_length, f) != p_length);
  ^~~~~~~~~~~~~

[ ] p=windows tools=yes in drivers/wasapi/audio_driver_wasapi.cpp

drivers/wasapi/audio_driver_wasapi.cpp: In member function 'virtual ULONG CMMNotificationClient::Release()':
drivers/wasapi/audio_driver_wasapi.cpp:93:11: warning: deleting object of polymorphic class type 'CMMNotificationClient' which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
    delete this;
           ^~~~
drivers/wasapi/audio_driver_wasapi.cpp: In member function 'Error AudioDriverWASAPI::audio_device_init(AudioDriverWASAPI::AudioDeviceWASAPI*, bool, bool)':
drivers/wasapi/audio_driver_wasapi.cpp:170:15: warning: declaration of 'device' shadows a previous local [-Wshadow=local]
    IMMDevice *device = NULL;
               ^~~~~~
drivers/wasapi/audio_driver_wasapi.cpp:147:13: note: shadowed declaration is here
  IMMDevice *device = NULL;
             ^~~~~~
drivers/wasapi/audio_driver_wasapi.cpp:292:15: warning: comparison of integer expressions of different signedness: 'int' and 'DWORD' {aka 'long unsigned int'} [-Wsign-compare]
  if (mix_rate != pwfex->nSamplesPerSec) {
      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
drivers/wasapi/audio_driver_wasapi.cpp: In static member function 'static void AudioDriverWASAPI::thread_func(void*)':
drivers/wasapi/audio_driver_wasapi.cpp:574:32: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
     for (unsigned int i = 0; i < ad->samples_in.size(); i++) {
                              ~~^~~~~~~~~~~~~~~~~~~~~~~
drivers/wasapi/audio_driver_wasapi.cpp:702:24: warning: comparison of integer expressions of different signedness: 'int' and 'UINT32' {aka 'unsigned int'} [-Wsign-compare]
      for (int j = 0; j < num_frames_available; j++) {
                      ~~^~~~~~~~~~~~~~~~~~~~~~

I ticked the ones that should be fixed by #29797.

I'm going to move the remaining warnings to platform-specific tickets, it will be easier to have a good overview.

Superseded by #29799, #29780 and #29781 (+ remaining warnings fixed by #29797).

@akien-mga Should this issue be closed now?

Yes, seems I forgot to.


fix: improve redact sql regexp

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
This closes https://github.com/GreptimeTeam/greptimedb/issues/2889.
Checklist

[ ]  I have written the necessary rustdoc comments.
[x]  I have added the necessary unit tests and integration tests.
[x]  This PR does not require documentation updates.

Refer to a related PR or issue link (optional)

cc @killme2008 @WenyXu @fengjiachun PTAL


Create nuget-org-organizations.md

Work In Progress

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/nuget-org-organizations.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 30: [Warning] Invalid file link:(~/reference/TBD).
Line 35: [Warning] Invalid file link:(~/reference/TBD).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 30: [Warning] Invalid file link:(~/reference/TBD).
Line 37: [Warning] Invalid file link:(~/reference/TBD).
Line 41: [Warning] Invalid file link:(~/reference/TBD).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 30: [Warning] Invalid file link:(~/reference/TBD).
Line 37: [Warning] Invalid file link:(~/reference/TBD).
Line 41: [Warning] Invalid file link:(~/reference/TBD).
Line 59: [Warning] Invalid file link:(~/reference/TBD).
Line 67: [Warning] Invalid file link:(~/reference/TBD).
Line 76: [Warning] Invalid file link:(~/reference/TBD).
Line 81: [Warning] Invalid file link:(~/reference/TBD).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-add-new-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 30: [Warning] Invalid file link:(~/reference/TBD).
Line 37: [Warning] Invalid file link:(~/reference/TBD).
Line 41: [Warning] Invalid file link:(~/reference/TBD).
Line 59: [Warning] Invalid file link:(~/reference/TBD).
Line 67: [Warning] Invalid file link:(~/reference/TBD).
Line 76: [Warning] Invalid file link:(~/reference/TBD).
Line 81: [Warning] Invalid file link:(~/reference/TBD).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-add-new-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 30: [Warning] Invalid file link:(~/reference/TBD).
Line 37: [Warning] Invalid file link:(~/reference/TBD).
Line 41: [Warning] Invalid file link:(~/reference/TBD).
Line 59: [Warning] Invalid file link:(~/reference/TBD).
Line 67: [Warning] Invalid file link:(~/reference/TBD).
Line 76: [Warning] Invalid file link:(~/reference/TBD).
Line 81: [Warning] Invalid file link:(~/reference/TBD).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-add-new-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 37: [Warning] Invalid file link:(~/reference/TBD).
Line 41: [Warning] Invalid file link:(~/reference/TBD).
Line 59: [Warning] Invalid file link:(~/reference/TBD).
Line 67: [Warning] Invalid file link:(~/reference/TBD).
Line 76: [Warning] Invalid file link:(~/reference/TBD).
Line 81: [Warning] Invalid file link:(~/reference/TBD).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-add-new-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 37: [Warning] Invalid file link:(~/reference/media/org-transform-option.png).
Line 41: [Warning] Invalid file link:(~/reference/media/org-transform-page.png).
Line 59: [Warning] Invalid file link:(~/reference/media/org-manage-packages-filter.png).
Line 67: [Warning] Invalid file link:(~/reference/media/org-upload-option.png).
Line 76: [Warning] Invalid file link:(~/reference/media/org-apikey-option.png).
Line 81: [Warning] Invalid file link:(~/reference/media/org-remove-self-option.png).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-add-new-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 35: [Warning] Invalid file link:(~/reference/media/org-add-new-page.png).
Line 42: [Warning] Invalid file link:(~/reference/media/org-transform-option.png).
Line 46: [Warning] Invalid file link:(~/reference/media/org-transform-page.png).
Line 64: [Warning] Invalid file link:(~/reference/media/org-manage-packages-filter.png).
Line 72: [Warning] Invalid file link:(~/reference/media/org-upload-option.png).
Line 81: [Warning] Invalid file link:(~/reference/media/org-apikey-option.png).
Line 86: [Warning] Invalid file link:(~/reference/media/org-remove-self-option.png).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/reference/organizations-on-nuget-org.md
:warning:Warning

Details

docs/reference/media/org-add-new-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md

Line 64: [Warning] Invalid file link:(~/reference/media/org-manage-packages-filter.png).
Line 72: [Warning] Invalid file link:(~/reference/media/org-upload-option.png).
Line 81: [Warning] Invalid file link:(~/reference/media/org-apikey-option.png).
Line 86: [Warning] Invalid file link:(~/reference/media/org-remove-self-option.png).

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/media/org-add-new-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Prepare of repository data failed. Proposal: Please check if there're files with same name but only different in casing for the following path: docs/reference/media/org-add-new-option.png in your repository.. After fix, please try the build again.

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

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Prepare of repository data failed. Proposal: Please check if there're files with same name but only different in casing for the following path: docs/reference/media/org-add-new-option.png in your repository.. After fix, please try the build again.

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

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Prepare of repository data failed. Proposal: Please check if there're files with same name but only different in casing for the following path: docs/reference/media/org-add-new-option.png in your repository.. After fix, please try the build again.

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.PNG
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/nuget-config-file.md
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded

docs/reference/media/org-add-new-option.png
:white_check_mark:Succeeded

docs/reference/media/org-add-new-page.png
:white_check_mark:Succeeded

docs/reference/media/org-apikey-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-option.png
:white_check_mark:Succeeded

docs/reference/media/org-manage-packages-option.png
:white_check_mark:Succeeded

docs/reference/media/org-remove-self-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-option.png
:white_check_mark:Succeeded

docs/reference/media/org-transform-page.png
:white_check_mark:Succeeded

docs/reference/media/org-upload-option.png
:white_check_mark:Succeeded

docs/reference/nuget-config-file.md
:white_check_mark:Succeeded

docs/reference/organizations-on-nuget-org.md
:white_check_mark:Succeeded

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


fix(sidepanel): close/ai placement

Closes #5466
To make the positions of close/ai, i changed the position of class dev-prefix--c4p--side-panel__slug-and-close from fixed to absolute.
What did you change? packages/ibm-products-styles/src/components/SidePanel/_side-panel.scss
How did you test and verify your work? storybook

@lee-chase I remember you changed the positioning back to fixed from absolute in this PR. Do you recall why? Was it the fact that when positioned absolute it disappeared on scroll? I don't see that behavior here with @anamikaanu96's changes.

@lee-chase I remember you changed the positioning back to fixed from absolute in this PR. Do you recall why? Was it the fact that when positioned absolute it disappeared on scroll? I don't see that behavior here with @anamikaanu96's changes.

The issue is when reduced motion is turned on. Currently there appears to be numerous problems with reduced motion on, with or without the changes.

@anamikaanu96 there is some weird behavior as @lee-chase mentioned when reduced motion is turned on with the side panel close icon. Can you try to take a look at this?


Fallback expressions don't work

I'm trying to calculate height of an element based on the viewport height using vh units and fallback to the actual viewport height I'm injecting into the component as height property:
    let backgroundStyle = {
      height: [`${height - headerHeight}px`, `calc(100vh - ${headerHeight}px)`]
    }

However, my component gets rendered with the following style
height: 343px,calc(100vh - 64px)

packages:
    "react": "0.13.3",
    "radium": "0.13.0"

I'm getting this CSS both on the server and on the client.
Interestingly enough, if I switch the order of the values:
height: [`calc(100vh - ${headerHeight}px)`, `${height - headerHeight}px`]

I'm only getting the following CSS:
height: calc(100vh - 64px)

You have the order the same in both examples. calc should come first, as Radium will use the first value that can be applied successfully. Being rendered with a comma is definitely a bug, I'll try to get a repo.

Apologies, the order in the 1st example should be:
height: [`calc(100vh - ${headerHeight}px)`, `${height - headerHeight}px`]

I've just realized that the order is reversed compared to the native CSS fallback. How does this work on the server, where we don't know what is supported by the browser and what's not? Are all the declarations simply rendered in the reverse order?

On the server, Radium renders the first value in the fallback array.

Is it possible in case of server-side rendering to make it reverse the array and render all the values (so that browser will be the one doing the fallback)? Or it's simply not possible with inline CSS?

It's not possible with React currently. I'm hopeful that the React team will change their minds on that one because it's an important use case. See https://github.com/facebook/react/pull/723 for some discussion.


fix: remove example app tests

Remove the tests folder from the example app as this is causing coverage reports to drop in codecov

☝ Back up to 96.85%

Instead of removing tests from example app. I'd rather add some integration tests that ensure that we can start the app, generate the schema, execute some queries and verify their responses.

@dkuc84 I'm fine with that but I don't think the sample app needs to be included in the code coverage report. So maybe we can instead change the codecov config

Closing in favor of https://github.com/ExpediaDotCom/graphql-kotlin/pull/297


chore(Datagrid): add ability to disable column resizing

Contributes to #3547
Provides a way to opt out of the default column resizing behavior.
What did you change?
packages/ibm-products/src/components/Datagrid/Datagrid.docs-page.js
packages/ibm-products/src/components/Datagrid/Datagrid/DatagridHeaderRow.js
packages/ibm-products/src/components/Datagrid/useDatagrid.js

How did you test and verify your work?
Storybook

Yes, I did forget about that last column 😱 I'll see if we can remove it if resizing has been disabled.


file arguments give runtime error

The following code works fine on my Win10 box, OCAML 4.09, dune 2.1.2 but the same code compiled with the latest bucklescript gives a run time error: (yes, the file specified by --path is the same in both cases).
D:\CRIME\ocommander>node src\ocommander.bs.js TemplateCreate --name test1 --path package.json

C:\Users\ysg4206\AppData\Roaming\npm\node_modules\bs-platform\lib\js\printexc.js:273
  if (slot.tag) {
       ^
TypeError: Cannot read property 'tag' of undefined
    at format_backtrace_slot (C:\Users\ysg4206\AppData\Roaming\npm\node_modules\bs-platform\lib\js\printexc.js:273:12)
    at Object.raw_backtrace_to_string (C:\Users\ysg4206\AppData\Roaming\npm\node_modules\bs-platform\lib\js\printexc.js:378:19)
    at Object.pp_backtrace (D:\CRIME\ocommander\node_modules\@elliottcable\bs-cmdliner\src\cmdliner_msg.bs.js:461:23)
    at do_result (D:\CRIME\ocommander\node_modules\@elliottcable\bs-cmdliner\src\cmdliner.bs.js:309:24)
    at Object.eval_choice (D:\CRIME\ocommander\node_modules\@elliottcable\bs-cmdliner\src\cmdliner.bs.js:452:12)
    at Object.<anonymous> (D:\CRIME\ocommander\src\ocommander.bs.js:363:24)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)

Here is the source:
(* Demo, just print the args. *)
open Cmdliner
[%%raw "process.argv.shift()"]

let actionHelp = [
 `S "COMMAND HELP";
 `P "Use `$(mname) $(i,COMMAND) --help' for help on a single command.";
 `S Manpage.s_bugs; `P "Email bug reports to jpaasch@draper.com";]

(* Actions *)

let oCommander () =
  Printf.printf "* dummy - do not call * "

let templateCreate name path =
  Printf.printf "TemplateCreate - name: %s path: %s" name path

let templateDetails name =
  Printf.printf "TemplateDetails - name: %s" name

let templateList () =
  Printf.printf "TemplateList - "

let deployStack deployment template provider =
  Printf.printf "DeployStack - deployment: %s template: %s provider: %s" deployment template provider

let deployRemove deployment template provider =
  Printf.printf "DeployRemove - deployment: %s template: %s provider: %s" deployment template provider

(* Arguments *)

let nameArg =
  let doc = "$(docv) of the template" in
  Arg.(required & opt (some string) None & info ["n"; "name"] ~docv:"NAME" ~doc)

let pathArg =
  let doc = "$(docv) to template file" in
  Arg.(required & opt (some Arg.non_dir_file) None & info ["p"; "path"] ~docv:"PATH" ~doc)

let deployArg =
  let doc = "$(docv) - name to use for deployment" in
  Arg.(required & opt (some string) None & info ["d"; "deployment"] ~docv:"DEPLOYMENT" ~doc)

let templateArg =
  let doc = "$(docv) - name of template" in
  Arg.(required & opt (some string) None & info ["t"; "template"] ~docv:"TEMPLATE" ~doc)

let providerArg =
  let doc = "$(docv) - cloud Provider (e.g. AWS)" in
  Arg.(required & opt (some string) None & info ["p"; "provider"] ~docv:"PROVIDER" ~doc)

(* Help Terms *)

let oCommanderHelp =
  let doc = "CLI for CRIME System" in
  let exits = Term.default_exits in
  let man =  [`Blocks actionHelp; ] in
  Term.(const oCommander $ const ()),
  Term.info "oCommander" ~doc ~exits ~version:"0.1.0" ~man

let templateCreateHelp =
let doc = "Create a Template from a file" in
let exits = Term.default_exits in
  Term.(const templateCreate $ nameArg $ pathArg),
    Term.info "TemplateCreate" ~doc ~exits

let templateDetailsHelp =
let doc = "Show Details about a Template" in
let exits = Term.default_exits in
  Term.(const templateDetails $ nameArg ),
    Term.info "TemplateDetails" ~doc ~exits

let templateListHelp =
let doc = "List all Templates for this user" in
let exits = Term.default_exits in
  Term.(const templateList $ const ()),
    Term.info "TemplateList" ~doc ~exits

let deployStackHelp =
let doc = "Deploy a Stack to a Provider" in
let exits = Term.default_exits in
  Term.(const deployStack $ deployArg $ templateArg $ providerArg ),
    Term.info "DeployStack" ~doc ~exits

let deployRemoveHelp =
let doc = "Remove a deployed stack from a Provider" in
let exits = Term.default_exits in
  Term.(const deployRemove $ deployArg $ templateArg $ providerArg ),
    Term.info "DeployRemove" ~doc ~exits

(* Run *)

let actions = [templateCreateHelp; templateDetailsHelp; templateListHelp; deployStackHelp; deployRemoveHelp]
let () = Term.(exit @@ eval_choice oCommanderHelp actions)

According to #1 file/dir calls don't work. I had to get around this by changing all dir/file types to just string.
let pathArg = {
  let doc = "$(docv) to template file";
  Arg.(
    required
    & opt(some(string), None)
    & info(["p", "path"], ~docv="PATH", ~doc)
  );
};

should work - although it is less safe I guess because you give up the fs checks.

#1 suggests a shim of using Node.Fs.existsSync , ok other than not having a pure solution, what are the practical drawbacks going that route?


Add MacType 2021.1-rc1 version

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

You'll have to update the version folder to fix the casing.

You'll have to update the version folder to fix the casing.

Thanks


fix(client-go): unset token before logging in

This could cause problem when registering with a fresh cluster before logging out of a old one. Registration doesn't care if the token is valid (it only cares when registration is set to admin only), but login requires no token or a valid token, so it has to be unset.

lgtm

LGTM.


Add debounceValidateMs prop for better perf with large forms

Creating this to bring some awareness to #1526/#1597 which seems to have gone stale.
This would help us out tremendously for some of the larger forms (100+ fields) we have.
With validation the forms become unusable since every change triggers validation of the entire form.
It seems that others have experienced similar issues: #671, #2335

closing this.
it was actually our validation and heavy use of .lazy() that was slowing the form down. switching to .when() and being a bit smarter in how we compute the schema saved us a few 1000ms


Highway nodes should not automatically snap to landuse nodes

Normally, landuse should almost never be connected to a road. However, a lot of new mappers don't know this. As a result new mappers sometimes connect a road to a bit of land. Ofcourse not on purpose, but it should not be so easy to do this. I feel the user should at least be discouraged to do so.
Adding a right click option for a node to merge with nearby nodes could easily prevent these accidental errors.

Just wanted to point out that there are regions where the local mapping community has decided that it is desirable to connect landuse areas and boundaries to roadways in some cases (a nuanced example). That said, iD does filter out boundaries by default, probably to prevent unintentional and extraneous connections to roadways.

I can think of examples where is is ok for a highway node to join to a landuse node.  For example when the highway enters perpendicular, like at this gate node:

I think instead of making it hard to join a line to an area, we should just make it easier to disconnect them if they are wrong.  (#4245)


CI Update

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-autogen/azure-datalake-store/azure.datalake.store.lib.DatalakeRESTInterface.yml
:white_check_mark:Succeeded

docs-ref-autogen/msrest/msrest.serialization.Model.yml
:white_check_mark:Succeeded

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


Shaders.

Does anybody have a simple example of how to use them? I'm having a hard time understanding how to use multiple shaders in one texture. Thanks for every help.

I only use a single custom shader and don't use passes, but I'll try to help as much as i can.
https://github.com/tlgkccampbell/ultraviolet/wiki/Creating-Effects talks about it if you missed that, and the effects file, which is what you're going to need.
Some of the ultraviolet samples load custom effects, but none of them seem to use multiple passes.
https://github.com/tlgkccampbell/ultraviolet-samples/blob/4390170349cbbc4ff211e50b823753e9491ff3e5/Sample15_RenderTargetsAndBuffers/Sample15_RenderTargetsAndBuffers.Shared/Game.cs loads an effect and then uses it with their spritebatch.
and https://github.com/tlgkccampbell/ultraviolet-samples/blob/4390170349cbbc4ff211e50b823753e9491ff3e5/Sample3_RenderingGeometry/Sample3_RenderingGeometry.Shared/Game.cs applies a stock effect with a standard.
From prior conversations i don't believe you combine effects on a single object without setting them up as separate passes in the same effect chain, but perhaps I could be wrong, especially outside of sprite batch.  Searching for shader on the gitter has a couple discussions about them.

@fireball87 is correct with his edit. Multiple passes require multiple Draw() calls. Conceptually, an EffectPass instance is basically equivalent to a single OpenGL shader program, which means that applying a new pass requires changing the device state. You either have to do all of your calculations in a single shader program, or draw the meshes multiple times.
If you could provide an example of what you're trying to do, I could probably give you more detailed advice.
The documentation around shaders should probably be improved, especially now that I'm working on more powerful 3D abstractions for which BasicEffect and SpriteBatchEffect aren't going to suffice. I'll leave this issue open until I can write that documentation.

For sake of reference, if you want to create an Effect instance with multiple techniques or passes, you need to create an XML or JSON file that describes the effect and load that with ContentManager instead of directly loading a shader file.
Here's an example of such a JSON file:
{
  "parameters": [ "MatrixTransform", "TextureSize", "Texture", "ColorGradingLUT" ],
  "techniques": [
    {
      "name": "Technique0",
      "passes": [
        {
          "name": "Pass0",
          "stages": {
            "vert": "ColorGrading.vert",
            "frag": "ColorGrading.frag"
          }
        }
      ]
    }
  ]
}

I've updated the documentation on shaders.

Wow. Thank you so much.


Add API from multiple GAE endpoints with different client ids

Hi,
is it currently possible to authenticate with multiple client ids for multiple GAE apps? I have tried to chain-authenticate but it seems only one reponse token is saved.
Best,
BurtaN

Why are multiple client IDs involved?

I had GAE modules of different projects.

Can you explain the scenario where this is needed? Please pardon my ignorance, but I don't yet understand what operation (or operations?) require the user to authorize multiple clients in a single step. Are the permissions granted to all the applications identical, or are they distinct? Is the end-user authorizing the access aware of the distinct identities of each client, or not?

@Burtan we are working on a new feature that would allow several client_id in the same app. I'll keep this thread updated.

@Burtan, the new feature has been released: https://developers.google.com/identity/sign-in/web/reference#advanced. Each call is independent from the other so you can change the client_id in each. As @bsittler noted however, we do not recommend to have several client_id in the same application.

Thanks for the update!


fixed!! widevinecdm 4.10.2830.0 on windows 7 to play drm protected content

Is your feature request related to a problem? Please describe.
widevinecdm 4.10.2830.0 no worky on windows 7
Describe the solution you'd like
a working widevinecdm 4.10.2830.0 on windows 7
Describe alternatives you've considered
i made a program that patches the widevinecdm 4.10.2830.0 component on supermium 126 to make it worky on windows 7. it replaces the dll and dll sig files for both architectures to be that of 4.10.2710.0
Additional context
this will not worky for much longer,, because firefox esr 115 is eol as of sept 30 and widevinecdm 4.10.2710.0 will be phased out and no longer worky. but for the time being as of oct 4 2024 this is tested working on supermium 126

attached is the 7z file. in this 7z file you will find 3 different things, the exe file generated from the code in the screenshot, the source code stored under the source folder, and a folder named Resources which contains the dll files for widevinecdm 4.10.2710.0 that the program uses. to use,, simply install supermium 126,, and run the program at least once in order to populate the local app data user data directory,, and then run this exe file. itll then have widevinecdm 4.10.2830.0 component worky and it wont break after restarting the browser. pls note this is future proof in the sense that itll work for future updates of widevinecdm also,, just simply rerun this exe file any time widevinecdm updates in the coming months
https://files.catbox.moe/0djy97.7z
note to devs of supermium,, it might be useful to bundle this by default with the browser and make it auto patch the widevinecdm component on launch every time you restart the browser,, but idk how long this will last given that firefox esr 115 is eol now

Firefox ESR 115 is not end-of-life. It has been extended until march 2025 and may be extended again, dependent on userbase population i'd assume.

+1 for your attempt and efforts, buuut
cuz you just replace chrome.exe with your patcher, i have few little remarks

will it works if i open url from shell while watching some DRM-secured content? code on screenshort has no any checks, try-catches, etc.
any external chrome.exe calling will results disk activity.
UserData folder is configurable but you assume it always in %localAppData%. Same for Supermium install location.
for your luck you not state it works on WinXP otherwise %localAppData% give you a slap
foreach? accessing zero item is not in fashion?
what if there is no any folder?

not ideal nor best example
//note that inlining is not best practice but i like it
//it's just shitty safety-wrapper example, other do yourself, even tests

try {
	if (isBrowserRunned) // you need to determine it, System.Diagnostics can help with it
		return;

	// ?. ??
	string wvcPath = Array.Find(args, (one_arg) => one_arg.StartsWith("--user-data-dir="));
	wvcPath = (wvcPath == null? Environment.ExpandEnvironmentVariables(@"%LOCALAPPDATA%\Supermium\User Data\WidevineCdm\") : wvcPath.Substring(16).Trim('"') + @"\WidevineCdm\");

	DirectoryInfo[] di = null;
	// ternary? also can be entirely removed to simply fall into finally block on absence of any part of path
	if (Directory.Exists(wvcPath) && (di = (new DirectoryInfo(wvcPath)).GetDirectories()).Length > 0)
		Console.WriteLine(wvcPath += di[0].Name);
	else
		Console.WriteLine(wvcPath += "4.10.2710.0");// can be replaced with return; or other version as you need
	//your stuff here
} catch {} finally {
	//run browser here, https://stackoverflow.com/questions/6041332
}

and btw + i hate cannon-guning for flys, it can be done with simple bat/cmd file, that can be targeted by shortcut you regulary use to start the browser. .

Being pedantic, it's not actually bundled with the browser per se (unlike the case with Google Chrome), but it'll be fetched from Google servers once the FirefoxESR-115.16.0 user wants to view DRM'd rich media content...
I spent quite a lot of time researching this (as Google Search is being exceptionally secretive :-1: when it comes to Widevine itself :angry: ), but it appears Mozilla have actually patched the browser itself (fx-115.16.0esr on Win7 ONLY) to have the latest WidevineCDM version work there; after perusing Mozilla's Bugzilla (and stumbling on "private" bugs), I eventually found:
https://bugzilla.mozilla.org/show_bug.cgi?id=1918478
and thus:
https://hg.mozilla.org/releases/mozilla-esr115/rev/5c840c90641a
which is echoed in the 115.16.0esr Release Notes:

Fixed Windows 7 incompatibility with the latest Widevine library to retain Encrypted Media Extensions (EME) support, ensuring support for content from video streaming providers.

So, they're probably not using the elusive 4.10.2830.100 variant...

cuz i found that widevinecdm 4.10.2830.100 dlls work on windows 7

@wilm281, you went to lot of trouble producing this, so I don't want to sound ungrateful and/or entitled; but, as pointed above by @XakerTwo, you explicitly assume one has "properly" installed Supermium via its installer, whereas many people, myself included, prefer a "portabilised" solution; e.g., I use one based on X-Launcher :wink: ..
At this time, I'd like to get my hands on this elusive v4.10.2830.100 x86 DLL (that no web search will procure :sob: ), but your latest "application" (archive crpjni.7z) contains an EXE that isn't extractable by tools currently known to me; whereas your first offering, archive 0djy97.7z, contains the dlls in an easily extractable way...
Can you please point me to a source of this DLL or could you or another kind soul here :wink: able to run/extract widevinecdm-4.10.2710.0-win-x86-64.exe (inside crpjni.7z) attach it in a comment in this thread? Thanks in advance! :smile:

Your posts bleed my eyes. You could've learned how to type as well as you did for coding.
Seriously, how hard is it to use uppercase and dots at right places?

Very interesting code on Mozilla's end to patch in GetProcessMitigationPolicy in kernel32, sacrificing GetProcessPreferredUILanguages for that purpose.
I also discovered that Widevine CDM itself does not need to have valid digital signatures as it does function when it has been patched.

But it would invalidate the VMP signature which Supermium lacks, while Mozilla's method would not as widevinecdm.dll is completely untouched, including in memory.

for whatever reason, host you are using is not accesible for me, so i just have no chance to view it in decompiller :D so all my remarks based only on provided code.
it will not just skip patching - it will create _platform_specific folder right in the WidevineCdm dir and dump patch here without any other files, again based on early provided code. Btw - foreach save you from possible IndexOutOfRange exception
if you wish/can you can provide source here as text with cs right after three apostrofs (```cs) or provide just exe but using dropbox, gdrive, etc.
p.s. my reaction to the source of widevinecdm 4.10.2830.100 dlls   :trollface:

sry for delay
weeeell.... generally nothing changed, okay lets see
1.1. :heavy_check_mark: will it works if i open url from shell while watching some DRM-secured content? code on screenshort has no any checks, try-catches, etc.
1.2. :x: any external chrome.exe calling will results disk activity (useless file overwriting)
1.3.1 :x: UserData folder is configurable but you assume it always in %localAppData%.
1.3.2 :x: Same for Supermium install location
1.4 :x: foreach? accessing zero item is not in fashion?
1.5 :x: what if there is no any sub-folder? (in WidevineCdm) - patch will be dumped right into ...\WidevineCdm\_platform_specific\...
what's new - nothing important, just tiny remarks
2.1 overhead with other OS - your primary target is Windows, there no need for other OS, but as practice OK
2.2 unoptimal foreach - condition checking on each iteration, can be moved to "post-processing"
2.3 nested for loop can be slightly optimized (advanced) as well as completely removed

1.* see original post it still fully relevant cuz nothing changed (there spoiler with code, also read comments, i slightly update it)
1.3.2
for patcher - see code comments in original post
for installer - you can use System.Windows.Forms.OpenFileDialog or Microsoft.Win32.OpenFileDialog to ask user for chrome.exe, when it not found in expected location. Also you may try to check few places in registry

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations - user protocol associations. It contains name of the key in HKEY_CLASSES_ROOT hive, but first check it, otherwise you may touch IE and then it touch you :rofl:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet - internet browser apps
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ - uninstall info

huh? why did you delete all your messages? especially the messages with widevide dlls - someone may needs them or info about their obtaining! as well as your patcher!
please don't do that in future - don't delete entire issue info
if someone interested what is was here...
wilm281 on its own found a simple way to get DRM-secured content work in Supermium under Win7.
In short - it required patched widevinecdm*.dll that is not so simple to find and obtain. However x86 version can be grabbed from Spotify app and x64 version from Opera 95, but, mostly, in order for the app/browser to download the dlls the authing in some service, providing DRM-secured content, is required.
wilm281 also provide his own small tool(with sources) to automatically replace original dlls with patched, but to work it should replace chrome.exe (that triggered my interest of reliability of this tool).
so, below are the links from original posts(thx web.archive; these links is not my re-upload, they are refer to wilm281' uploads)
widevinecdm-4.10.2830.100-win-x86.zip
https://github.com/user-attachments/files/17270760/widevinecdm-4.10.2830.100-win-x86.zip
widevinecdm-4.10.2830.100-win-x64.zip
https://github.com/user-attachments/files/17270855/widevinecdm-4.10.2830.100-win-x64.zip
wilm281' patcher (latest version, link may be dead)
https://files.catbox.moe/crpjni.7z
notes: for x64 it uses widevinecdm v4.10.2710.0 from FF; issues mentioned by me still actual
web.archive backup with original posts (contains patcher' source code)
https://web.archive.org/web/20241008151716/https://github.com/win32ss/supermium/issues/937


Support titles?

Currently all windows with Browservice is showing "Browservice" as the window title. If would be nice if the title changed according to the page currently loaded.

Support for titles was left out for these reasons:

Allowing the page to send any textual data to be parsed by the client browser opens up attack surface, as some retro browsers or operating systems might have vulnerabilities in parsing or rendering the untrusted title. Of course it is possible to sanitize the title, but confidently finding a good universal secure sanitization that does not cripple language support is difficult.
In the current implementation, sending textual data to the client browser is difficult. As we want to support browsers as old as IE4, we cannot use AJAX; instead, we would probably need to refresh the page on the client browser on each title change, which would hurt performance.

Of course it would be possible to selectively enable the title feature using a command line flag, but I'm trying to be careful not to make the set of options too complex in order to keep the software easy to test; I'm not convinced that this is a very important feature for usability because on retro machines the number of concurrently open Browservice windows will typically be small. A safer and easier option would be to render the title text inside the browser view image; however, it would probably be less useful there (unless we implement browser tabs).


How to convert reusable workflow

the on section will be replaced in real time with the event specified by the unit test.
all references to fromJSON(inputs.$KEY) get replaced withjust inputs.$KEY ?
populate event.json and .env with the workflow input default instead of relying on use case having them.

I think all references to fromJSON need to be removed. I only see it referenced in reusable workflows or workflow dispatch events...


cargo-metest should handle stdout being piped

If the output isn't a TTY like a pipe cargo-metest doesn't display anything very useful at the moment, the progress bar output sorta just breaks.

fixed in ba58d9412c4672bed6f040a7bda082d82ee71b53


Upgrade node-sass to version 3.5.2

Libraries.io has found that there is a newer version of node-sass that this project depends on.
More info: https://libraries.io/npm/node-sass/3.5.2

Hey there!
I'd like to do this one, if it's okay.


Faq

Creating a PR to gather feedback.

(Terse because I’m on mobile. Nice job on adding the faq)

Textual content should be left aligned instead of justified for easier reading
Headings should probably have an id/name and way to get a /faq#what-is-a-scratch link
Wouldn’t it be easier (editing-wise) to have the faq in a md file that gets turned into TS on compile time? (E.g https://nextjs.org/docs/app/building-your-application/configuring/mdx)
Not sure if the page is long enough, but either a TOC or making sections collapsible could be a good way to help people get the answer they’re looking for
Some info about the scoring algorithm?
Maybe the longer paragraphs (good length btw!) could use some emphasis or links to make them a bit more visually engaging.

This is a great start that I think can be improved over time with some of the more QOL features like @marijnvdwerf mentioned. If no one has any objections, I think let's merge this soon


A future bound to an action executing on a different locality doesn't capture exception state

Expected Behavior
Not sure if this is supposed to be an expected behavior. Exception should be handled by the future?
Actual Behavior
An action that throws on the other locality does not return its exception state to the future. i.e. f.has_exception() doesn't work on that future.
Steps to Reproduce the Problem
#include <hpx/hpx_main.hpp>
#include <hpx/include/future.hpp>
#include <hpx/modules/async_local.hpp>
#include <hpx/modules/async_distributed.hpp>
#include <hpx/modules/actions.hpp>
#include <hpx/actions_base/plain_action.hpp>
#include <hpx/hpx.hpp>

#include <exception>

int thrower() {
    std::cout << hpx::get_locality_id() << std::endl;
    throw std::exception();
}
HPX_PLAIN_ACTION(thrower, thrower_action);

int main()
{
    hpx::id_type to_call = hpx::find_here();
    std::vector<hpx::id_type> locales = hpx::find_all_localities();

    std::cout << hpx::get_locality_id() << std::endl;

    for (auto const& id: locales) {
        if (id != to_call) {
            to_call = ids;
            break;
        }
    }

    thrower_action ac;
    hpx::future<int> f = hpx::async(ac, to_call);

    hpx::future<void> g = f.then(hpx::launch::sync, [](hpx::future<int>&& f) {
        if (f.has_exception())
            std::cout << "exception caught!\n";
    });

    g.get();

    return 0;
}

The above code doesn't execute to completion. It logs error as an unhandled exception. {what}: std::exception: HPX(unhandled_exception)

Is this specific to remote operation ?

Yes, it occurs when the action is on another locality. In the example code, I invoke action on locality 1 and the future that is bound to that action is on locality 0. If they're on same localities, no errors come up. When they're on different localities, unhandled exception error is returned by HPX.


BUG: add const for Read-only views in interpnd.pyx

Reference issue
fix #12499
What does this implement/fix?
I added const for Read-only views in interpnd.pyx and add a test for it.
Additional information
Ref: https://cython.readthedocs.io/en/latest/src/userguide/memoryviews.html#read-only-views

CI seems messed up at the moment but failures look unrelated and are happening on other PRs so I think we're good to merge anyway. Thanks @AtsushiSakai.


fix(@angular-devkit/schematics): UpdateRecorder should support multiple adjacent inserts

At the current time this is more of a question than a fix.
Should the update recorder allow multiple adjacent inserts? I added a test to illustrate this question.
While I do have a potential fix for this, in its current form it would switch to pure string handling and I assume the Buffer usage was done due to performance?

Hey there, looks like this PR fell through the cracks and we didn't get to it until just now. This seems like more of an issue rather than a PR we can easily land (since we don't want to merge failing tests), so I opened #21110 for discussion and tracking there.
If you have a specific fix in mind, feel free to open a PR with that and we can help review and hopefully land that fix.

@dgp1130 That's fine. I was more curious if this should work in your eyes. Thank you for creating the related issue. 👍


Resolved issue in start-all.sh script

When I tried to run the start-all.sh script (Kubernetes) I got an error: ./start-all.sh: line 9: [: too many arguments
I resolved this by replacing the and by &&. This is tested on Ubuntu (Linux).

Thanks @stijnb1234.


Interactive Tutorial - Exploring Your App

Interactive terminal wont open in Brave Browser - [Version 1.40.113 Chromium: 103.0.5060.114 (Official Build) (arm64)]

Hi @Resetnak, This problem is occurring because ad blocker shields in brave browser so just disable shields and reload the page.

/close


SOLR-16391: Tweak "create coll" API to be more REST-ful

https://issues.apache.org/jira/browse/SOLR-16391
Description
Solr is currently making slow progress in moving its v2 APIs in a more REST-ful direction.  Many APIs have been improved, but many remaining including the commonly used API to create collections.
Solution
This commit makes various cosmetic improvements to Solr's v2 create collection API, to bring it more into line with the more REST-ful v2 design.  This mostly includes tweaking a few parameter names, and removing the "create" top-level key representing the "command".
It also migrates the API definition to JAX-RS.
Tests
Unit tests for converting between the v1 and v2 parameter formats have been added in CreateCollectionAPITest.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.
[x] I have added documentation for the Reference Guide

With the exception of a few tests that are unique to this PR, the code here all comes from #1453.  I'm in the process of splitting that PR up into smaller chunks, of which this is one.

Tests and 'check' pass! Will aim to merge in a few days since the bulk of this code has been available for review for some time.


chore(build/registry): updated go deps.

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area registry
What this PR does / why we need it:
Updated go deps and ran go mod tidy.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: FedeDP
Once this PR has been reviewed and has the lgtm label, please assign leogr for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Part of the effort around: https://github.com/falcosecurity/evolution/issues/305

Registry build is broken now :/
make
# github.com/falcosecurity/plugin-sdk-go/pkg/loader
In file included from plugin_loader.c:26:
../../../../go/pkg/mod/github.com/falcosecurity/plugin-sdk-go@v0.7.1/pkg/sdk/strlcpy.h:30:22: error: static declaration of ‘strlcpy’ follows non-static declaration
   30 | static inline size_t strlcpy(char *dst, const char *src, size_t size) {
      |                      ^~~~~~~
In file included from ../../../../go/pkg/mod/github.com/falcosecurity/plugin-sdk-go@v0.7.1/pkg/sdk/strlcpy.h:22:
/usr/include/string.h:506:15: note: previous declaration of ‘strlcpy’ with type ‘size_t(char * restrict,  const char * restrict,  size_t)’ {aka ‘long unsigned int(char * restrict,  const char * restrict,  long unsigned int)’}
  506 | extern size_t strlcpy (char *__restrict __dest,
      |               ^~~~~~~
make: *** [Makefile:25: registry] Error 1

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Registry build is broken now :/
make
# github.com/falcosecurity/plugin-sdk-go/pkg/loader
In file included from plugin_loader.c:26:
../../../../go/pkg/mod/github.com/falcosecurity/plugin-sdk-go@v0.7.1/pkg/sdk/strlcpy.h:30:22: error: static declaration of ‘strlcpy’ follows non-static declaration
   30 | static inline size_t strlcpy(char *dst, const char *src, size_t size) {
      |                      ^~~~~~~
In file included from ../../../../go/pkg/mod/github.com/falcosecurity/plugin-sdk-go@v0.7.1/pkg/sdk/strlcpy.h:22:
/usr/include/string.h:506:15: note: previous declaration of ‘strlcpy’ with type ‘size_t(char * restrict,  const char * restrict,  size_t)’ {aka ‘long unsigned int(char * restrict,  const char * restrict,  long unsigned int)’}
  506 | extern size_t strlcpy (char *__restrict __dest,
      |               ^~~~~~~
make: *** [Makefile:25: registry] Error 1

AFAIK, @jasondellaluce is working on it, right? see https://github.com/falcosecurity/plugins/pull/323


feat: add get images script

Summary
Create a script that will parse the metadata.yaml that contain references to the image used by the charm.
Related to https://github.com/canonical/bundle-kubeflow/issues/889.
This script is used by the get-all-images.sh script.

Run the script and it produces the correct output
gcr.io/ml-pipeline/metadata-envoy:2.0.2

Let's ensure we cherry pick this to the corresponding track for CKF 1.8


Fullscreen and releaseAllVideos

Hi, I have a video in a RecyclerView. When a click on the fullscreen button it doesn't work because my activity goes to the onPause state and releaseAllVideos is invoked.
I've tested in JieCaoVideoPlayer's MainActivity and it never goes to onPause, so I might be doing something wrong.
Any hint?

Overrite onBackPress() function,Same as demo MainActivity

@lipangit thanks


mark_rect opacity

It seems that the opacity parameter has no effect on mark_rect:
df = pd.DataFrame({"value": np.arange(10)}).assign(lower=1, upper=3)

line = alt.Chart().mark_line().encode(x="value", y="value")
area = alt.Chart().mark_rect(opacity=0.5).encode(x="lower", x2="upper")

(line + area).facet(data=df)

I also tried the fillOpacity and strokeOpacity parameters, but without success.
Using mark_area works but requires to define y and y2.
Thanks for Atlair!

Hi @jakevdp, what would be the method to achieve a rectangular shaded area with a modified opacity in a layered chart where the other component of the layered chart is a line chart drawing from a DataFrame with multiple rows, with the additional requirement that the layered chart will be faceted and thus the rectangle chart needs to also reference the same multi-row DataFrame?
I'm trying the following:
        line = alt.Chart(data).mark_line().encode(
            x='x',
            y='y',
        )

        rectangle = alt.Chart().mark_rect().encode(
            y=alt.YDatum(-6).scale(domain=[-12,-4]),
            y2=alt.Y2Datum(-4),
            color=alt.ColorValue("#FF0000"),
            opacity=alt.OpacityValue(0.3)
        )

        layered = rectangle + line

        faceted = layered.facet('facet', columns=32, spacing=1)

And you can assume that data has columns 'x', 'y' and 'facet', and multiple rows.
When I run the above code, I get:
ValueError: Facet charts require data to be specified at the top level. If you are trying to facet layered or concatenated charts, ensure that the same data variable is passed to each chart or specify the data inside the facet method instead.

But if I pass data to the rectangle chart, the correct opacity is no longer displayed, namely for the reason you describe above.
Thanks for the help!


edit html landing page

hi, just starting here, so i was hoping to be shown where the static html directory and landing page index.html is, so that i could edit index.html of the landing page of the basic webapp and be more oriented to where source code is. i did correctly guess 'app services' without documentation, but i am unable to find how to edit the web app i just deployed.

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

ID: a825f031-250e-034d-e552-4b0d976d88b1
Version Independent ID: 626d7451-0b8e-051e-e512-0bf90be319a0
Content: Create static HTML web app - Azure App Service
Content Source: articles/app-service/app-service-web-get-started-html.md
Service: app-service-web
GitHub Login: @msangapu
Microsoft Alias: msangapu

@khanhankkhan Thank you for reaching out.
We are actively investigating and will get back to you soon.

@khanhankkhan, All the officially supported deployment methods make changes to the files in the /home/site/wwwroot folder of your app.
The default document is the web page that's displayed at the root URL for a website. The first matching file in the list is used. To add a new default document, click New document. Make the desired changes and then save.
This document  details information on this process. Hope that helps.
Just to highlight further, if the app uses modules that route based on URL instead of serving static content, there is no need for default document.
Refer to the article File structure  on Azure to know the sets of files & dirs on Azure WebApp, and checkout the directory listing. You could use Kudu console (https://yoursite.scm.azurewebsites.net) to review the directories.

@khanhankkhan, Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply and we will gladly continue the discussion.