App crashes when cursor is at the front of TextField and backspace is pressed

b/200629367

Focus is on a TextField
TextField gets rebuilt
Cursor moves to the front
Backspace is pressed

crashes with:
======== Exception caught by services library ======================================================
The following assertion was thrown during a platform message callback:
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#062b0(physicalKey: PhysicalKeyboardKey#00000(usbHidUsage: "0x1100000000", debugName: "Key with ID 0x1100000000"), logicalKey: LogicalKeyboardKey#00008(keyId: "0x100000008", keyLabel: "Backspace", debugName: "Backspace"), character: "�", timeStamp: 54:39:16.008167)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack:
#2      HardwareKeyboard._assertEventIsRegular.<anonymous closure> (package:flutter/src/services/hardware_keyboard.dart:437:16)
#3      HardwareKeyboard._assertEventIsRegular (package:flutter/src/services/hardware_keyboard.dart:452:6)
#4      HardwareKeyboard.handleKeyEvent (package:flutter/src/services/hardware_keyboard.dart:543:5)
#5      KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:821:35)
#6      BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:77:49)
#7      BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:76:47)
#8      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:387:35)
#9      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:384:46)
#10     _invoke2.<anonymous closure> (dart:ui/hooks.dart:205:15)
#14     _invoke2 (dart:ui/hooks.dart:204:10)
#15     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)
#16     _Channel.push (dart:ui/channel_buffers.dart:132:31)
#17     ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
#18     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:544:22)
#19     _dispatchPlatformMessage (dart:ui/hooks.dart:92:31)
(elided 5 frames from class _AssertionError and dart:async)

CC @dkwingsmt

Focus is on a TextField
TextField gets rebuilt
Cursor moves to the front
Backspace is pressed

This can be reproduced with any key, just backspace, the app crashed with the F key on Windows

logs
[ +134 ms] Hot restart performed in 259ms.
[        ] Performing hot restart... (completed in 260ms)
[        ] Restarted application in 270ms.
[ +675 ms] Unable to parse JSON message:
[   +1 ms] The document is empty.
[  +10 ms]
           ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY
           ╞══════════════════════════════════════════════════════════
           The following assertion was thrown during a platform message
callback:
           A KeyUpEvent is dispatched, but the state shows that the physical
key is not
           pressed. If this occurs
           in real application, please report this bug to Flutter. If this
occurs in
           unit tests, please ensure
           that simulated events follow Flutter's event model as documented
in
           `HardwareKeyboard`. This was the
           event: KeyUpEvent#327ae(physicalKey:
PhysicalKeyboardKey#70009(usbHidUsage:
           "0x00070009", debugName:
           "Key F"), logicalKey: LogicalKeyboardKey#00066(keyId:
"0x00000066",
           keyLabel: "F", debugName: "Key
           F"), character: null, timeStamp: 114:43:52.384859)
           'package:flutter/src/services/hardware_keyboard.dart':
           Failed assertion: line 441 pos 16:
           '_pressedKeys.containsKey(event.physicalKey)'

           Either the assertion indicates an error in the framework itself,
or we
           should provide substantially
           more information in this error message to help you determine and
fix the
           underlying cause.
           In either case, please report this assertion by filing a bug on
GitHub:
             https://github.com/flutter/flutter/issues/new?template=2_bug.md

           When the exception was thrown, this was the stack:
           #2      HardwareKeyboard._assertEventIsRegular.<anonymous
closure>
           (package:flutter/src/services/hardware_keyboard.dart:441:16)
           #3      HardwareKeyboard._assertEventIsRegular
           (package:flutter/src/services/hardware_keyboard.dart:452:6)
           #4      HardwareKeyboard.handleKeyEvent
           (package:flutter/src/services/hardware_keyboard.dart:543:5)
           #5      KeyEventManager.handleRawKeyMessage
           (package:flutter/src/services/hardware_keyboard.dart:821:35)
           #6      BasicMessageChannel.setMessageHandler.<anonymous closure>
           (package:flutter/src/services/platform_channel.dart:77:49)
           #7      BasicMessageChannel.setMessageHandler.<anonymous closure>
           (package:flutter/src/services/platform_channel.dart:76:47)
           #8      _DefaultBinaryMessenger.setMessageHandler.<anonymous
closure>
           (package:flutter/src/services/binding.dart:386:35)
           #9      _DefaultBinaryMessenger.setMessageHandler.<anonymous
closure>
           (package:flutter/src/services/binding.dart:383:46)
           #10     _invoke2.<anonymous closure> (dart:ui/hooks.dart:205:15)
           #14     _invoke2 (dart:ui/hooks.dart:204:10)
           #15     _ChannelCallbackRecord.invoke
(dart:ui/channel_buffers.dart:42:5)
           #16     _Channel.push (dart:ui/channel_buffers.dart:132:31)
           #17     ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
           #18     PlatformDispatcher._dispatchPlatformMessage
           (dart:ui/platform_dispatcher.dart:544:22)
           #19     _dispatchPlatformMessage (dart:ui/hooks.dart:92:31)
           (elided 5 frames from class _AssertionError and dart:async)

════════════════════════════════════════════════════════════════════════════
           ════════════════════════
[  +10 ms]
           Another exception was thrown: A KeyUpEvent is dispatched, but the
state
           shows that the physical key is not pressed. If this occurs in
real
           application, please report this bug to Flutter. If this occurs in
unit
           tests, please ensure that simulated events follow Flutter's event
model as
           documented in `HardwareKeyboard`. This was the event:
           KeyUpEvent#327ae(physicalKey:
PhysicalKeyboardKey#70009(usbHidUsage:
           "0x00070009", debugName: "Key F"), logicalKey:
           LogicalKeyboardKey#00066(keyId: "0x00000066", keyLabel: "F",
debugName: "Key
           F"), character: null, timeStamp: 114:43:52.384859)
[   +2 ms]
           Another exception was thrown: A KeyUpEvent is dispatched, but the
state
           shows that the physical key is not pressed. If this occurs in
real
           application, please report this bug to Flutter. If this occurs in
unit
           tests, please ensure that simulated events follow Flutter's event
model as
           documented in `HardwareKeyboard`. This was the event:
           KeyUpEvent#327ae(physicalKey:
PhysicalKeyboardKey#70009(usbHidUsage:
           "0x00070009", debugName: "Key F"), logicalKey:
           LogicalKeyboardKey#00066(keyId: "0x00000066", keyLabel: "F",
debugName: "Key
           F"), character: null, timeStamp: 114:43:52.384859)
[   +4 ms]
           Another exception was thrown: A KeyUpEvent is dispatched, but the
state
           shows that the physical key is not pressed. If this occurs in
real
           application, please report this bug to Flutter. If this occurs in
unit
           tests, please ensure that simulated events follow Flutter's event
model as
           documented in `HardwareKeyboard`. This was the event:
           KeyUpEvent#327ae(physicalKey:
PhysicalKeyboardKey#70009(usbHidUsage:
           "0x00070009", debugName: "Key F"), logicalKey:
           LogicalKeyboardKey#00066(keyId: "0x00000066", keyLabel: "F",
debugName: "Key
           F"), character: null, timeStamp: 114:43:52.384859)
[   +3 ms]
           Another exception was thrown: A KeyUpEvent is dispatched, but the
state
           shows that the physical key is not pressed. If this occurs in
real
           application, please report this bug to Flutter. If this occurs in
unit
           tests, please ensure that simulated events follow Flutter's event
model as
           documented in `HardwareKeyboard`. This was the event:
           KeyUpEvent#327ae(physicalKey:
PhysicalKeyboardKey#70009(usbHidUsage:
           "0x00070009", debugName: "Key F"), logicalKey:
           LogicalKeyboardKey#00066(keyId: "0x00000066", keyLabel: "F",
debugName: "Key
           F"), character: null, timeStamp: 114:43:52.384859)
[   +3 ms]
           Another exception was thrown: A KeyUpEvent is dispatched, but the
state
           shows that the physical key is not pressed. If this occurs in
real
           application, please report this bug to Flutter. If this occurs in
unit
           tests, please ensure that simulated events follow Flutter's event
model as
           documented in `HardwareKeyboard`. This was the event:
           KeyUpEvent#327ae(physicalKey:
PhysicalKeyboardKey#70009(usbHidUsage:
           "0x00070009", debugName: "Key F"), logicalKey:
           LogicalKeyboardKey#00066(keyId: "0x00000066", keyLabel: "F",
debugName: "Key
           F"), character: null, timeStamp: 114:43:52.384859)
[   +3 ms]
           Another exception was thrown: A KeyUpEvent is dispatched, but the
state
           shows that the physical key is not pressed. If this occurs in
real
           application, please report this bug to Flutter. If this occurs in
unit
           tests, please ensure that simulated events follow Flutter's event
model as
           documented in `HardwareKeyboard`. This was the event:
           KeyUpEvent#327ae(physicalKey:
PhysicalKeyboardKey#70009(usbHidUsage:
           "0x00070009", debugName: "Key F"), logicalKey:
           LogicalKeyboardKey#00066(keyId: "0x00000066", keyLabel: "F",
debugName: "Key
           F"), character: null, timeStamp: 114:43:52.384859)
[   +8 ms]
           Another exception was thrown: A KeyUpEvent is dispatched, but the
state
           shows that the physical key is not pressed. If this occurs in
real
           application, please report this bug to Flutter. If this occurs in
unit
           tests, please ensure that simulated events follow Flutter's event
model as
           documented in `HardwareKeyboard`. This was the event:
           KeyUpEvent#327ae(physicalKey:
PhysicalKeyboardKey#70009(usbHidUsage:
           "0x00070009", debugName: "Key F"), logicalKey:
           LogicalKeyboardKey#00066(keyId: "0x00000066", keyLabel: "F",
debugName: "Key
           F"), character: null, timeStamp: 114:43:52.384859)
[ +453 ms] Service protocol connection closed.
[   +1 ms] Lost connection to device.
[   +2 ms] DevFS: Deleting filesystem on the device
(file:///C:/Users/Taha/AppData/Local/Temp/triage1b912c48/triage/)
[ +252 ms] Ignored error while cleaning up DevFS: TimeoutException after
0:00:00.250000: Future not completed
[  +11 ms] "flutter run" took 43,121ms.
[  +43 ms] ensureAnalyticsSent: 40ms
[   +1 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 0
PS C:\Users\Taha\StudioProjects\triage>

stable
master

❗
❗

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.5.1, on Microsoft Windows [Version
    10.0.22000.194], locale en-US)
    • Flutter version 2.5.1 at C:\Users\Taha\Code\flutter_stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ffb2ecea52 (5 days ago), 2021-09-17 15:26:33 -0400
    • Engine revision b3af521a05
    • Dart version 2.14.2

[✓] Android toolchain - develop for Android devices (Android SDK version
    31.0.0)
    • Android SDK at C:\Users\Taha\Code\android-sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\android-sdk
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019
    16.11.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual
      Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31702.278
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2020.3)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
[✓] VS Code (version 1.60.1)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.26.0

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows
      [Version 10.0.22000.194]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome
      93.0.4577.82
    • Edge (web)        • edge    • web-javascript • Microsoft Edge
      93.0.961.47

• No issues found!

[✓] Flutter (Channel master, 2.6.0-6.0.pre.171, on Microsoft Windows [Version 10.0.22000.194], locale en-US)
    • Flutter version 2.6.0-6.0.pre.171 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 321c872ca7 (5 hours ago), 2021-09-22 02:38:06 -0400
    • Engine revision b0f3c0f7e4
    • Dart version 2.15.0 (build 2.15.0-127.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\Taha\Code\android-sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\android-sdk
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31702.278
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2020.3)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.60.1)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.26.0

[✓] Connected device (4 available)
    • Windows (desktop)       • windows • windows-x64     • Microsoft Windows [Version 10.0.22000.194]
    • Windows (UWP) (desktop) • winuwp  • windows-uwp-x64 •
    • Chrome (web)            • chrome  • web-javascript  • Google Chrome 93.0.4577.82
    • Edge (web)              • edge    • web-javascript  • Microsoft Edge 93.0.961.47

• No issues found!

✅: No Issue ❗: Issue reproduced
There have been a couple of issues with text field during rebuilt
Same on macOS, instead of crash, the app stops taking input
https://github.com/flutter/flutter/issues/89748
On Linux, also same, no more input after hot restart, this can be triggered by switching keyboard too
https://github.com/flutter/flutter/issues/89729

Over my triage experience, I've seen windows apps tend to crash whenever something goes wrong so the crash is real but is expected on Windows, while Linux and macOS desktop tend throw errors but rarely ever crash

I'm able to reproduce an error but not exactly the described one. This is my code:
import 'package:flutter/material.dart';

class MyWidget extends StatefulWidget {
  /// Create state for this widget.
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

/// State for [MyHomePage].
class _MyHomePageState extends State<MyWidget> {

  @override
  void initState() {
    super.initState();
    Future.delayed(const Duration(seconds: 2), () {
      setState(() {
        title = 'Initted.';
        controller.text = '1';
      });
    });
  }

  final TextEditingController controller = TextEditingController();
  String title = 'Init...';

  /// Build a widget.
  @override
  Widget build(BuildContext context) {
    // final focusNode = FocusNode();
    return Scaffold(
      appBar: AppBar(title: Text('Keyboard Test')),
      body: Center(
        child: TextField(
          controller: controller,
          autofocus: true,
          decoration: InputDecoration(
            labelText: title,
          ),
        ),
      ),
    );
  }
}

Running with latest framework 321c872ca71b463944b823a9e7b829e0f8b51c9c and engine ec009a3d1b78b25c944e7408a876ae40c8d4990c,
flutter run --local-engine=host_debug_unopt -d windows

Step:

Press Backspace

The app crashes with the following log:
Unable to parse JSON message:
The document is empty.

══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
The following assertion was thrown during a platform message callback:
'package:flutter/src/widgets/text_editing_action_target.dart': Failed assertion: line 81 pos 12:
'index >= 0 && index <= string.length': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack:
#2      TextEditingActionTarget.nextCharacter (package:flutter/src/widgets/text_editing_action_target.dart:81:12)
#3      TextEditingActionTarget.moveSelectionRight (package:flutter/src/widgets/text_editing_action_target.dart:1211:20)
#4      _MoveSelectionRightTextAction.invoke (package:flutter/src/widgets/default_text_editing_actions.dart:246:30)
#5      ActionDispatcher.invokeAction (package:flutter/src/widgets/actions.dart:573:21)
#6      ShortcutManager.handleKeypress (package:flutter/src/widgets/shortcuts.dart:717:38)
#7      _ShortcutsState._handleOnKey (package:flutter/src/widgets/shortcuts.dart:918:20)
#8      FocusManager._handleKeyMessage (package:flutter/src/widgets/focus_manager.dart:1593:32)
#9      KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:830:35)
#10     BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:77:49)
#11     BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:76:47)
#12     _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:386:35)
#13     _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:383:46)
#14     _invoke2.<anonymous closure> (dart:ui/hooks.dart:205:15)
#18     _invoke2 (dart:ui/hooks.dart:204:10)
#19     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)
#20     _Channel.push (dart:ui/channel_buffers.dart:132:31)
#21     ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
#22     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:544:22)
#23     _dispatchPlatformMessage (dart:ui/hooks.dart:92:31)
(elided 5 frames from class _AssertionError and dart:async)
════════════════════════════════════════════════════════════════════════════════════════════════════
Lost connection to device.

It seems to me related more to text selection than keyboard. @justinmc Can you take a look, since you've just done the text editing model refactor a while ago?

With the code sample, I'm getting error on Windows  RangeError (end): Invalid value: Not in inclusive range 0..1: -1 and fatal crash

logs
[        ] Syncing files to device Windows... (completed in 81ms)
[   +1 ms] Synced 0.0MB.
[   +2 ms] <- accept
[   +2 ms] Connected to _flutterView/0x265aa1b62f0.
[   +3 ms] Flutter run key commands.
[   +2 ms] r Hot reload. 🔥🔥🔥
[   +1 ms] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[   +1 ms] q Quit (terminate the application on the device).
[        ] 💪 Running with sound null safety 💪
[   +1 ms] An Observatory debugger and profiler on Windows is available at: http://<IP_ADDRESS>:55438/E9-OJ9LayFk=/
[ +243 ms] DevTools activation throttled until 2021-09-22 22:52:45.681217.
[ +757 ms] The Flutter DevTools debugger and profiler on Windows is available at:
                    http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:55438/E9-OJ9LayFk=/
[+37339 ms] Unable to parse JSON message:
[   +1 ms] The document is empty.
[   +7 ms]
           ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
           The following RangeError was thrown during a platform message callback:
           RangeError (end): Invalid value: Not in inclusive range 0..1: -1

           When the exception was thrown, this was the stack:
           #0      RangeError.checkValidRange (dart:core/errors.dart:338:9)
           #1      _StringBase.substring (dart:core-patch/string_patch.dart:400:27)
           #2      TextRange.textBefore (dart:ui/text.dart:2785:17)
           #3      TextEditingActionTarget.delete (package:flutter/src/widgets/text_editing_action_target.dart:344:58)
           #4      _DeleteTextAction.invoke (package:flutter/src/widgets/default_text_editing_actions.dart:92:30)
           #5      ActionDispatcher.invokeAction (package:flutter/src/widgets/actions.dart:573:21)
           #6      ShortcutManager.handleKeypress (package:flutter/src/widgets/shortcuts.dart:717:38)
           #7      _ShortcutsState._handleOnKey (package:flutter/src/widgets/shortcuts.dart:918:20)
           #8      FocusManager._handleKeyMessage (package:flutter/src/widgets/focus_manager.dart:1593:32)
           #9      KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:830:35)
           #10     BasicMessageChannel.setMessageHandler.<anonymous closure>
(package:flutter/src/services/platform_channel.dart:77:49)
           #11     BasicMessageChannel.setMessageHandler.<anonymous closure>
(package:flutter/src/services/platform_channel.dart:76:47)
           #12     _DefaultBinaryMessenger.setMessageHandler.<anonymous closure>
(package:flutter/src/services/binding.dart:386:35)
           #13     _DefaultBinaryMessenger.setMessageHandler.<anonymous closure>
(package:flutter/src/services/binding.dart:383:46)
           #14     _invoke2.<anonymous closure> (dart:ui/hooks.dart:205:15)
           #18     _invoke2 (dart:ui/hooks.dart:204:10)
           #19     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)
           #20     _Channel.push (dart:ui/channel_buffers.dart:132:31)
           #21     ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
           #22     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:544:22)
           #23     _dispatchPlatformMessage (dart:ui/hooks.dart:92:31)
           (elided 3 frames from dart:async)
           ════════════════════════════════════════════════════════════════════════════════════════════════════
[ +436 ms] Service protocol connection closed.
[   +1 ms] Lost connection to device.
[   +2 ms] DevFS: Deleting filesystem on the device (file:///C:/Users/Taha/AppData/Local/Temp/testappb3aa9d87/testapp/)
[ +260 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
[  +16 ms] "flutter run" took 114,097ms.
[  +49 ms] ensureAnalyticsSent: 45ms
[   +2 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 0
PS C:\Users\Taha\StudioProjects\testapp>

https://github.com/flutter/flutter/issues/90472#issuecomment-924838153 HardwareKeyboard key issues reproduce when quickly  enter any  key hot restart or  app rebuilt  and app crashes with similar error as https://github.com/flutter/flutter/issues/90472#issue-1003063435

@TahaTesser Oops, I pasted the wrong log. I've updated it.

@TahaTesser Thanks for triaging, although if the problem you found out was "pressing keys after hot restarting/reloading" then I don't think it's the same as what xstar described, which said "TextField gets rebuilt".

@dkwingsmt
Ohhh... that makes sense, thanks

I think this is probably in my domain, I've assigned myself.  I've been seeing problems with -1,-1 invalid selections like this.
@dkwingsmt To reproduce the bug with your code, do you press backspace before or after the label changes to "Initted"?  I couldn't reproduce this on my Mac but I'll try again on my Windows machine later.

@justinmc After. Yes I did it on Windows.

I believe this bug will happen from any keyboard shortcut that affects the selection, not just delete.  I also believe this bug will happen on every platform except for Mac.
Fix and longer description of the cause in https://github.com/flutter/flutter/pull/90826.


e2e: add ability to drop out of test and into SSH shell

The ergonomics could be improved a bit (not all tests have ready access
to the list of hostnames), but that is more in-scope for other
framework-ish cleanups.
Posting this up while I wait for flakes to reproduce locally.
cc @diegs @yifan-gu

coreosbot run e2e


resolve resetLimitTokens removeLimitToken

Fixes #ISSUSE_ID.
Changes proposed in this pull request:

delete list from foreach is not good

fix  在foreach 按照下标删除会导致越界

Good idea to simplify the code, we decide to merge your pr. But the original code can not lead to a bug really, you can find out the reason by yourself.
Why not respond my comment before?

Pull Request Test Coverage Report for Build 6942

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.008%) to 71.029%

Totals

Change from base Build 6941:
-0.008%

Covered Lines:
10778

Relevant Lines:
15174

💛  - Coveralls

Good idea to simplify the code, we decide to merge your pr. But the original code can not lead to a bug really, you can find out the reason by yourself.
Why not respond my comment before?

it is not just simplify the code,  the original code do lead to a bug, the "toBeRemovedIndexes"  is the index to remove,  but after sqlTokens remove the first, the index in sqlTokens is changed, this may cause java.lang.IndexOutOfBoundsException,  when select sql has subQuery, the bug occurs, you try

Good idea to simplify the code, we decide to merge your pr. But the original code can not lead to a bug really, you can find out the reason by yourself.
Why not respond my comment before?

it is not just simplify the code,  the original code do lead to a bug, the "toBeRemovedIndexes"  is the index to remove,  but after sqlTokens remove the first, the index in sqlTokens is changed, this may cause java.lang.IndexOutOfBoundsException,  when select sql has subQuery, the bug occurs, you try

it is my fault not to respond your comment before, sorry


dep init/ensure not working behind proxy firewall

Hi,
OS - Windows 7-32 bit
I have enabled environmental variables -
set https_proxy="http://username:password@<proxy_host>:<proxy_port>"
set http_proxy="http://username:password@<proxy_host>:<proxy_port>"
What version of dep are you using (dep version)?  v0.5.0-14-g3c04147e

What dep command did you run?dep ensure
The following errors occurred while deducing packages:
(1/35) Wrote<EMAIL_ADDRESS>(2/35) Wrote<EMAIL_ADDRESS>(3/35) Wrote<EMAIL_ADDRESS>(4/35) Wrote github.com/miekg/pkcs11@master
(5/35) Wrote<EMAIL_ADDRESS>(6/35) Wrote<EMAIL_ADDRESS>(7/35) Wrote github.com/Azure/go-ansiterm@master
(8/35) Wrote<EMAIL_ADDRESS>(9/35) Wrote github.com/docker/go-connections@7beb39f0b969b075d1325fecb092faf27f
d357b6
(10/35) Failed to write golang.org/x/crypto@master
(11/35) Failed to write<EMAIL_ADDRESS>(12/35) Failed to write<EMAIL_ADDRESS>(13/35) Failed to write github.com/Nvveen/Gotty@master
(14/35) Failed to write<EMAIL_ADDRESS>(15/35) Failed to write<EMAIL_ADDRESS>(16/35) Failed to write github.com/hyperledger/fabric-amcl@ea8d504acd07754482414
591d1ae105ff448dea2
(17/35) Failed to write github.com/docker/docker@0e037717e06f4f260f4e76d90675ccd
1e9a6bed3
(18/35) Failed to write github.com/op/go-logging@master
(19/35) Failed to write<EMAIL_ADDRESS>(20/35) Failed to write<EMAIL_ADDRESS>(21/35) Failed to write github.com/opencontainers/runc@ad0f5255060d36872be04de22
f8731f38ef2d7b1
(22/35) Failed to write<EMAIL_ADDRESS>(23/35) Failed to write<EMAIL_ADDRESS>(24/35) Failed to write<EMAIL_ADDRESS>(25/35) Failed to write<EMAIL_ADDRESS>(26/35) Failed to write github.com/containerd/continuity@d3c23511c1bf5851696cba8
3143d9cbcd666869b
grouped write of manifest, lock and vendor: error while writing out vendor tree:
failed to write dep tree: failed to export golang.org/x/crypto: unable to deduc
e repository and source type for "golang.org/x/crypto": unable to read metadata:
unable to fetch raw metadata: failed HTTP request to URL "http://golang.org/x/c
rypto?go-get=1": Get http://golang.org/x/crypto?go-get=1: proxyconnect tcp: dial
tcp: lookup "http: no such host
What did you expect to see? The vendor folder with all dependencies should be installed
What did you see instead? -
The following errors occurred while deducing packages:

"golang.org/x/sync/errgroup": unable to deduce repository and source type for "golang.org/x/sync/errgroup": unable to read metadata: unable to fetch raw metadata: failed HTTP request to URL "http://golang.org/x/sync/errgroup?go-get=1":Get http://golang.org/x/sync/errgroup?go-get=1: proxyconnect tcp: dial tcp: lookup "http: no such host

validateParams: could not deduce external imports' project roots
Thanks
Mandrita

I've seen this happen in similar issues and some people have been able to resolve this by deleting the directory of the particular package it seems to be failing on. See: https://github.com/golang/dep/issues/1760#issuecomment-375336010
Are you able to try that?

@mandritac I'm running into this issue too. Can you please share what you had to do to get dep ensure to work with the proxy?

I could resolve the issue, the way I was setting http_proxy dep was not accepting it, but setting it in a different way helped in resolving the problem.Wonder why these are not properly documented?

You mention here that you had to set it in a different way - what was that way?

If your proxy requires user authentication and is NTLM based then the following should work, if there is no authentication then also it will work.
Just set http_proxy=<proxy_host>:<proxy_port> and https_proxy=<proxy_host>:<proxy_port> as environmental variables.
Thanks.


Feature/mongodb security

What problem are we solving?
added insecure_skip_verify option to mongodb filer store
How is the PR tested?
tested on my local instance

@baursn  I would recommend doing automatic loading of certificates for https without restarting the process

@baursn I would recommend doing automatic reloading of certificates for https without restarting the process. #
https://github.com/seaweedfs/seaweedfs/blob/3fae87632f023ee971a869f89075faf4fb94dbe4/weed/command/s3.go#L293-L322
Maybe the driver itself can replace the certificate during reconnections?

Is there any examples in other connectors, then i can take a look?


Does this work on Windows?

I am new to Pytorch, I'm getting some errors on Windows that there are functions used that are not available on my platform. Can somebody confirm this doesn't work on Windows?

you can use wsl2 on Windows

Thank you.

I am new to Pytorch too. I run it on Windows successfully。


Added pod AntiAffinity as a way of scheduling pods onto different nodes

Currently all pods are scheduled onto 'random' nodes, thereby making it possible to have all data pods on the same node for example. This make the cluster vulnerable to nodes going down for example.
This PR adds the concept of 'pods anti affinity' to make sure the scheduler tries to put these pods onto different nodes.
TODO: Maybe add the example to the yaml files so we have it as a default?

Thanks for submitting this! I took a quick look and my only fear is I believe without additional selectors, this might be too aggressive in the scenario where there is more than one cluster running in the same namespace? It's OK for multiple data nodes from different clusters to be on the same k8s node.
Perhaps adding in the label with the cluster name as part of the anti-affinity criteria?

I will review this next week when I'm back from vacations.

@djschny I would never put namespaces in labels! By the way, pod affinity should work per namespace. However, currently this does not work as expected in 1.6 and should be fixed in 1.7.
Maybe we should add that to the README as a side-note.

@djschny I would never put namespaces in labels!

Sorry I'm confused, where did I mention that?

Perhaps adding in the label with the cluster name as part of the anti-affinity criteria?
@djschny Sorry misread that one.

In your scenario you are right. Sorry!

Sorry, I could have been more clear on which "cluster" as well. I was referring to the Elasticsearch cluster name.

OK I'd write this in a different way but it serves its purpose. I will merge and later improve.


chore: update examples

Don't use app_service module, since it has been archived.
Update storage module to latest version.

Tests pass 🎉


Add data source to /mmm endpoints

For example,
https://earthmaps.io/mmm/temperature
What historical/projected dataset is used?  Link to GN

Closed in #290.
Documentation for all /mmm endpoints has been either folded into an existing 2nd-level endpoint category page (Temperature and Precipitation) with an existing "Source data" table, or moved into a new 2nd-level page with a new "Source data" table. All /mmm endpoints now have links to source data (and academic papers too).


Fix small image cropping

Depends on #9
For some reason cropperjs makes the canvas a min-width of 200px,
but a min-height of 100px. This breaks uploading small square logos.
This sets the min-width to match the min-height.

I'll keep punting on the maintenance issue in favor of getting a shipped milestone


Cleanup "slave.jar" references in Java 11 Debian image descriptions

I am not sure why Docker Ci fails, looks like something is broken in their caching. Will merge as is


refactor: remove magic strings in struct tags

Description
Fixes #2786
This should be merged after #2781
Checklist before merging

[ ] Test, docs, adr added or updated as needed
[ ] Contributor Guide Steps followed

Closing this as we decided we don't like the fact that it's possible for jsonschemextend to panic


[BUG] payment isn't initiated

Describe the bug
Do not know how to reproduce this, but time from time there is payment isn't initiated error, results is empty transaction list.
It seems lnbits have in DB some payments about which LND does not know, will be handy to have atleast some ID how to recognize those payments, investigate and in case of need just delete them from DB

LNbits version: 0.9 and in 0.10.7 still persist
Database postgres

does the error still happen? maybe its a corrupted database table, can you try with a fresh db?

Closing due to lack of details and response.

So it is fixed already ? I will try to pull and test it. I can not test on fresh db as I will lost transaction and wallet data


Builder Pattern

A WordFilter's construction is probably best done using a non-consuming builder pattern. See C-BUILDER in the Rust API Guidelines for more details about how that should work.
Specifically, the WordFilter hits at least 3 of the 4 points for recommending a builder pattern:

a large number of inputs
compound data (e.g. slices)
optional configuration data

Introducing a WordFilterBuilder would make construction sites more readable.
If the pattern is to be followed, the current WordFilter::new() method should be de-publicized or hidden, so it does not create confusion.

This is implemented and currently on the 0.3.0 branch (see #8).

Just realized I merged directly into master. No problem though, it doesn't hurt anything since it isn't published to crates.io.


Added a few books to the list and reformatted some links

Reformatted some book links and added in the following books:

The Pragmatic Programmer
The Mythical Man-Month
Cracking the Coding Interview
Introduction to Algorithms
Design Patterns: Elements of Reusable Object-Oriented Software
How to Win Friends & Influence People
Clean Code

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@ayra-jafri, everything LGTM! Thank you for helping us improve this section of the guide. Hope you don't mind, but I had to make some changes to resolve the merge conflict. Looking forward to your next contribution! :+1: :+1:


[BEAM-449] Support PCollectionList in PAssert

Added PAssert.thatFlattened() method that runs an assertion on the flattened contents of the PCollectionList.
Added PAssert.thatList() method that could run an assertion on each PCollection in the PCollectionList using one or multiple matchers.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

retest this please

R: @lukecwik

retest this please

LGTM

Hi, @kennknowles! Is there anything else I should update for this PR?

run flink validatesrunner

run samza validatesrunner

run spark validatesrunner

run twister2 validatesrunner

Run ULR Loopback ValidatesRunner

Thanks!


[Feature]: Test using new ADMB Docker images for building SS3

Issue description
Thanks to @johnoel, ADMB is now available as a Docker image. I think this means we could replace most of this code for installing ADMB https://github.com/nmfs-stock-synthesis/stock-synthesis/blob/main/.github/workflows/build-ss3.yml#L37-L80 with an updated version that uses the Docker images.
No need to explore this prior to the upcoming SS3 release.
Summary of issue history, discussion, and major aspects of code development
Related to previous changes in workflows that compile SS3 and previous changes among ADMB versions.
Items to do

[ ] Create a branch
[ ] Try changing the workflow files
[ ] See how long the github actions take
[ ] Confirm that model results are the same

Does documentation already exist in the SS3 User Manual?
Yes, the link to the section in the SS3 User Manual is provided below.
Documentation to add to the SS3 User Manual OR link to existing documentation
No change to documentation needed.
Are r4ss changes needed?
No, this issue doesn't require changes to r4ss
Are SSI changes needed?
No, this issue doesn't require changes to SSI

@iantaylor-NOAA could you provide a link to the ADMB docker image?

For the most part, that part of the code is just grabbing the admb executable. The part where the container might be helpful is with the mac portion since that workflow is actually compiling admb.

@e-gugliotti-NOAA, sorry, forgot to include the link to the new ADMB docker images in the original post: https://github.com/admb-project/admb/tree/main/scripts/docker.
@johnoel, after reading https://github.com/admb-project/admb/tree/main/scripts/docker, I'm a little confused on whether the end result would be an executable that we would run natively on MacOS or whether it could only be run within the Docker image (which is probably fine but would require a shift in the workflow).

@johnoel, correction, I meant after reading the Quick Start Unix instructions: https://github.com/admb-project/admb/blob/main/scripts/docker/quickstart-unix.md.

@johnoel Will you be making a docker image for MacOS as well?

There is no official Docker support for creating a MacOS image.  You can use a 3rd party app which if I understand it uses a remote server to build the native MacOS executable.  So, there won't be a ADMB Docker Image for the MacOS until it is has official support.  The only option is to run ADMB programs using Linux image which works very well.

The quickstarts have been updated.  Please give them a try....

@msupernaw


indicator for unwatched video should complete blue

@aleffert  @rahul-clarice  Please review.

Is our policy to not bother with 1x graphics? I'm not actually sure what devices we support, but I think the iPad 2 still has 1x and runs iOS 7.

Yes, we are targeting devices iPhone4 and above. So we are not considering 1x graphics.


Add PHP7 type hinting support

Add support for scalar and return type hinting (as available in PHP7) and add the strict type declaration option to CodeFileGenerator

Very nice addition and catch-up with php7. I love that. I'll go through the code for some comments.


Remove Toolchain.prefix

It was a hack, and now is unused.

@swift-ci Please test

@swift-ci Please test


Introduce flow.tensor.cast for lowering tensor.cast

Introduce a flow.tensor.cast that tensor.cast can be lowered to. Currently, flow.tensor.reshape is used in place of flow.tensor.cast to cast between different level of static type information. See ConvertTensorCastPattern in https://github.com/google/iree/pull/6407 as an example of such use.

Hey sorry I missed this. I'm the default assignee so that we can try not to miss issues from external folks (but obviously not perfect :grin:). I don't think I'm the best assignee for this one though. Can you talk to folks and get this prioritized appropriately?

@MaheshRavishankar Hey Mahesh, do you have any suggestions on who's the best assignee for this item?

Maybe Scott, Ben or me. How urgent is this?

I think it's not urgent as it's not blocking anything just to make things cleaner.


[RFC] Revisit Usage of MisconfigurationException

Proposed refactor
Replace Misconfiguration Exception with more diverse error types.
Motivation
Currently we are using the MisconfigurationException for everything even if they are not directly related to the user's configuration. This means that the type of exception has no additional information about the kind of error. Python has some builtin exception types for that like RuntimeError, ValueError, TypeError etc. To gain more insights from the actual exception type, I propose to not use MisconfigurationException any longer and replace it with the other error types.
Pitch
Have Lightning raising appropriate error types instead of just MisconfigurationException everywhere.
Additional context
If we want to have some Lightning-Unique Exceptions we could still do something like
class LightningValueError(ValueError):
    pass

for the necessary error types and then raise these. This has the advantage that people could still have custom error handling also depending on types and statements like except ValueError would still catch those but they could also decide to only catch Lightning Errors.

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Lite: enables pure PyTorch users to scale their existing code on any kind of device while retaining full control over their own loops and optimization logic.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, fine-tuning, and solving problems with deep learning.

Bolts: Pretrained SOTA Deep Learning models, callbacks, and more for research and production with PyTorch Lightning and PyTorch.

Lightning Transformers: Flexible interface for high-performance research using SOTA Transformers leveraging Pytorch Lightning, Transformers, and Hydra.

PS: Not sure under which part of the code to put it, since it probably touches all of them :D
cc @borda @justusschock @awaelchli @akihironitta @rohitgr7 @ananthsub @tchaton @carmocca
EDIT: current usage of the MisconfigurationException: https://grep.app/search?q=MisconfigurationException&filter[repo][0]=PyTorchLightning/pytorch-lightning

Fully agree!

question is: Will we consider this as a breaking change or do we expect that nobody except us uses that? grep.app only shows usage of that from other frameworks/other languages unrelated to lightning.

I believe we can deprecate it doing this:
from pytorch_lightning.utilities.exceptions import MisconfigurationException

class ValueError(ValueError, MisconfigurationException):
    ...

error = ValueError("this is a test")
print(isinstance(error, __builtins__.ValueError))  # True
print(isinstance(error, MisconfigurationException))  # True
raise error  # shows as ValueError

where importing MisconfigurationException is what shows the deprecation message.

But that way we would always at least once trigger the warning because we internally import the MisconfigurationException, no?

Yes, we would need to hack it so that doesn't happen.
Or not deprecate it.

Is this still an open issue? If so can it be assigned to me?

Yes!

Agreed, so in option 3 we would want a deprecation warning if an end-user imports the class but not if a developer does, correct? Also, did we lean towards lightning specific sub classes (i.e LightingValueError) as originally proposed or using generic errors?

Yes, let's go with the 3rd option. This is my suggested implementation:
class _DeprecatedException(type):
    def __instancecheck__(cls: Type, instance: object) -> bool:
        return any(cls.__subclasscheck__(c, stacklevel=7) for c in {type(instance), instance.__class__})

    def __subclasscheck__(cls, subclass: Type, stacklevel: int = 5) -> bool:
        mro = subclass.mro()
        actual, real, *rest = mro
        if cls is not subclass and cls is actual:
            raise TypeError(f"`{subclass.__name__}` should not be used for checks.")
        if cls is MisconfigurationException:
            rank_zero_deprecation(
                f"`{MisconfigurationException.__name__}` is deprecated. Please check with `{real.__name__}` instead.",
                stacklevel=stacklevel,
            )
        return cls in mro

class MisconfigurationException(Exception, metaclass=_DeprecatedException):
    """Exception used to inform users of misuse with PyTorch Lightning."""

    def __init__(self, *args: Any, **kwargs: Any) -> None:
        rank_zero_deprecation(f"Using `{type(self).__name__}` is deprecated.", stacklevel=5)
        super().__init__(*args, **kwargs)

# protected to avoid future deprecations
class _ValueError(ValueError, MisconfigurationException, metaclass=_DeprecatedException):
    ...

def test_exception_deprecations():
    from pytorch_lightning.utilities.exceptions import _ValueError, MisconfigurationException
    from tests_pytorch.deprecated_api import no_deprecated_call

    with no_deprecated_call():
        x = _ValueError("test")
        assert isinstance(x, _ValueError)  # this needs to work for proper instantiation
    with pytest.deprecated_call(match="Please check with `ValueError"):
        assert isinstance(x, MisconfigurationException)
    with no_deprecated_call():
        assert isinstance(x, ValueError)

    with pytest.deprecated_call(match="Using `MisconfigurationException` is deprecated"):
        y = MisconfigurationException("this is deprecated")
    with no_deprecated_call():
        assert isinstance(y, MisconfigurationException)
    with no_deprecated_call():
        assert not isinstance(y, ValueError)

    try:
        raise x
    except MisconfigurationException:
        pass

    try:
        raise x
    except ValueError:
        pass

Where we would use these custom protected variants until MisconfigurationException is removed.
The work left for you @calebbuffa would be to update all usages of MisconfigurationException to use these new alternatives

Great, thanks for the help! I'll get to replacing usages of MisconfigurationException with _ValueError.

Note that not all of them might be ValueErrors, TypeError, RuntimeError or a different exception type might fit better depending on the case. I just wrote _ValueError in my previous message for conciseness.
Choosing the most fitting exception class is what's most important: https://docs.python.org/3/library/exceptions.html#base-classes

Also, only when we instantiate the exception you should use the _*Error class.
For isinstance, issubclass, or except * checks you should use the Python builtin class

Also note that we might want to also add a custom implementation of __repr__ definition as we want to show them as plain python errors.
E.g. we want something like this:
class _ValueError(ValueError, MisconfigurationException):
    ...
    def __repr__(self):
        str_repr = super().__repr__()
        if str_repr.startswith('_'):
            str_repr = str_repr[1:]
        return str_repr

Right, that makes sense. If you don't mind, I might ask for feedback at some point before I've finished to make sure the implementation aligns correctly.

I think the best would be to open a draft PR so that we can directly review the code at hand :) Of course if you have any questions before that, feel free to ask here:)

Quick clarification question, as I work on this this has started feeling more complicated than it needs to be. Primarily, multiple inheritance past the 2nd generation of parents (which all new exceptions would be) introduces a lot of coupling and new code inheriting from deprecated code feels like a recipe for refactoring/future breakges. It seems far simpler to just create a decorator (@decorated_exception) that decorates MisconfigurationErrorwhile all new errors (i.e.LightningValueError) simply inherent from Exception`. I might have gone down an unneeded rabbit hole and missed the point, but would someone mind reminding me why new exceptions need to inherit from a deprecated exception?

There is no need to make something complicated here. 99% of all uses of MisconfigurationError can be replaced with one of these three types: TypeError, ValueError, RuntimeError. We already started doing this in new code!
Examples:
TypeError: When user gave us a list but a dictionary was expected
ValueError: We expected x > 0 but user passed in x = -2
RuntimeError: During execution, we found that some configuration was wrong and we need to abort.
Deprecating the MisconfigurationError is definitely not the first step. First we need to replace the usages. Only at the end, when only the definition of MisconfigurationError is left can we deprecate this error class.
@carmocca will correct me if I'm wrong.

Deprecating the MisconfigurationError is definitely not the first step. First we need to replace the usages. Only at the end, when only the definition of MisconfigurationError is left can we deprecate this error class.

@awaelchli The reasoning behind creating this DeprecatedException "magic"  was to not break users who had except MisconfigurationException in their code.

why new exceptions need to inherit from a deprecated exception?

The above is the reason

introduces a lot of coupling

What is this coupling?

new code inheriting from deprecated code feels like a recipe for refactoring/future breakages

Yes, they would all be removed after the deprecation process is over.

while new errors (i.e. LightningValueError) simply inherent from Exception

This would not be different to what MisconfigurationException does. The end goal to use the more informative and native exceptions (ValueError, TypeError, ...), but what's tricky is how to get there whilst minimizing breaking changes

What is this coupling?
Coupling is just introducing dependencies in the code such that changing one thing can/will break/change downstream tasks.

But thank you @carmocca for the clarification, I'll keep going with the current solution

Any chance I could get feedback on my draft PR?

Looks great so far @calebbuffa. Left minor comments

Since this didn't happen before 2.0, closing as we don't want to do this post 2.0


More Clang Tidy

Further work towards #14085.
The deleted test were autogenerated by test_stress

[microbenchmarks] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Green test, this is ready to go in (and is the foundation for a few more to follow)

Ping on this one, unless you want to skip it, and review its successors, #15681 and #15684

Yep, everything still works as it should. Clang naturally picks up that config file


[$500] Chat - User suggestion @ list not appearing on the second

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch app
Tap on any report
Enter @ and from suggestions select an user
Tap enter key
Enter @

Expected Result:
User suggestions @ list must appear on the second line
Actual Result:
User suggestions @ list not appearing on the second line and only a jump can be seen above composer
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.58-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/7288cf89-b694-4195-bc50-9623f70cfede
Expensify/Expensify Issue URL:
Issue reported by: Applause Internal team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01787235515a8ea167
Upwork Job ID:<PHONE_NUMBER>423707136
Last Price Increase: 2023-09-04

I will review soon

I confirmed this is a bug and don't believe it's a duplicate.
@cubuspl42 when you get a chance, can you review if the recent proposal will fix this issue? Thanks!

Proposal
Please re-state the problem that we are trying to solve in this issue.

Mention is not showing up when entering in composer.

What is the root cause of that problem?

The root cause is that the mention is being closed when updateShouldShowSuggestionMenuToFalse is called due to onScroll event which is triggered when the user presses enter for a new line.

What changes do you think we should make in order to solve the problem?

We should update the check of updateShouldShowSuggestionMenuToFalse to check if the composer has last characters as @.

https://github.com/Expensify/App/blob/f67bf9f88c08fe2cebe16202d1244299a9640ea3/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js#L317-L322
const updateShouldShowSuggestionMenuToFalse = useCallback(() => {
-    if (!suggestionsRef.current) {
+    if (!suggestionsRef.current || value.endsWith('@')) {
        return;
    }
    suggestionsRef.current.updateShouldShowSuggestionMenuToFalse(false);
-}, [suggestionsRef]);
+}, [suggestionsRef, value]);

What alternative solutions did you explore? (Optional)

N/A

@jeet-dhandha

[...] due to onScroll event which is triggered when the user presses enter for a new line.

To the best of my understanding, this is not what happens. The problem occurs later.
@bernhardoj

On Android, when we type the @ in a new line input height changes

This is the actual root cause, wouldn't you agree? Did you try attacking that in any way?

@bernhardoj I understand. What worries me is that the callback we're talking about was probably added for some reason, and removing it blindly sounds a bit worrying. Do you have any idea what was the original intention, and why is it outdated?

If i were to combine your suggested root cause with my solution would it be selected @cubuspl42 ?

@jeet-dhandha I'm not sure yet, but I'm not a big fan of either solution. Both proposals seem not to reason much about the original intention behind the removed/modified functionality.
I guess that the functionality exists to hide the suggestions when the view is scrolled by hand. In our case, the scroll event is "artificial", generated by the scroll view itself based on layout changes.
A clean solution would detect this "artificial" scroll event related to expanding text and treat it differently from the organic one (when the user scrolls the view with a gesture).
If this is not possible directly, we can fallback to a non-perfect but probably practical solution, when all scroll events without time window t after each change in the text is considered "artificial".

@cubuspl42 have you been able to review the most recent reply from @bernhardoj? Thanks for the updates!

@bernhardoj I'm just not convinced by removing the functionality because it doesn't suit us in the context of a given issue.
No matter if it was ever formally requested, the updateShouldShowSuggestionMenuToFalse functionality makes sense to me. When the user manually scrolls the composer, it's kind of like they "discard" the suggestion; maybe they're looking for something in the scrollback of their own composed message. The suggestion list is not strictly relevant to them anymore, so it makes sense it disappears.
So neither removing it completely (@bernhardoj) nor special casing it based on a last character in the buffer (@jeet-dhandha) doesn't seem like a clean approach to me.
I still believe that a clean solution would be treating manual scrolls and scrolls being an effect of inputted characters separately. And yes, even if the solution would be based on classifying scroll events based on whether they occur in a given small time window since last text change.

@cubuspl42 I checked the code and we aren’t manually scrolling the component as it’s triggered from the native code only so if we are hoping to fix it then we should fix it in native code only.

@jeet-dhandha I might have used unclear wording. I changed "manual" to "user-triggered", is it more clear now? I'm just repeating what I said before in other words. My stand is consistent.

@cubuspl42
Proposal updated https://github.com/Expensify/App/issues/26197#issuecomment-1705946875

@jeet-dhandha I get the idea, but I don't feel that the platform (desktop / mobile / ...) makes a big difference here, unless I'm missing something.
@bernhardoj

I will try if I can come up with a solution based on your suggestion

Any success? Did you encourage some obstacles that possibly undermine the approach?

@bernhardoj Yes, that's what I assumed. How wide time window was needed, in milliseconds, to catch the layout-triggered scrolls? If a very fast (unnatural) user interaction is needed to trick this mechanism, I'd say this is completely acceptable. If an organic one can do that, it's not so good. You can share a Git branch if you have one available, I'll take a look.

@bernhardoj I tested the branch and the result looks satisfying to me. It both fixes the bug and doesn't throw out a reasonable functionality just because it doesn't suit us. It should also be noted that even if we get a false positive from time to time, the consequences are also far from tragic.
The code itself needs polishing, but that can be handled later.

Initially, the proposals suggested either removing or adding extra conditions (which I considered not clean) to the mechanism which hides the suggestion pop-up when the user starts manually scrolling the composer.
In my judgment, this was unjustified, so I suggested detecting whether scroll events are user-triggered or layout-triggered based on a simple time-based heuristic instead.
@bernhardoj tested that approach and adjusted their proposal.
I suggest we go with @bernhardoj
C+ reviewed 🎀 👀 🎀

@Gonals bumping here, we need a review. Thanks!

PR is moving forward!

@cubuspl42 - to prepare for the payment date, can you please complete the checklist? Thanks!

The PR that introduced the bug has been identified. Link to the PR:

It seems that the bug was present in the relevant components since they were created

The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

N/A

A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

No need for additional discussion

Determine if we should create a regression test for this bug.

Up to the QA team

If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Open any report.
Type a message on the first line in the composer, then press Enter to proceed to the second line.
Enter "@" at the beginning of the second line.
Make sure a suggestion menu appears.
Incorporate multiple new lines into the composer to enable scrolling.
Add sufficient text such that the cursor reaches the end of the line, ending it with a space.
Input "@" again; this time it should appear on the subsequent line.
Verify the appearance of the suggestion list once more.
Manually scroll through the composer.
Confirm that the suggestion menu vanishes after the scroll action.

Here is the payment summary:

External issue reporter N/A
Contributor that fixed the issue @bernhardoj $500
Contributor+ that helped on the issue and/or PR @cubuspl42 $500

Upwork Job: https://www.upwork.com/jobs/~01787235515a8ea167
*If applicable, the bonuses will be applied on the final payment
Extra Notes regarding payment: I disagree with this automation notice https://github.com/Expensify/App/issues/26197#issuecomment-1734963840. There is no bonus but there will be no penalty. There was a delay in the merge process that was outside of the contributors' control.

Everyone has been paid here. @Gonals keep me posted if you agree with the regression test and I'll create the GH. Thanks!

I'm not very confident about the regression test; @mallenexpensify told me in another thread that the regression steps should be provided for all issues, and most of the time, the "QA steps" from the PR template are fine. Let me know if you agree with this.

Yes @cubuspl42 , that is the standard process.  Applause/QA reviews all the regression test GHs and actions on them the way they think is best (which is why it's best to err on the side of creating the TestRail GHs, cuz they can easily be closed if a regression test isn't needed). I created this one so we close

https://github.com/Expensify/Expensify/issues/325052


Add a role for parkings rigs

See OZ Defender (might not need to do this but tbd, helpful reference): https://docs.openzeppelin.com/defender/admin


[chakracore] WIP [skip actions]

Follow upstream repo switch.
Use CMake directly for !windows.
Review linkage for msbuild.

@dg0yt, Thanks for your PR, Is work still being done for this PR?

I think it makes sense to continue with it.


Login "Delete" button

On the login page, the "Login" button says "Delete".  Please change to "Log In" or something similar.

Relabeled.


Python NameError while importing http.server class

Environment data

VS Code version: 1.28.11 (user setup)
Extension version (available under the Extensions sidebar): 19.296.032
OS and version: MS Windows 10 1809, Build 17763.1
Python version (& distribution if applicable, e.g. Anaconda): 3.7.0
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): XXX
Relevant/affected Python packages and their versions: jupyter, ver. 4.4.0

Actual behavior
python name error while importing http.server
Expected  behavior
no error (proven in intigrated terminal in python console)
Steps to reproduce:

open new file ans save as python script
write 'from http.server import HTTPServer, BaseHTTPRequestHandler"
Save and execute

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
Starting Jedi Python language engine.
##########Linting Output - pylint##########
************* Module http
1,0,error,E0001:trailing comma not allowed without surrounding parentheses (<unknown>, line 1)

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help)
log.ts:159  INFO no standard startup: not a new window
log.ts:165  WARN Aborted onWillSaveTextDocument-event after 1750ms
console.ts:136 [Extension Host] Git installation not found.
t.log @ console.ts:136

An import failure would be a Python issue and not something caused by the extension.
I would check you aren't accidentally shadowing the http.server module accidentally with an http.py module yourself.


Shorten shifts to 45 minutes before low tide, not 1.5 hours before

Experience shows that going out 1.5 hours before a low tide is bad use of time - most people don't show up until much closer.

Here's a diff showing the impact this had on the shifts JSON: https://gist.github.com/simonw/4496bc6f3bf4fdf5ace4de1d1b79d93b/revisions
Note that a bunch of shifts in November onwards have been cancelled entirely - but that's OK because the website will not have let anyone sign up for those yet.

Updating the website is still going to be tricky: need to change the times on existing shifts AND  remove those shifts that no longer exist.
We will email everyone the new times so people know that their shifts may have changed.

Tested this manually on my local environment by diffing the output of /backup.json before and after importing the new data.

Now using https://www.pillarpointstewards.com/admin/import-shifts/ to import the new data.

Import worked - last step is to delete the shifts that no longer exist.

We did actually have some 3 signups for those, Natalie will contact separately.

Shifts have been deleted. The site now reflects the new shift calculations.


Unable to restore the model with shared ops using from_config()

System information

OS Platform and Distribution:  Linux Ubuntu 18.04
TensorFlow installed from pip
TensorFlow version: 2.6.0
Python version: 3.7.11
CUDA Version: 11.2
Driver Version: 460.80

Describe the current behavior
Can not load model with shared ops from config. During loading, the outputs of the shared operation are placed in the wrong positions.
Describe the expected behavior
The original model and the restored model are the same
Standalone code to reproduce the issue
import numpy as np
import tensorflow as tf

print(tf.__version__)

def get_test_model():
    input_1 = tf.keras.Input(shape=(5, 5, 2))
    input_2 = tf.keras.Input(shape=(5, 5, 2))
    image_shape = tf.keras.Input(shape=(1, 2), name='image_shape')

    clips = []
    relu = tf.keras.layers.ReLU()
    for inp in [input_1, input_2]:
        dy = inp[..., 0:1]
        dx = inp[..., 1:2]

        y = relu(relu(dy) + dx)
        x = relu(relu(dx) + dy)
        cat = tf.concat([y, x], -1)

        height, width = tf.unstack(image_shape, axis=-1)
        max_length = tf.stack(
            [relu(height), relu(width)], axis=-1)

        clip = tf.math.minimum(cat, max_length)
        clips.append(clip)

    out = tf.concat(clips, axis=1)
    return tf.keras.Model(inputs=[input_1, input_2, image_shape], outputs=out)

input_1 = np.random.rand(1, 5, 5, 2)
input_2 = np.random.rand(1, 5, 5, 2)
image_shape = np.random.rand(1, 1, 2)
inputs = [input_1, input_2, image_shape]

model = get_test_model()

ref = model.predict(inputs)
print(ref.shape)  # succsess (1, 10, 5, 2)

restored_model = tf.keras.Model.from_config(model.get_config())  # failed
out = restored_model.predict(inputs)
print(out.shape)

original frozen graph

Error with restore model from config:
Traceback (most recent call last):
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1880, in _create_c_op
    c_op = pywrap_tf_session.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Shape must be rank 4 but is rank 2 for '{{node tf.concat/concat}} = ConcatV2[N=2, T=DT_FLOAT, Tidx=DT_INT32](Placeholder, Placeholder_1, tf.concat/concat/axis)' with input shapes: [?,5,5,1], [?,1], [].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "tf_bug.py", line 42, in <module>
    restored_model = tf.keras.Model.from_config(model.get_config())  # failed
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/engine/training.py", line 2397, in from_config
    functional.reconstruct_from_config(config, custom_objects))
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/engine/functional.py", line 1283, in reconstruct_from_config
    process_node(layer, node_data)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/engine/functional.py", line 1231, in process_node
    output_tensors = layer(input_tensors, **kwargs)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/engine/base_layer.py", line 977, in __call__
    input_list)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/engine/base_layer.py", line 1115, in _functional_construction_call
    inputs, input_masks, args, kwargs)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/engine/base_layer.py", line 848, in _keras_tensor_symbolic_call
    return self._infer_output_signature(inputs, args, kwargs, input_masks)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/engine/base_layer.py", line 888, in _infer_output_signature
    outputs = call_fn(inputs, *args, **kwargs)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/layers/core.py", line 1350, in _call_wrapper
    return self._call_wrapper(*args, **kwargs)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/keras/layers/core.py", line 1382, in _call_wrapper
    result = self.function(*args, **kwargs)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/util/dispatch.py", line 206, in wrapper
    return target(*args, **kwargs)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/ops/array_ops.py", line 1769, in concat
    return gen_array_ops.concat_v2(values=values, axis=axis, name=name)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 1228, in concat_v2
    "ConcatV2", values=values, axis=axis, name=name)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py", line 750, in _apply_op_helper
    attrs=attr_protos, op_def=op_def)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 601, in _create_op_internal
    compute_device)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 3569, in _create_op_internal
    op_def=op_def)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 2042, in __init__
    control_input_ops, op_def)
  File "/home/miniconda3/envs/tf2.6.0/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 1883, in _create_c_op
    raise ValueError(str(e))
ValueError: Shape must be rank 4 but is rank 2 for '{{node tf.concat/concat}} = ConcatV2[N=2, T=DT_FLOAT, Tidx=DT_INT32](Placeholder, Placeholder_1, tf.concat/concat/axis)' with input shapes: [?,5,5,1], [?,1], [].

@l-bat,
I see that the error occurs in 2.6.0 whereas with tf-nightly it works fine. Please take a look at the gist here. Thanks!

@sanatmpa1
Great!
Can we close the issue when TF 2.7.0 is released?

@l-bat,
As its working in nightly, can you close this issue and open it again if its still an issue on later release. Thanks!


Apple M1 compatibility - watch

Trying to run this with the watch command fails with entr: cannot create kqueue: Function not implemented
Building locally on M1 works correctly, so this just needs the multi-auth code from the  ideasonpurpose/docker-build GitHub Actions

Or not? It builds but doesn't seem to trigger a run on file changes

Hi Joe! It looks like I forgot to turn off notifications on this repo... and then the mention of kqueue caught my eye. That's a particular data structure in the kernel which has, uh, caused problems for me before today.
I assume entr is a reference to https://github.com/eradman/entr, which coincidentally uses kqueue to run a command when a file changes.
So the real question is, why doesn't entr work on Apple Silicon?
Not sure if that helps at all, but thought I'd share!

Hi Jonathan! Thanks for the info about the ENTR env var. We had something similar happen on Windows back before WSL2, but I thought Docker was mostly resolved on Apple CPUs by now.


minor edits + additions to documentation

added reference to the plot output, Cluff and Mech paper, tips for use with other apps

merged the edits provided by Sarah


error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:365

I am configuring ssl for my kafka cluster. when I checked my configuration by this:
openssl s_client -connect kafka-9092:9093 -tls1_2 -servername kafka-9092
I got the error like this:
140365818021776:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:365:
no peer certificate available
No client certificate CA names sent
SSL handshake has read 5 bytes and written 7 bytes
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time:<PHONE_NUMBER>
Timeout : 7200 (sec)
Could somebody tell me how to fix? merci

140365818021776:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:365:
SSL handshake has read 5 bytes and written 7 bytes

openssl s_client had read 5 bytes record header that can't paresed it.
I guess Kafka is not configured with the correct TLS.

140365818021776:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:365:
SSL handshake has read 5 bytes and written 7 bytes

openssl s_client had read 5 bytes record header that can't paresed it. I guess Kafka is not configured with the correct TLS.

follow your suggestion I add the config in server.properties of kafka and it works. Thanks bro.
ssl.enabled.protocols=TLSv1.2

FetchError: request to https://localhost:3000/api/getTweets failed, reason: write EPROTO<PHONE_NUMBER>96992:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:


Edit AUTHORS.md

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Create Jenkinsfile

What
This PR introduces PR-based E2E testing of operators.
How
This repository is communicating with internal Jenkins instance via smee.io channel.
When the job starts, a new slave is being spawn on internal OpenShift cluster as a pod and it has access to that OpenShift instance (so it can do CRUDL ops. on projects).
It creates an image for the Operator-test and builds it (with openshift builder) and runs the test as a pod in the project.
Test steps

Checkout the git branch from PR
dep ensure
Create new OpenShift project where the operator & operator-test pods will run
Build operator & operator-test binaries
Create a Dockerfile for the operator test pod
Build the operator-test docker image in OpenShift
Run the test on the slave with operator-sdk cli tool
Delete OpenShift project

Feedback, suggestions appreciated

Hey @b1zzu, thanks for your review! In the meantime I was working on testing pipeline for gitea-operator which is using declarative pipeline. I will rewrite this pipeline to use it as well.

Closing this PR. See more details in https://issues.jboss.org/browse/AGMS-322


Trouble building with gcc 14.2.0

I'm trying to build the latest commit in the repo on SLES15 using GCC 14.2.0 and am getting the following compile error.   My cmake commands are identical to the README except I added -DCMAKE_CXX_COMPILER=/path/to/gcc/14.2.0/bin/g++
Have you run into this kind of problem before?
In file included from slang-lsp-tools/lsp-server/diplomat/include/diplomat_lsp.hpp:8,
                 from slang-lsp-tools/lsp-server/diplomat/src/diplomat_lsp.cpp:1:
slang-lsp-tools/lsp-server/diplomat/include/diplomat_index.hpp:9:13: error: redefinition of ‘struct std::hash<slang::SourceRange>’
    9 | struct std::hash<slang::SourceRange>
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from slang-lsp-tools/build/_deps/slang-src/source/../include/slang/diagnostics/Diagnostics.h:18,
                 from slang-lsp-tools/build/_deps/slang-src/source/../include/slang/syntax/SyntaxTree.h:13,
                 from slang-lsp-tools/lsp-server/diplomat/include/sv_document.hpp:7,
                 from slang-lsp-tools/lsp-server/diplomat/include/diplomat_lsp.hpp:5:
slang-lsp-tools/build/_deps/slang-src/source/../include/slang/text/SourceLocation.h:241:8: note: previous definition of ‘struct std::hash<slang::SourceRange>’
  241 | struct hash<slang::SourceRange> {
      |        ^~~~~~~~~~~~~~~~~~~~~~~~

Hi @jcurtiss8086
This one is probably on me as I updated the version of slang, forgetting that it included a fix I worded around previously.
As a workaround, until I fix it, you may set v6.0 as a git tag for slang in third-parties.cmake, remove the build directory and reconfigure. It should be working.

Reopening to keep track and ensure that I don't forget to check that it is fixed


MLKit Custom model plugin

@bparrishMines Thank you for the official MLKit Vision plugin located here,
https://github.com/flutter/plugins/tree/master/packages/firebase_ml_vision
This is a request for Custom MLIntepreter plugin, supported by MLKit
https://firebase.google.com/docs/reference/android/com/google/firebase/ml/custom/package-summary

@Hixie

The current firebase_ml_vision plugin does not support custom model. Could you please add custom model feature to the plugin or standalone plugin?

Would love to use custom local tflite models generated by AutoMl

Are custom models still not supported by flutter? A project I'm currently working on uses a .tflite model and I'm currently using flutter. Not terribly experienced with flutter atm, but if it was supported in flutter vs having to do this in kotlin and get it to work with flutter (haven't even tried yet), that would be ideal.

waiting for the custom model plugin , any news guys ?

Unfortunately, we are still working on getting full integration testing working with the rest of our plugins. We most likely won't add any additional plugins until we do.

It's 9012 we are still wishing for our custom model support lol

It's 9102 we are still wishing for our custom model support lol

I have built a custom ML model, when it comes to prediction it is crashing the application. What is the error? When i use the mobilenet downloaded from internet works fine. How do i fix this?

Until it's implemented officially, here is a package that supports custom
models
https://github.com/azihsoyn/flutter_mlkit
On Wed 28 Aug, 2019, 12:22 PM jithin kumar<EMAIL_ADDRESS>wrote:

I have built a custom ML model, when it comes to prediction it is crashing
the application. What is the error? When i use the mobilenet downloaded
from internet works fine. How do i fix this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/18660?email_source=notifications&email_token=ACUEFOKEMDHWQXB5JMG76BLQGYOCXA5CNFSM4FGFOFY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5KCMKI#issuecomment-525608489,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACUEFOO6WW2ZHYFZNZC2C23QGYOCXANCNFSM4FGFOFYQ
.

But, i see no support of tflite model involved in it. I am working with tflite models.

https://github.com/azihsoyn/flutter_mlkit/blob/master/README.md#custom-model-interpreter
modelName: "mobilenet_v1_224_quant" is a tflite file hosted on firebase via
mlkit (you can use a local version too but this was one need not push a app
update for model change.
On Tue 3 Sep, 2019, 9:19 AM jithin kumar<EMAIL_ADDRESS>wrote:

But, i see no support of tflite model involved in it. I am working with
tflite models.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/18660?email_source=notifications&email_token=ACUEFOM5JFSN3YORD5YZDODQHXNFPA5CNFSM4FGFOFY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5W5UKY#issuecomment-527292971,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACUEFOLOWRCLIQE5J7PCHX3QHXNFPANCNFSM4FGFOFYQ
.

@startupgurukul
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/788. Any further collaboration will be done there.

HI @zoechi  @Hixie  @cortexuvula  @kroikie  @csells
I had an tflite model which is locally placed and doing operation now i want to call it from the server like firebase ml kit i had also summarised the documentation related to this from https://firebase.google.com/docs/ml-kit/android/use-custom-models#java but here it is written in java android not for the dart and for flutter I am using flutter so please help me to  resolve this help me in changing the code in dart file
Thanks and Regards,
Manikantha Sekhar.

@mady143 The issue for this feature has moved to FirebaseExtended/flutterfire#788. Feel free to leave a thumbs up on that issue if you would like to see the feature prioritized.


Hero Widget transitionOnUserGestures animates wrong.

Steps to Reproduce

Run this main.dart file
https://gist.github.com/skabber/8dbf7cdee1431b13d8b87d8ff9075fa3

When a Hero widget with transitionOnUserGestures set to true navigates back using the gesture, the animation shrinks too small and closes out entirely before it's final state.
I would expect the animation to only go as small as the final resting place.

Logs

$ flutter analyze
Analyzing flutter_hero_bug...
No issues found! (ran in 2.3s

$ flutter analyze
Analyzing flutter_hero_bug...
No issues found! (ran in 2.3s)
Skabber:flutter_hero_bug me$ flutter doctor -v
[✓] Flutter (Channel beta, v1.5.4-hotfix.2, on Mac OS X 10.14.4 18E226, locale en-US)
    • Flutter version 1.5.4-hotfix.2 at /Users/me/Projects/flutter
    • Framework revision 7a4c33425d (9 days ago), 2019-04-29 11:05:24 -0700
    • Engine revision 52c7a1e849
    • Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/me/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/me/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • ios-deploy 1.9.4
    • CocoaPods version 1.6.1

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 35.0.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.33.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.0.0

[✓] Connected device (1 available)
    • iPhone Xʀ • EB6A28D4-E1A4-466E-B6FE-2CAC5A9C9222 • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2
      (simulator)

• No issues found!

/cc @HansMuller @goderbauer @xster who might have some insight here.

@skabber could you try switching to master and see if that fixes it for you?

@LongCatIsLooong Switching to master has the same issue.

@LongCatIsLooong Switching to master has the same issue.

Yeah sorry I didn't realize it only happens when you navigate back using gesture.

OK this happens on assets images too. TickerMode is stopping Image from reading the image data from file.
@skabber thank you for reporting this! If this is a real world issue you're facing, try specifying both the height and the width for the Container.

Thanks @LongCatIsLooong
Adding the height in does correctly work around the issue.

with #32842 merged this should be fixed on master now.


Pylance parameter type hints not determined from default with TipeVar inside List

 Environment data

Language Server version: 2023.2.31
OS and version: win32 x64
Python version (and distribution if applicable, e.g. Anaconda):
python.analysis.indexing: false
python.analysis.typeCheckingMode: basic

 Code Snippet

from typing import List, TypeVar

T = TypeVar("T")

def test_1(arg: T) -> T:
    return arg

a = test_1(1)  # a: int

def test_2(arg: T) -> List[T]:
    return [arg]

b = test_2(2)  # b: List[int]

def test_3(arg=test_1(1)):
    # arg: int
    return arg

def test_4(arg=test_2(1)):
    # arg: Unknown
    return arg

 Expected behavior
Type of arg param in test_4 is List[int]
 Actual behavior
Type of arg param in test_4 is Unknown

Actually, I use this as a wrapper for fastapi Depends to separate strings with commas, so I can't just type the argument as List[int].
And in this case, there can't be a problem with the mutable default value.
T_inner_value = TypeVar("T_inner_value")

def CSVList(
    inner_value: Type[T_inner_value],
    param_alias: Optional[str] = None,
    **query_kwargs,
) -> List[T_inner_value]:
    """Parse a comma-separated list."""

    def get_parsed_object(value = Query(alias=param_alias, **query_kwargs)):
        if isinstance(value, str):
            value = [item for item in value.split(",") if item]
        return pydantic.parse_obj_as(List[inner_value], value)

    return Depends(get_parsed_object)

This is what I simplified to the test_2 function.
What I find strange is that with TypeVar it works with any type, so I would expect there to be a value from return type
from typing import TypeVar, List
from datetime import datetime

T = TypeVar("T")

def wrapper(arg: T) -> T:
    return arg

def test(arg=wrapper(List[datetime])):
    # arg: Type[List[datetime]]
    return arg

I found even more obscure behavior:
from datetime import datetime
from typing import List, TypeVar, reveal_type

T = TypeVar("T")

def list_wrapper(arg: T) -> List[T]:
    return [arg]

def test_list(arg=list_wrapper(datetime)):
    reveal_type(arg)  # Unknown
    return arg

reveal_type(test_list())  # list[datetime]

It does not know what type arg is inside the function, but knows when arg returns from that function

This behavior is intended. The call return type is know because of call-site return type inference.
Pyright has a special check called reportCallInDefaultInitializer that you can enable that will flag any use of a call within a default argument initializer. As I mentioned above, this is a very dangerous anti-pattern. I strongly recommend not doing this.


Add coordinates and size parameters to Image

Let's add coordinates and size parameters to Image.

Closed by cf36952.


Support jest.config.(cjs|mjs|ts) as a Jest configuration file for packages written in ESM

Current Behavior
If a package is written in ESM, the only way to configure Jest is via the "jest" field in the package.json file.
Desired Behavior
It would be nice to also be able to use the standard jest.config.(cjs|mjs|ts) files.
Suggested Solution
Read from the jest.config.cjs file (and any other config files that Jest resolves, such as jest.config.mjs and jest.config.ts)
Who does this impact? Who is this for?
TSDX users who would like to write their Jest config in the standard ways.
Describe alternatives you've considered
Don't do anything
Additional context
https://github.com/formium/tsdx/issues/187

Known issue, trust me when I say if it were easy, I would have supported it a long time ago. Can see https://github.com/jaredpalmer/tsdx/pull/526#pullrequestreview-371516104 where I lament about Jest's lack of programmatic API. https://github.com/facebook/jest/issues/5048 is still open and due to this TSDX had to implement custom parsing code for Jest configs.
Could support CJS with a few LoC as it's just another filename, but would have to detect it. MJS could potentially be possible in a similar manner once Node 10 is dropped (might be some compat issues there though).
TS is highly non-trivial without a Jest API exposed. Jest's own code basically checks if it's a TS file, then checks if you have ts-node installed, then uses ts-node to load the file. That also adds another big dep on top of that complexity and changing up the loader chain and TS versioning etc.

#187

That issue is unrelated to reading jest.config files


Scoring system (optional gamification following the tutorial)

The concept which should be enabled by default yet optional is the following :
Every artwork have a score of labor, for example, each modification gives you "+5 points" and a rendering gives you "+25 points", once saved in the database, each artwork can be seen as a work with a scored amount of labor... Just for fun and informative purpose. Score appears in recent saved work within each artworks... To then, medals can also be used for example, when you perform 5 modifications without "undo action" you get a medal for the artwork being worked which could be called "drawing spree" or even after more editing without "undo action", a medals called "drawing frenzy" can be collected! Just like Halo video game gamification system has done in their games this could be used in drawing while "Jamy" the little Assistant being an emoji would report and announce them when they get received  just like when he does a joke when you perform an undo sometimes (he says ho, that was a nice undo).
Now the issue is that it is a bit harsh to take gamification to a drawing interface, it could be not exactly annoying but disturbing, so it should be thought wisely and be somehow discrete yet encouraging and should motivates you to draw better artwork just by giving you medals on each positive and neat usage, so you know when you do well and It could be took along a tutorial.


Add retry to generated bash scripts

Fix bash script generation for multi-line commands.
Add retry function into bash scripts.
Run all setup and test commands through retry function.
Issue:

https://github.com/networkservicemesh/gotestmd/issues/39

It seems like this PR broke test name matching:

https://github.com/networkservicemesh/gotestmd/pull/42


disabled 3 tutorials tests

Nighltly tests are failing due to some tutorial tests. We fixed some.
3 tests were disabled form this file : tests/tutorials/test_tutorials.py
test_gluon_performance
test_python_profiler
test_mkldnn_quantization
We need to uncomment the test after fixes are done in tutorials.
https://github.com/apache/incubator-mxnet/pull/16179/files

@mxnet-label-bot [Test]

profiler fix should be in this pr: https://github.com/apache/incubator-mxnet/pull/16160
But yeah we can disable until after the fixes for mkldnn_quantization and gluon_performance are done. I think we may have to whitelist mkldnn_quantization from the test suite actually in the long run.

@sad- Thanks. I tried that but doesn't look like profiler tests were passing-
Looks like there is more to fix here - New error that came here was -
MXNetError: [19:29:32] /work/mxnet/3rdparty/dmlc-core/include/dmlc/thread_group.h:227: Check failed: auto_remove_ == false (1 vs. 0) :

Stack trace:

  [bt] (0) /work/mxnet/python/mxnet/../../lib/libmxnet.so(dmlc::LogMessageFatal::~LogMessageFatal()+0x32) [0x7effabb7aed2]

  [bt] (1) /work/mxnet/python/mxnet/../../lib/libmxnet.so(dmlc::ThreadGroup::Thread::joinable() const+0xf4) [0x7effae507734]

  [bt] (2) /work/mxnet/python/mxnet/../../lib/libmxnet.so(mxnet::profiler::Profiler::SetContinuousProfileDump(bool, float)+0x108) [0x7effae504d28]

  [bt] (3) /work/mxnet/python/mxnet/../../lib/libmxnet.so(mxnet::profiler::Profiler::SetConfig(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, float, bool)+0x95) [0x7effae505b95]

  [bt] (4) /work/mxnet/python/mxnet/../../lib/libmxnet.so(MXSetProcessProfilerConfig+0x3d6) [0x7effaecb80a6]

  [bt] (5) /usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so(ffi_call_unix64+0x4c) [0x7efffb8bae20]

  [bt] (6) /usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so(ffi_call+0x2eb) [0x7efffb8ba88b]

  [bt] (7) /usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so(_ctypes_callproc+0x49a) [0x7efffb8b501a]

  [bt] (8) /usr/lib/python3.5/lib-dynload/_ctypes.cpython-35m-x86_64-linux-gnu.so(+0x9fcb) [0x7efffb8a8fcb]

Logs for reference -
http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/NightlyTestsForBinaries/detail/tutorials_nighly_fix/10/pipeline
Can you please try to provide fixes for 3 tests and then we can enable the tests in nightly. MKLDNN is mostly using wrong binary. (Currently using GPU binary without mkldnn libraries.)


Ignore docstrings in field_operator and program

e.g.
@field_operator
    def field_operator_docstring(
            a: Field[[IDim], float64]
    ) -> Field[[IDim], float64]:
        '''3 '''
        #Hello

        a = a
        return a

We currently handle this by using doctests which I also suggested here.


Highlight the differences between all the ways we can develop Workers

Which Cloudflare product(s) does this pertain to?
Workers
Subject Matter
All the ways to develop Workers
Content Location
https://developers.cloudflare.com/workers/
Additional information

Production Workers, Quick Edit, https://cloudflareworkers.com/, Remote Dev, Local Dev, Miniflare Raw, etc.?

Would be cool as a doc too. I've noticed some differences, but probably not everything.

from @helloimalastair

Hey there - I'm going to close this issue out in lieu of an effort to create specific, internal tutorial tickets that capture what we need for Workers. Feel free to open a PR if you have content! FYI @kristianfreeman and @rickyrobinett.


Color Codes Calendar

Have a way to easily see when PDD days or other days are off to remove confusion of when there isn’t school.
Submitted via Form

@ajosan25 did you file this issue? If so, can you add more details about what you had in mind?

I did not file this issue. However, I think the user wants PDD days and others to be unselectable. This probably isn't worth the time to code using HTML built in datepicker.


searchbar for a long list with objects instead of string

This is by far the best dropdown menu in pub.dev.

adding list of Objects instead of list of strings and adding a required label (ex Object.name)

i have a lot of duplicate names, using only strings is not an option

Adding an optional searchBar to filter items in a long list would make it perfect

Hi @thorizer,
You don't have to use list of strings. items parameter takes List<DropdownMenuItem<T>> so the DropdownMenuItem can represent any object. But, You've to set unique value for each item. For Example:
items: items
    .map((item) => DropdownMenuItem<SomeClass>(
          value: SomeClass.uniqueValue,
          child: Text(
            SomeClass.text,
          ),
        ))
    .toList(),

For adding search feature, I'll see If we could add it without affecting the overall performance. Thanks for the suggestion.

@AhmedLSayed9 SomeClass.uniqueValue doesn't work. value should be the same type as SomeClass

Check example 5 for using DropdownButton2 as Searchable Dropdown :wink: