Keys (Tab, arrows) should not be handled by RenderEditable when also processed as an action.

In most UIs, TAB can be input to switch between input fields. This is necessary to enable accessible applications and also application that behave correctly with an external keyboard. This behavior doesn't typically ALSO input tab into the input field. In flutter tab performs both:

switch focus
input whitespace text into text fields.

If the first is done, the second should not.
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
      title: 'My app', // used by the OS task switcher
      home: Material(child: content())));
}

Widget content() {
  var _focus1 = FocusNode();
  var _focus2 = FocusNode();

  return Column(
    children: [
      TextField(
        focusNode: _focus1,
        textInputAction: TextInputAction.next,
      ),
      TextField(
        focusNode: _focus2,
        textInputAction: TextInputAction.next,
      ),
    ],
  );
}

Is with the latest public flutter, Android emulator and Nexus 7 tablet VM.

 flutter doctor -v
[✓] Flutter (Channel master, v1.13.3-pre.23, on Linux, locale en_US.UTF-8)
    • Flutter version 1.13.3-pre.23 at /home/sir/development/flutter
    • Framework revision c06bf6503a (3 days ago), 2019-12-13 17:42:35 -0500
    • Engine revision e0e0ac0a68
    • Dart version 2.8.0 (build 2.8.0-dev.0.0 45db297095)

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /home/sir/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /home/sir/Android/Sdk
    • Java binary at: /home/sir/soft/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /home/sir/soft/android-studio
    • Flutter plugin version 41.1.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] IntelliJ IDEA Ultimate Edition (version 2019.3)
    • IntelliJ at /snap/intellij-idea-ultimate/188
    • Flutter plugin version 42.1.4
    • Dart plugin version 193.5731

[✓] IntelliJ IDEA Ultimate Edition (version 2019.2)
    • IntelliJ at /snap/intellij-idea-ultimate/181
    • Flutter plugin version 41.1.4
    • Dart plugin version 192.7761

[✓] Connected device (3 available)
    • Android SDK built for x86 • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
    • Chrome                    • chrome        • web-javascript • Google Chrome 76.0.3809.132
    • Web Server                • web-server    • web-javascript • Flutter Tools

! Doctor found issues in 1 category.

CC @gspencergoog

In order to solve this, a rather large structural change is needed in the way Flutter processes key events.
Here's the design doc for moving the key infrastructure to the platform code: https://flutter.dev/go/platform-based-key-events
The first part of this is underway already. https://github.com/flutter/flutter/pull/50998 and https://github.com/gspencergoog/platform_keyboard are work towards the goal of being able to synchronously handle key events and cancel propagation of the event when it has been handled. The first is a PR that will allow us to generate key codes in C++ for the various platforms, and the second will become the framework-side changes for the new synchronous keyboard API.
That will fix this issue by allowing key events to have their propagation stopped when an action handles them.

I'm currently working through adding synchronous key event support to Android as a proof of the design, and will move on to other platforms once that lands.

Reproducible on the latest master 1.21.0-2.0.pre.66 on a Pixel 3 emulator using Android API 30.

flutter doctor -v
[√] Flutter (Channel master, 1.21.0-2.0.pre.66, on Microsoft Windows [Version 10.0.18362.900], locale et-EE)
   • Flutter version 1.21.0-2.0.pre.66 at C:\Development\flutter_master
   • Framework revision 54c9441723 (3 days ago), 2020-07-17 18:56:12 -0400
   • Engine revision d327828632
   • Dart version 2.9.0 (build 2.9.0-21.0.dev 9dca49e71e)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
   • Android SDK at C:\Users\Isa\AppData\Local\Android\sdk
   • Platform android-30, build-tools 30.0.0
   • Java binary at: C:\Users\Isa\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763\jre\bin\java
   • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
   • All Android licenses accepted.

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

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.6.4)
   • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
   • Visual Studio Community 2019 version 16.6.30309.148
   • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.0)
   • Android Studio at C:\Users\Isa\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763
   • Flutter plugin version 47.1.2
   • Dart plugin version 193.7361
   • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.47.2)
   • VS Code at C:\Users\Isa\AppData\Local\Programs\Microsoft VS Code
   • Flutter extension version 3.12.2

[√] Connected device (6 available)
   • SM G950F (mobile)           • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
   • sdk gphone x86 (mobile)     • emulator-5554      • android-x86    • Android 11 (API 30) (emulator)
   • sdk gphone x86 arm (mobile) • emulator-5556      • android-x86    • Android 11 (API 30) (emulator)
   • Windows (desktop)           • windows            • windows-x64    • Microsoft Windows [Version 10.0.18362.900]
   • Web Server (web)            • web-server         • web-javascript • Flutter Tools
   • Chrome (web)                • chrome             • web-javascript • Google Chrome 84.0.4147.89

• No issues found!

I landed synchronous key event support for Android, but then had to revert it because it broke some benchmarks that were using the back button.  I'm currently diagnosing that so I can re-land it.
We're also working on a design for editing actions to be implemented as Flutter Actions so that the shortcuts framework can trigger them, which will solve some of the precedence issues.

I landed synchronous key event support for Android, but then had to revert it because it broke some benchmarks that were using the back button. I'm currently diagnosing that so I can re-land it.
We're also working on a design for editing actions to be implemented as Flutter Actions so that the shortcuts framework can trigger them, which will solve some of the precedence issues.

I saw in that PR it is stated that typically only hardware keyboard event is captured. Is it possible to extend that to soft keyboard events as well? It could be done by overrideing onKeyPreIme method on Android, but I don't know for other platforms. I'm looking forward to that feature.

I was able to re-land the event synthesis for Android.
@znjameswu I think the onKeyPreIme method still only sends hardware key events, it just sends them before the IME gets them. I haven't found a way to capture soft key events before the IME gets them on Android, only hardware key events.
I suspect that there isn't any such API, because of this documentation from the KeyEvent Android docs:

As soft input methods can use multiple and inventive ways of inputting text, there is no guarantee that any key press on a soft keyboard will generate a key event: this is left to the IME's discretion, and in fact sending such events is discouraged. You should never rely on receiving KeyEvents for any key on a soft input method. In particular, the default software keyboard will never send any key event to any application targetting Jelly Bean or later, and will only send events for some presses of the delete and return keys to applications targetting Ice Cream Sandwich or earlier. Be aware that other software input methods may never send key events regardless of the version.

So, just to update: I have prototyped a way to do this on Android, and I think I can do it on macOS, Windows and Linux, although I haven't yet prototyped those.
Unfortunately, on Android, it only works for hardware keyboards (as alluded to above), so pressing a key that is handled by a shortcut on the hardware keyboard can be intercepted and handled without passing it on to the text field, but if the same key is pressed on a software keyboard, the key is not handled (and not even sent to the RawKeyboard handler, or the Shortcuts widget).
The only (super hacky) way I can see to make it work for soft keyboards too is to watch the edit stream and simulate key events based on the delta changes to the text. Maybe it would "just work" most of the time, but I suspect that there will be many cases where it doesn't (e.g. what key event do I send when someone inserts an emoji?). And some editing operations will result in weird things: If the cursor was between the first and second character and I hit "Home", in the edit stream it would be indistinguishable from hitting "Left Arrow", so if the shortcut was for "Home", then hitting "Left Arrow" on the software keyboard might trigger it (but not on the hardware keyboard). And it still wouldn't handle the case of hitting "Backspace" on an empty text field.
Not to mention that it is all very complex code with a lot of assumptions, so I'm not inclined to the hacky solution, but I don't know that we have any other recourse on Android, unless we're fine with shortcuts and keyboard navigation only working for hardware keyboards (which would work for the a11y case that is the original purpose of this issue). That might actually be a reasonable restriction, if a little surprising to developers, given that software keyboards don't typically even contain a "Tab" key or arrow keys to use for focus traversal.

I was able to re-land the event synthesis for Android.
@znjameswu I think the onKeyPreIme method still only sends hardware key events, it just sends them before the IME gets them. I haven't found a way to capture soft key events before the IME gets them on Android, only hardware key events.
I suspect that there isn't any such API, because of this documentation from the KeyEvent Android docs:

As soft input methods can use multiple and inventive ways of inputting text, there is no guarantee that any key press on a soft keyboard will generate a key event: this is left to the IME's discretion, and in fact sending such events is discouraged. You should never rely on receiving KeyEvents for any key on a soft input method. In particular, the default software keyboard will never send any key event to any application targetting Jelly Bean or later, and will only send events for some presses of the delete and return keys to applications targetting Ice Cream Sandwich or earlier. Be aware that other software input methods may never send key events regardless of the version.

Awesome work!
For the Android key event system, I think one discrepency is that native android app can receive a event if a soft keyboard decided to send that event, via View.addOnKeyListener. There are some Android IME (such as Hacker's Keyboard) that support extra keys such as 'ctrl', 'alt', etc, and they did pretty well on sending those event. However in my recent testing (1.22.0-10.0.pre.161), RawKeyListener or Focus seems to be unable to receive those event.

@znjameswu I don't see addOnKeyListener anywhere in the Android docs. Can you add a link to what you're thinking of? (maybe you mean setOnKeyListener?)

@znjameswu I don't see addOnKeyListener anywhere in the Android docs. Can you add a link to what you're thinking of? (maybe you mean setOnKeyListener?)

Sorry my typo. It is setOnKeyListener. In my testing, it can log various keys from Hacker's Keyboard.

Setting the on key listener doesn't appear to get any key events from the Hacker's Keyboard for me. Maybe this has to do with the FlutterView being a ViewGroup, but I also tried setting it on all children too, and nothing came through.
The Hacker's Keyboard does appear to send some key events through InputConnection.sendKeyEvent (but not all, just some specific ones, like TAB and BACKSPACE). It seems to send a LEFT_SHIFT in addition to the TAB when I just press TAB, which is strange.
As I mentioned above, it's up to each IME to decide what key events it will simulate, and I don't think we can count on any particular IME being consistent with any other.

Setting the on key listener doesn't appear to get any key events from the Hacker's Keyboard for me. Maybe this has to do with the FlutterView being a ViewGroup, but I also tried setting it on all children too, and nothing came through.
The Hacker's Keyboard does appear to send some key events through InputConnection.sendKeyEvent (but not all, just some specific ones, like TAB and BACKSPACE). It seems to send a LEFT_SHIFT in addition to the TAB when I just press TAB, which is strange.
As I mentioned above, it's up to each IME to decide what key events it will simulate, and I don't think we can count on any particular IME being consistent with any other.

Well the Tab behavior is wierd. I'm testing in a native Android app and the tab key seems fine for me.
If there can't be a universal way to handle IME, then it may be as well good to retain the original intentions of various IME authors (e.g., Hacker's Keyboard does not send events for single ASCII keys, but sends events for combination keys such as ctrl+C), because it is up to them to guarantee the correctness of the end result. (i.e., some keyboards don't send backspace event and modify by InputConnection, while Hacker's Keyboard sends backspace events and leaves the modifications to android views)
A hypothetical approach (only my current understanding) would be to perform text-diffing on each platform's InputConnection equivalent to infer content insertion/backspace/up/down etc that doesn't get emitted key event, and capture emitted key events from IME as if they come from hardware keyboard. Of course this would be a total change to Flutter's text input codebase, but experiments on small packages can be plausible as soon as IME emitted key event get passed to Flutter.

A hypothetical approach (only my current understanding) would be to perform text-diffing on each platform's InputConnection equivalent to infer content insertion/backspace/up/down etc that doesn't get emitted by key event, and capture emitted key events from IME as if they come from hardware keyboard. Of course this would be a total change to Flutter's text input codebase, but experiments on small packages can be plausible as soon as IME emitted key event get passed to Flutter.

Yes, that's the "hacky" way I mentioned above.  I don't think it's feasible: it's too much of a hack, with too many ambiguous corner cases.

Greg says Android and macOS are done, and he's finishing up Linux and Windows, which is expected to take another few weeks.
I'm moving this to P3 to take it off the weekly-updates triage list, but it remains a high priority.

I've hit a snag (and so reverted the Android key synthesis commit), in that now that we're properly processing the events in the shortcuts system, you can no longer type printable characters into a text field if they are also bound to a shortcut, because the shortcut handles them. For instance, if SPACE is bound to activate (as it is on web), then spaces can no longer be typed into a text field. This is obviously not desirable.
I have a solution to this, which is to have a new property on an Intent that allows a text field to ask if the intent should be active in a text field, and a new callback registration on FocusNode that allows the focus system to ask the node if it should stop key event propagation or not, allowing the text field to stop event propagation, but still notify the engine that the key was unhandled, so that the key can proceed along the text editing/entry path in the engine.
I thought about making it so that text fields just stop propagation for any key event resulting in a printable character, but then the definition of "printable" gets fuzzy: does a newline count as printable? What about a tab? And if a tab is printable, then the shortcuts system can't invoke the action to move to the next field, and we're back to the original problem of getting stuck in text fields when focus traversing via tab.
Having the Intent indicate this allows for all possibilities: passing space to text fields, but not tabs, or overriding the default tab binding to allow tabs to be inserted into a text field.

I've found a better solution, in #67359, which seems to solve the problem of not being able to insert spaces, etc.
I tried re-landing the pre-IME key event handling, and had to revert it because it disabled the back button in some situations (when the soft keyboard was up).
After discussing it with some Android folks, I have an updated version of that change which will be ready shortly, and handle keys properly, except that it won't be pre-IME, but it doesn't really need to be, it turns out.

Wouldn't a good solution be to give widgets with a focus node the ability to eat input and prevent it from being passed to parent widgets with focus nodes. (This was the solution used by GTK, way back).
Shortcuts would be handled somewhere closed to the root.
This would solve other issues I have, such as cursor keys used in text areas contained by scrollable areas causing both cursor movement and list scrolling.

That is in fact how it works already.

I don't believe so.
https://api.flutter.dev/flutter/widgets/RawKeyboardListener-class.html
onKey → ValueChanged
... results void. Because it returns void, there's no way to indicate that this class consumed this specific event and not provide it to the parent.
In other UI toolkits
bool onKey(event){
if (event.ket == SPACE) { ....; return true}   // consumed space
if (event.ket == ENTER) { ....; return true}   // consumed space
return false;   // Did not consumed
}

No, that API is a low level API for listening to key events, not handling them.
Check out these:
https://api.flutter.dev/flutter/widgets/Focus/onKey.html
https://api.flutter.dev/flutter/widgets/FocusOnKeyCallback.html
You can set a key handler on a Focus widget (or at a lower level, on the FocusNode itself), and returning true will halt key event propagation to other focus nodes, and (once this issue is completely fixed), also halt the propagation to other non-Flutter components in an add-to-app scenario.

Can't use backspace when using TAB on Mac.   #21231

Can't use backspace when using TAB on Mac.  flutter/engine#21231

@fanchou Can you give a better description of what you mean so that I can reproduce the problem?

@fanchou Can you give a better description of what you mean so that I can reproduce the problem?

Sorry, I made a mistake. The correct situation is that I can't use backspace when I turn on the capslock key.

@gspencergoog wanted to confirm if allowing overriding shortcuts for TextFields is on the list for Flutter web is a priority this month month and if it is related to https://github.com/flutter/engine/pull/21231 and https://github.com/flutter/engine/pull/22340
We have a UI like this:

The keys we'd like to override are:

Up/down arrow keys when there are mentionable users
Tab key or enter key when there is a completion to expand

Right now we have some hacks that save and restore a TextSelection to undo the keyboard movement but we've found there are a lot of edge cases it introduces.
Don't mind running on the latest master for web if necessary as this is one of the few remaining blockers for releasing our app to beta users (planned for mid-January). Thanks!

@venkatd This is something we're working on, but the specific case you're talking about will still take some time.
The details are this: While we're no longer handling the key events in the engine, cursor motion and selection are still handled by the text field itself (EditableText widget) in Flutter, and because the text field has focus, it receives the events first, and so for the keys it handles, it absorbs the key event before the Shortcuts widget (or any other widget) gets a crack at them. It effectively has its own built-in shortcuts that can't be overridden.
We are working on some changes that should turn the editing commands in the text field into actions with key bindings that can be overridden. At that point, your design should be possible. This is a pretty big change with a lot of moving parts, which is why it will take a while (sorry I don't have a specific timeline for you).
/cc @justinmc

@fanchou Yes, this is a known problem on macOS (see https://github.com/flutter/flutter/issues/64761)
Fixing this is being worked on as part of implementing https://github.com/flutter/flutter/issues/44918
/cc @dkwingsmt

@gspencergoog no problem, I understand this is not a simple change.
In the meantime, do you have any recommendations on workarounds/hacks? I see keyboard handling is happening here.
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/rendering/editable.dart#L513-L552 but doesn't look like it's possible to override.
Would it be workable to move the keyboard handling to public methods to allow subclassing TextField/Edtiable? Maybe the ability to pass in handleKeyEvent into TextField and returning false in our app code if we want the Editable to ignore the key.
The clean shortcut handling would be lower priority than suppressing certain RawKeyEvent messages.

@venkatd No, sorry, we probably can't expose those as new public methods: we'd have to support them going forward then, and that's not the API we want to end up with. As I said, this is one of the tasks we're currently working on, so hopefully it won't be too long.

@gspencergoog understood & thanks for the reasoning

Update from @gspencergoog: macOS, Linux, and Android are all done, we're working on the Windows part at the moment.

Update from @gspencergoog: macOS, Linux, and Android are all done, we're working on the Windows part at the moment.

Great! Was web already done? Or something for the future?

Great! Was web already done? Or something for the future?

/cc @mdebbar - web

/cc @mdebbar - web

@vankatd This is my design doc for doing things like the arrow keys and tab keys via Shortcuts/Actions/Intents.  I have a POC that has this working on Mac, and all the mapping is overridable, but it will depend on @gspencergoog's work for the full solution.

@vankatd This is my design doc for doing things like the arrow keys and tab keys via Shortcuts/Actions/Intents.  I have a POC that has this working on Mac, and all the mapping is overridable, but it will depend on @gspencergoog's work for the full solution.

@venkatd @mdebbar I'm looking at web implementation in the next few days. It should be pretty simple to implement, I don't expect any issues.

@venkatd @mdebbar I'm looking at web implementation in the next few days. It should be pretty simple to implement, I don't expect any issues.

We've got a flutter web prototype being used internally. It is designed to replace our React web app so we can share more code with our mobile Flutter app.
Our app is pretty text editing heavy. So anything related to text editing--and most importantly shortcuts/intent overrides--would have the highest impact on our customer experience.
Great to hear it's got the teams focus!

We've got a flutter web prototype being used internally. It is designed to replace our React web app so we can share more code with our mobile Flutter app.
Our app is pretty text editing heavy. So anything related to text editing--and most importantly shortcuts/intent overrides--would have the highest impact on our customer experience.
Great to hear it's got the teams focus!

In the web implementation seems to be working. In SImulators on Mac it have this weird behavior.

In the web implementation seems to be working. In SImulators on Mac it have this weird behavior.

In the web implementation seems to be working. In SImulators on Mac it have this weird behavior.

Maybe file another issue?

In the web implementation seems to be working. In SImulators on Mac it have this weird behavior.

Maybe file another issue?


[BUG] - Not working on Android 11

🚨🚨 Not working in android 11

Lib Version 3.2.2

Not working on my device (Poco M2 Pro Android 11 MIUI 12.0.1). CropView doesn't open after chosing the image, neither from gallery nor from camera. The activity simply gets finished. In the sample code it works when "Outside Camera and Start(Uri)' is selected. In the rest of the cases (refer sample code) it throws following error:
--Library Camera, Start(), Custom Option : "cropping image was cancelled by the user"
--Custom Selector Title... : "picking image failed"
--Library show pick option... : "picking image failed"
To Reproduce
Steps to reproduce the behavior:

Launch the sample app
Click on "Sample CallingCrop Image"
Click on "Library, Camera, Start(), Custom Option"
Pick image from gallery or click using camera
See the toast message

Expected behavior
CropView should open on clicking the image in the gallery or after clicking on done icon if clicked from camera and uri should be returned in the required activity
**Smartphone **

Device: Poco M2 Pro (MIUI 12.0.1)
OS: Android 11

Additional context
In  parseResult method in PickImageContract class the result code is always 0 so the Activity.RESULT_CANCELED is called everytime.
Also in CropImageActivity:
private val pickImage: ActivityResultLauncher = registerForActivityResult(PickImageContract()) {
onPickImageResult(it)
}
The returned Uri is always null

Hey @ankiitdev can you confirm if the permissions are granted?  (should not be a problem for Android 11, but I cannot reproduce so far)

Yeah the permissions are granted. Infact I've also tried by manually granting them from app settings but still it doesn't work.This might be a device specific bug. I also tried replacing
when (resultCode) {             Activity.RESULT_CANCELED -> {                 context = null                 null             }             else -> {                 context?.let {                     context = null                     getPickImageResultUriContent(it, intent)                 }             }         }
with
context?.let {             context = null             return getPickImageResultUriContent(it, intent)         }
Now I'm getting "content://com.example.croppersample.cropper.fileprovider/my_images/Pictures/pickImageResult.jpeg" as uri with message "cropping image failed"

Sorry for the delay @ankiitdev if you try in other devices or emulator it work?
Best you can do is run the the sample app in debug mode in your device and put a breakpoint in the crop code. You can search where we define the message you see on toast and go up.
Sadly I try my best, but without reproduce from my end I'm not too much useful =|

Unknown bits set in runtime_flags: 0x800000 Exception show in android 11 and App Exit when using Camera

@ankitpipada could you please provide a code that I can reproduce this?

I also get this error on redmi 9. Before when using library:
com.theartofdev.edmodo:android-image-cropper
but when I upgrade dependencies "startActivityForResult deprecated" and I decided to switch to this library. finally it doesn't work on my redmi 9 but on other devices it works

@ankitpipada could you please provide a code that I can reproduce this?
For Create Request

CropImageContractOptions options = new CropImageContractOptions(null, new CropImageOptions())
.setScaleType(CropImageView.ScaleType.CENTER)
            .setGuidelines(CropImageView.Guidelines.ON)
            .setAspectRatio(4, 16)
            .setMaxZoom(8)

            .setCropMenuCropButtonTitle("Crop");
    cropImage.launch(options);

For Media Response
ActivityResultLauncher cropImage=   registerForActivityResult(new CropImageContract(), new ActivityResultCallback<CropImageView.CropResult>() {
@Override
public void onActivityResult(CropImageView.CropResult result) {
if (result!=null ) {
if(result.getUriContent()!=null&&result.isSuccessful()) {
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), result.getUriContent());
File file = ConnectionDetector.persistImagefor11(bitmap, Imagename, getApplicationContext());
try {
new ImageCompressor(getApplicationContext()).compress(file.getPath(), file.getName(), new OnImageCroplistner() {
@Override
public void OnSuccessfullCrop(Bitmap bitmap, File mFile) {
mPhoto_Path = mFile;//new File(mFile);
if (mPhoto_Path != null && mPhoto_Path.exists()) {
imageview_photo_one.setImageBitmap(bitmap);
imageview_photo_one.invalidate();
imageview_photo_one.postInvalidate();
}
}
});
                    } catch (Exception e) {
                        e.printStackTrace();
                    }

                } catch (Exception e) {

                }
            }
        }
        else if (result.equals(CropImage.CancelledResult.INSTANCE)) {
            Log.i("Cropimage", "Canecl image");
        }
        else {
            Log.i("Cropimage", "Not respond");
        }

    }
});

If we launch Camera in android 11 and click right arrow app stop and show error
Unknown bits set in runtime_flags: 0x800000 Exception show in android 11
I debug code when camera open Application goes to background and stop working
I think Activity state issue

This code working fine below Android 11

App suddenly stop when capture the photo via camera

Any update? This is a very breaking changes a test should be conduct from lowest to latest Android OS.

This issue usually happens when an you call onBackPressed during intent which will set the result code to "RESULT_CANCELED"

Any update? This issue usually happens when an you call onBackPressed during intent which will set the result code to "RESULT_CANCELED".

Issue is only Android 11 when open camera. App goes to background and no callback return to app and App stop

Hey people, I wanna help but is really hard to understand the code here.
Could you please give the steps to reproduce it using the sample code? Is working on my Android 10, Android 11 and 12.
So I cannot fix without reproduce.
Or please open a PR Like the #204 where the user give a code that reproduce the error so I could debug =)

@ankitpipada could you please provide a code that I can reproduce this?
For Create Request

[...]
This code working fine below Android 11

Is really hard to understand this code and what is doing. But this line mPhoto_Path = mFile; //new File(mFile); will not work in any Android 11.
Android 11 do not allow you to use file schema anymore, that the reason the library update for content schema. You don't need to create your file, you can use the one in the library and should work.

Here is a video of it working for me on Android 11
https://user-images.githubusercontent.com/15942449/133060401-8c6aaf6e-5b91-40fe-b742-06c7fd0bc716.mp4

Here is a video of it working for me on Android 11
video5906833264802270072.mp4

Have you tried files as well? Try to check the library code with "cropping image was cancelled by the user". Since this is the thrown error message.

Have you tried files as well aside from the camera?

Yes, just re-tested all 3 options

The video footage is a physical device not a virtual right?

Yes.

Are you sure its Android 11?

Looking now I may have upload the video from Android 12, but I tested in my three devices, 10/11/12, I have the library updated in all my 4 test devices always (Android 9/10/11/12)
Can you please provide a video with the error happening in the sample code?

@ArcherEmiya05 Android 11, Emulator, camera, gallery, settings
https://user-images.githubusercontent.com/15942449/133069497-791bc63f-1477-4298-9e4e-b9a3c3654d40.mp4

Have you tried files as well aside from the camera?

Yes, just re-tested all 3 options

The video footage is a physical device not a virtual right?

Yes.

Are you sure its Android 11?

Looking now I may have upload the video from Android 12, but I tested in my three devices, 10/11/12, I have the library updated in all my 4 test devices always (Android 9/10/11/12)
Can you please provide a video with the error happening in the sample code?

It's the same as what was mentioned here, please check the sample code here on your side.

@ArcherEmiya05 Can you please provide a video with the error happening in the sample code?

@ArcherEmiya05 Can you please provide a video with the error happening in the sample code?

I don't think a video will help you debugging this issue, but I will try to record one and send it here. Have you reviewed and tried  our sample codes?

@ArcherEmiya05 only this piece of code I cannot reproduce.
If you can add this code to our sample library code and open a PR, for example this user done it here, I can run the falty code and understand how to help =D

@ArcherEmiya05 only this piece of code I cannot reproduce.
If you can add this code to our sample library code and open a PR, for example this user done it here, I can run the falty code and understand how to help =D

I just clone the project this time but all I got is same issue even with the sample project. I am not sure how is your device able to launch the activity cropper right after choosing a image, please try it on other Android 11 real device. If got a plenty of time I will try to check the code and the root cause of the issue but at the same time I think I will just move on on from this library and remove it from my app.
https://user-images.githubusercontent.com/38008900/133829221-9fddac4f-fdf1-42b0-8f6a-1c7a553eb9b7.mp4

Just like what I thought, the status is Activity.RESULT_CANCELED in the intent within PickImageContract class.

Please remove Intent.createChooser in the line 205 of CropImage.kt and replace it with just val chooserIntent = allIntents.removeAt(allIntents.size - 1)

Removing Intent.createChooser in the line 205 of CropImage.kt and replace it with just val chooserIntent = allIntents.removeAt(allIntents.size - 1) will fix the problem for Android 11, but doing that will limit the user to pick only saved image in the file manager. Based by Ian comment here,  Intent.createChooser seems to be now restricted in Android 11 specially when accessing documents.

try adding this in AndroidManifest
<uses-feature
    android:name="android.hardware.camera"
    android:required="false" />

<queries>
    <intent>
        <action android:name="android.intent.action.GET_CONTENT" />
        <data android:mimeType="image/*" />
    </intent>
    <intent>
        <action android:name="android.media.action.IMAGE_CAPTURE" />
    </intent>
</queries>

I hope this helps

@ArcherEmiya05 since you can reproduce, sadly I can't and I don't have more Android 11 devices available, could you open a PR with the fix?

Anyone still facing this bug? its is happening to me too on Android 8, 9, 10, 11+

I'm not facing the problem after upgrade to the latest version : from 4.1.0 -> 4.2.0
It's working like a charm in Android 11

i am facing the issue while on android 11+ using Samsung


Cannot record stacks bigger than 4 GB

Currently there's a limitation in the recording functionality, as stacks bigger than 4 GB (which are considered BigTIFF format according to this) are not properly saved. Recording is handled here:
        @thread_worker(connect={"yielded": add_recording_layer})
        def acquire_stack_images(stack_size: int, file_path: str):

            # todo: move this string replacement at beginning of path acquisition
            if file_path.endswith(".tiff"):
                file_path.replace(".tiff", ".ome.tiff")

            # todo: should camera acquisition be moved to another thread
            # and yield images to process_stack_images?
            stack = process_stack_images(self.special_function_checkbox.isChecked(),
                                        np.stack([self.camera.capture_image() for _ in range(0, stack_size)]),
                                        stack_size)

            # todo: stacks bigger than 4 GBs are not saved, how to fix?
            with tifffile.TiffWriter(file_path, append=True) as writer:
                writer.write(stack,
                            photometric="minisblack",
                            metadata={"axes" : "ZYX"})
            yield file_path

The TiffWriter class has a flag for BigTIFF files, but I tested it and it seems to not be working properly. I would like to make sure that both TIFF and BigTIFF formats are readable from ImageJ in case an user would like to do more post processing operations.

Closing issue as it is part of old version.


feat: 🎸 [TableVirtualized] Added new component

Added a new Table component using react-virtuoso for virtualization
✅ Closes: #421

Hi @alessandrotilli, you can merge it 👍

:tada: This issue has been resolved in version 10.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix Windows CI

The same Java and Maven versions that work on Linux and Mac have suddenly starting failing on Windows, so we now manually install a known good version for that platform.
Signed-off-by: Joel Dice<EMAIL_ADDRESS>

Whelp, nevermind.  It worked on my branch, but apparently there's some kind of non-determinism happening.  We might need to just disable the Java tests on Windows if I can't get to the bottom of this.


allow commas in REQUIRE?

Would allow code like
REQUIRE(result == std::array<uint8_t, 8>{ 0, 4, 2, 6, 1, 5, 3, 7 });

#ifdef CATCH_CONFIG_VARIADIC_MACROS
#define REQUIRE( ... ) INTERNAL_CATCH_TEST( __VA_ARGS__, Catch::ResultDisposition::Normal, "REQUIRE" )
#define REQUIRE_FALSE( ... ) INTERNAL_CATCH_TEST( __VA_ARGS__, Catch::ResultDisposition::Normal | Catch::ResultDisposition::FalseTest, "REQUIRE_FALSE" )
#else
#define REQUIRE( expr ) INTERNAL_CATCH_TEST( expr,
etc.

Let's hope at most once per person ;)

Fraccidentally Pressed [Close issue].


error message not clear.

What happened:
runner@fv-az198-826:~/work/test-ci/test-ci$ ./juicefs format --storage minio --bucket http://localhost:9000 --access-key juicedata --secret-key juicedata sqlite3://abc.db myjfs
2022/05/12 07:48:25.805377 juicefs[9400] <INFO>: Meta address: sqlite3://abc.db [interface.go:383]
2022/05/12 07:48:25.806092 juicefs[9400] <FATAL>: object storage: no bucket name provided in http://localhost:9000: %!s(<nil>) [format.go:377]

What you expected to happen:
"%!s()" is not readable.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?
Environment:

JuiceFS version (use juicefs --version) or Hadoop Java SDK version:
Cloud provider or hardware configuration running JuiceFS:
OS (e.g cat /etc/os-release):
Kernel (e.g. uname -a):
Object storage (cloud provider and region, or self maintained):
Metadata engine info (version, cloud provider managed or self maintained):
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage):
Others:

It's because we use "%s" as fmt verbs in logging, while the real value is an error.


Suffix vs prefix causing different maxlength

I got an input text of numeric format that representing a currency field.
Depending on the language selected, the mask will use this prefix in english : 'prefix': '$' and this suffix in french : 'suffix': ' $'.
Both input maxlength are set to 11.
In french I can input 100 000 000 but in english i'm stopped to $10,000,000.
Look like the prefix was counted in the maxlength.
Here the code for the english version :

French version :

Any idea or suggestion?

@DJPSystem ,
I will investigate this.


openshift-install destroy cluster with broken output

Describe the bug

openshift-install destroy cluster will return bad messages with clearly broken output.
[ferrao@localhost okd]$ openshift-install destroy cluster
INFO searching VMs by tag=okd-pgs79
INFO Found %!s(int=3) VMs
INFO Stopping VM okd-pgs79-master-2 : errors: %s%!(EXTRA )
INFO Stopping VM okd-pgs79-master-1 : errors: %s%!(EXTRA )
INFO Stopping VM okd-pgs79-master-0 : errors: %s%!(EXTRA )
INFO Removing VM okd-pgs79-master-2 : errors: %s%!(EXTRA )
INFO Removing VM okd-pgs79-master-1 : errors: %s%!(EXTRA )
INFO Removing VM okd-pgs79-master-0 : errors: %s%!(EXTRA )
ERROR Removing VMs - error: %!s()
INFO Removing tag okd-pgs79 : errors: %s%!(EXTRA )
ERROR Removing Tag - error: %!s()
ERROR Removing Template - error: %!s()
Version

openshift-install-linux-4.4.0-0.okd-2020-04-21-163702-beta4.tar.gz
How reproducible

100%
Log bundle

No log bundle.

Is it still happening on Beta5?

Hi @vrothberg I tried beta5 yesterday and yes, still happening.
[ferrao@fedora-test okd]$ openshift-install destroy cluster
INFO searching VMs by tag=okd-dzb6t
INFO Found %!s(int=3) VMs
INFO Stopping VM okd-dzb6t-master-1 : errors: %s%!(EXTRA <nil>)
INFO Stopping VM okd-dzb6t-master-0 : errors: %s%!(EXTRA <nil>)
INFO Stopping VM okd-dzb6t-master-2 : errors: %s%!(EXTRA <nil>)
INFO Removing VM okd-dzb6t-master-1 : errors: %s%!(EXTRA <nil>)
INFO Removing VM okd-dzb6t-master-0 : errors: %s%!(EXTRA <nil>)
INFO Removing VM okd-dzb6t-master-2 : errors: %s%!(EXTRA <nil>)
ERROR Removing VMs - error: %!s(<nil>)
INFO Removing tag okd-dzb6t : errors: %s%!(EXTRA <nil>)
ERROR Removing Tag - error: %!s(<nil>)
ERROR Removing Template - error: %!s(<nil>)

Oh, interesting. We'll fix that in Beta6
@rgolangh do you know if that is fixed in installer master already?

fixed both on master and 4.4

Excellent, thanks. That would be a part of installer rebase during Beta 6 then

Latest 4.5 nightlies are based on release-4.5 installer and should have a fix for that. Could you give it a try?

This should be resolved in Beta 6, please reopen if it still occurs on latest beta/nightly

@vrutkovs I can confirm it's working now:

[ferrao@fedora-test okd]$ openshift-install destroy cluster
INFO Stopping VM okd-phhh9-master-2
INFO Stopping VM okd-phhh9-master-1
INFO Stopping VM okd-phhh9-master-0
INFO VM okd-phhh9-master-2 powered off
INFO VM okd-phhh9-master-1 powered off
INFO Removing VM okd-phhh9-master-1
INFO Removing VM okd-phhh9-master-2
INFO VM okd-phhh9-master-0 powered off
INFO Removing VM okd-phhh9-master-0
INFO Removing tag okd-phhh9
INFO Time elapsed: 17s


Implement support for flat custom keys

    SERVICES_ID_CREDENTIALS_USERNAME: 'admin'
    SERVICES_ID_CREDENTIALS_CLIENT_ID: 'client_id_1'
    SERVICES_ID_CREDENTIALS_CLIENT_PASSWORD: 'client_password'

becomes equivalent to specifying:
    SERVICES_ID_CREDENTIALS: '{"username": "admin", "client_id": "client_id_1", "client_password": "client_pwd_1"}'

fixed with commit: a17d8ab422c94a249548fc01751982a859136f7c


ALLOW Traffic from DMZ Namespace (nginx ingress controller) to Kubernetes API (IP: <IP_ADDRESS>:443) How?

I've created the default rule to deny all traffic from DMZ Namespace:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-from-dmz
  namespace: dmz
spec:
  podSelector: {}
  policyTypes:
  - Egress

But now I need the access to the service "default/kubernetes" this service forward the traffik to node IP:443
ceku@ceku1 /a/r/network-policies> kubectl describe svc kubernetes
Name:              kubernetes
Namespace:         default
Labels:            component=apiserver
                   provider=kubernetes
Annotations:       <none>
Selector:          <none>
Type:              ClusterIP
IP:                <IP_ADDRESS>
Port:              https  443/TCP
TargetPort:        6443/TCP
Endpoints:         <IP_ADDRESS>:6443,<IP_ADDRESS>:6443,<IP_ADDRESS>:6443
Session Affinity:  ClientIP
Events:            <none>

How can I allow  the access from "nginx ingress controller" to this api?
My test policy (but not working):
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: allow-ingresscontroller-dmz-to-pods
  namespace: dmz
spec:
  podSelector:
    matchLabels:
      k8s-app: nginx-ingress-controller-dmz
  egress:
  - to:
    - namespaceSelector:
        matchLabels:
          name: dmz
  - to:
    - ipBlock:
        cidr: <IP_ADDRESS>/32
        cidr: <IP_ADDRESS>/32
        cidr: <IP_ADDRESS>/32
        cidr: <IP_ADDRESS>/32
    ports:
    - protocol: TCP
      port: 443
  ingress:
  - from: []

I've found the solution. The service (default/kubernetes) redirect my request to the node port, so I need a allow rule to the k8s nodes port 6443
My working policy:
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
  name: allow-ingresscontroller-dmz-to-pods
  namespace: dmz
spec:
  podSelector:
    matchLabels:
      k8s-app: nginx-ingress-controller-dmz
  egress:
  - to:
    - namespaceSelector:
        matchLabels:
          name: dmz
  - to:
    - namespaceSelector:
        matchLabels:
          name: kube-system
    ports:
    - protocol: UDP
      port: 53
  - to:
    - ipBlock:
        cidr: <IP_ADDRESS>/32
    ports:
    - protocol: TCP
      port: 443
  - to:
    - ipBlock:
        cidr: <IP_ADDRESS>/32
    ports:
    - protocol: TCP
      port: 6443
  - to:
    - ipBlock:
        cidr: <IP_ADDRESS>/32
    ports:
    - protocol: TCP
      port: 6443
  - to:
    - ipBlock:
        cidr: <IP_ADDRESS>/32
    ports:
    - protocol: TCP
      port: 6443
  - to:
    - namespaceSelector:
        matchLabels:
          name: dmz
    ports:
    - protocol: TCP
      port: 10254
  ingress:
  - from: []


Implement Fine-grained PAT For OpenSSF Scorecard

/kind user-story
Which area this user story is related to?

/area api
/area library
/area registry
/area alizer
/area devworkspace
/area registry-viewer
User Story
After the completion of https://github.com/devfile/api/issues/1298 we will need to add a Fine-grained PAT for our various repositories (may be possible to implement this on an organization level). This token will allow the OpenSSF scorecard to properly detect our branch protection rules and reflect that in the badge score.
During the implementation of the OpenSSF scorecards we left out the portion that included the Fine-grained PAT as it requires an owner to do so. The scorecard functions without that token but as stated above leaves out the branch protection score.
Each repository has a workflow file titled scorecard.yml, inside this file you will be able to find the commented instructions about the addition of this token. Example: https://github.com/devfile/library/blob/main/.github/workflows/scorecard.yml#L40
More information about the token and its implementation/setup can be found here:
https://github.com/marketplace/actions/ossf-scorecard-action#authentication-with-fine-grained-pat-optional
https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Acceptance Criteria

Step 1

[ ] Create Fine-grained token

Step 2
This token will need to be added to the following repositories (either as a repo secret or if possible as an org secret) as well as referencing it in the scorecard.yml workflow files for each repository.

[ ] devfile/alizer
[ ] devfile/api
[ ] devfile/library
[ ] devfile/registry-operator
[ ] devfile/registry-support
[ ] devfile/devfile-web
[ ] devfile/devworkspace-operator

Reopening for devtools week


Add env var info and update dependency info in README

The transform_values method used in feedkit requires Ruby 2.5.
libidn11-dev isn't installed by default and bundle failed for me without it

Coverage remained the same at 70.803% when pulling 4943c7e8a2b5302813aa680bea51506f6cd93136 on tulir:patch-1 into 1096029fb712a18b93373c925b9d9eb2ecdca6b5 on feedbin:master.

Looks great! Really appreciate this.


[WIP]{Packaging} Remove wheel as a runtime dependency

Description

wheel should not be needed to run Azure CLI. It is only used in packaging.
To remove wheel from azure-cli-core dependencies, we need to install wheel in all packaging scripts. It seems they're already doing this, will check them one by one.
For the packaging of extensions, as azdev has the dependency of wheel, it should be fine.
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

remove wheel

Fix https://github.com/Azure/azure-cli/issues/12582


Update DI article to reflect RC1 change

ApplicationServices has been removed per https://github.com/aspnet/Announcements/issues/118.
Update dependency-injection section on ApplicationServices and RequestServices to reflect this.

Also fix the following opening:
If desired, developers can replace the built-in services container with a custom or third party implementation.
with something like:
The default provided in ASP.NET 5 provides a minimal feature set and is not intended to replace other containers.

ApplicationServices is still in RC1; revisit this in RC2 timeframe.


is (inheritance) not documented

Linked from http://doc.perl6.org/language/objects#Inheritance

It is provided in http://doc.perl6.org/language/classtut#Inheritance. In my eyes that's a broken link, because taking the trait is out of context would not make sense or create redundancy.

Perhaps. My point is that it should also be searchable. Currently there is only one is and it points to http://doc.perl6.org/language/testing


docs: added naming conventions to unit testing docs

Can one of the admins verify this patch?

jenkins: ok to test


Update service-tags-overview.md

Changing the AzureCloud service tag column Can use Inbound or Outbound? from Outbound to Both fixes https://github.com/MicrosoftDocs/azure-docs/issues/96719
Changing the AzureDevOps service tag column Can be used regional? from No to Yes because the list of public Azure IPs and Service Tags has separate regions listed under the AzureDevOps service tag.

@mbender-ms

Can you review this PR?

IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


[Config] Fix #8209: az config: Add command to show default config values

Description
Add command to list information about default configuration values
Testing Guide
History Notes

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

@jiasli for awareness

@jiasli can you help review this PR?

Let's put this PR on-hold until we finish the transition and have more bandwidth.

Let's put this PR on-hold until we finish the transition and have more bandwidth.

Sure.
One more comment, we'd better define constants for all keys in one place and only use the constants in different places for easier maintenance.


Overzealous strnlen checking

@yonhan3
I have an application that would need quite a few modifications to build with OpenOSC, which I think shouldn't be necessary (or at least optional), since strnlen checking is, in my opinion, overzealous, and the modifications would make the program less understandable if not less secure.
Take this code for example:
#include <stddef.h>
#include <string.h>

#define MAX_STRING_LEN 32

int main(void) {
    static const char* string = "MyString";
    /* ... */
    size_t len = strnlen(string, MAX_STRING_LEN);

    return 0;
}

$ gcc -O test.c -include openosc.h -lopenosc

In file included from /usr/include/openosc_map.h:21,
                 from /usr/include/openosc.h:179,
                 from <command-line>:
In function ‘strnlen’,
    inlined from ‘main’ at test.c:9:18:
/usr/include/openosc_redirect_map.h:570:36: error: call to ‘openosc_strnlen_chk_warn’ declared with attribute error: strnlen caller with bigger length than size of source buffer
  570 |                   : (STRNLEN_CASE2 openosc_strnlen_chk_warn(_sz, src, len)))
      |                     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I can't see what the point is in raising an error here, at least not in all cases... this means that we'd need to have some code where truncation actually happens (or the size is exactly the same like) to not raise an error:
     static const char* string = "MyStringxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

In my use case, I have code like this (that is used in example code).  It conveys useful information both to the programmer that the MAX_STRING_LEN (as set in headers) is the maximum usable string length, and also to the program later, which can truncate strings to len later on.
Replacing this kind of code with something like ...
    static const char* string = "MyString"; /* Maximum usable length of string is MAX_STRING_LEN */

... doesn't seem to be a great benefit (and now many IDE's won't show the user value of MAX_STRING_LEN because it is in a comment, etc.)
(Using strlen in all the cases where OpenOSC would complain is fine too, but isn't helpful when using strlen is banned by policy, along with the other non-n functions.)

Thanks for opening this issue.
I think OpenOSC can add a new define flag to turn on/off the remapping of strnlen():
-DOPENOSC_STRNLEN_DISABLE
By default, we will remap strnlen, but if you explicitly add the above flag in your CFLAGS, then we will disable strnlen() remapping, thus not throwing errors for strnlen().
what do you think?

That would work, but it would be extra great if within the ifdef in openosc.h, you could also set OPENOSC_STRLEN_MAP_DISABLED (or similar) when OPENOSC_STRNLEN_DISABLE has been defined.
That would be ideal because I plan to put a workaround in place to allow our code to be compiled with OpenOSC enabled, and without requiring the person (or build system) doing the compiler to be aware of this and change their build system configuration:
#if defined(__OPENOSC_H__)
# define strnlen_trunc(s, l) strlen(s)
#else
# define strnlen_trunc(s, l) strnlen(s, l)
#endif

I then use my strnlen_trunc function in place of strnlen in the places where OpenOSC complains but I know this usage is safe and correct.
With your proposed solution, but also setting OPENOSC_STRLEN_MAP_DISABLED, I'd be able to amend my workaround to:
#if defined(__OPENOSC_H__)
# if !defined(OPENOSC_STRLEN_MAP_DISABLED)
#  define strnlen_trunc(s, l) strlen(s)
# else
#  define strnlen_trunc(s, l) strnlen(s, l)
# endif
#endif

That way, if OpenOSC remapping of strnlen is disabled, strnlen remains used as usual, and for backwards compatibility, if someone builds with -DOPENOSC_STRNLEN_DISABLE against an older version of OpenOSC doesn't support disabling the remapping, the workaround can still be implemented.

Sure, good idea. I will set OPENOSC_STRLEN_MAP_DISABLED (or similar) if OPENOSC_STRNLEN_DISABLE is defined.
I will add this in our next OpenOSC release.
Thanks!


add from_json to_json derive demo

Pull Request Test Coverage Report for Build 3148
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Totals

Change from base Build 3146:
0.0%

Covered Lines:
0

Relevant Lines:
4755

💛  - Coveralls


[DDW-105] Force setting password on passwordless wallets

This PR forces setting password on password less wallets by showing the dialog which informs the user that needs to set the password for his wallet.
Screenshots

Screenshot

Testing Checklist

Slack QA thread

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes
[ ] PR has default-sized Daedalus window screenshots or animated GIFs of important UI changes:

[ ] In English
[ ] In Japanese

[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

@DeeJayElly this is not a good direction. Let's discuss this once you start today.
The implementation needs to be similar to this: https://github.com/input-output-hk/daedalus/blob/chore/ddw-105-force-setting-password-on-passwordless-wallets/source/renderer/app/components/wallet/not-responding/NotResponding.js

Implemented @nikolaglumac

shouldn't we show summary part behind this overlay? Or we just can't?

this dialog now should be dissmissable

this dialog now should be dissmissable

Added

shouldn't we show summary part behind this overlay? Or we just can't?

You mean like transparent overlay?

Yes it should be an overlay with transparent background

Yes it should be an overlay with transparent background

@a-rukin . @nikolaglumac Now it is.

Yes it should be an overlay with transparent background

@a-rukin . @nikolaglumac Now it is.

shouldn't we show summary part behind this overlay? Or we just can't?

@DeeJayElly I just checked locally and the background is not transparent on the theme "Incentivized Testnet"

@DeeJayElly I just checked locally and the background is not transparent on the theme "Incentivized Testnet"

Fixed

@DeeJayElly please fix the flow issue 🙏

@DeeJayElly I have found two issues with storybook:

The general context handling of wallets is wrong and when I change wallets on the "Wallet Summary" story I don't see the wallet balances getting updated nor does the "Set password" overlay gets shown for the wallets with no password set.

The "Set password" story shows the "Change wallet password" instead of "Set wallet password" dialog once you update the knob...

Fixed

@DeeJayElly @daniloprates I have asked @tomothespian to fix the two remaining Todos:


Onboarding Bruce to Keycloak

Describe the Issue
As a Security Analyst, I would like to have access to Keycloak and learn how it is used in our platform such that I can help to troubleshoot if there is any access issue or/and I can provision team to ministry security tools such as OpenSIEM etc.
Additional Context

Access to Keycloak
Document link to Keycloak

Acceptance Criteria

Onboarding Session provided
Access to Keycloak

.
.
.
.
.
.
.
.
.
.
.
Extra Template Info
Definition of Ready
These set of conditions will need to be met in order to bring a ticket into the sprint and start work. Protects the team from unclear requirements.
Issues (Task/Story/Spike) aligned to an EPIC and linked appropriately.
Assigned to the appropriate CPF MEMBER (and is not left blank in ZenHub) at the start of sprint (1st day of the sprint)
Acceptance has been defined for the issue and has been reviewed with CPF team and approved by the necessary approver.
Has been sized and estimated by the delivery team.
Detailed breakdown of the steps required to complete the story in the additional context
Any additional specifications have been documented, reviewed with CPF and approved by the necessary approver.
Acceptance Criteria
A set of pre-defined requirement that need to be met in order to mark the user story as “done”.
It should be testable with no room for interpretation
It should be either “pass” or “fail”
It should be clear enough for business stake holders to understand
As part of the user story, it should be written from the user perspective
A well written acceptance criteria is great for

managing expectations
defining scope
reducing ambiguity
establishing testing criteria for QA
Given (Pre-condition)
When (Action)
Then (Outcome)

Definition of Done
These set of conditions are met for work to be considered as complete on an issue.
All acceptance criteria(s) have been validated.
All the necessary documentation for the issue has been uploaded to Teams.
Functionality has been tested when applicable.
Functionality has been demonstrated to the relevant stakeholders (where applicable).
Story has been scheduled for a Sprint Demo/community update and impacted teams invited to the Demo.
Stories accepted by PO and documented for potential sharing with impacted users.

Documented = Captured in Community Update (CU) deck
Release notes = aspirational goal of providing a bulleted list of features and changes that our users can touch. Was going to store them in our Cloud Pathfinder repo. Can also display to users in the CU

Thanks for Prabhu M.


javascript backend

I'm opening this to keep track of issues related to js_of_ocaml support, following Daniel's initial remarks

Use emscripten
Use pure OCaml implementation when available (such as sha1)

more crypto in pure OCaml (SHA/AES) also in https://github.com/johnwhitington/camlpdf/blob/master/pdfcrypt.ml (via #21)

This may be useful to port Zarith to JavaScript: https://github.com/kripken/gmp.js


Rats

code some rats! have them run around!

we have added info on the rats in the google doc! look at the writing folder and the design folder


Applies parser listeners for other parsers.

Thanks! Should there be a handleChartInsertion() call, too?

Good catch. This is fixed in the latest version.


Add docker scripts

Please answer these questions before submitting pull request

Why submit this pull request?
[x] Bug fix
[ ] New feature provided
[ ] Improve performance

Coverage increased (+0.1%) to 12.306% when pulling 3d8ac2970b4e6f59943c46d3675131d16d44860d on fix/docker into 33c1db4e97271023e769e7484e6073e5373eee22 on master.


Add Code Generation for json_serializable

Great package! I really love what you're creating here!
Currently, to use json_serializable and/or freezed, developers have to write duplicate code: one for the Users class and another for the User class. For example:
@UseRowClass(User)
class Users extends Table {
  IntColumn get id => integer().autoIncrement()();
  TextColumn get name => text()();
  DateTimeColumn get birthday => dateTime()();
  TextColumn get status => textEnum<StatusType>()();
}

@JsonSerializable()
class User {
  final int id;
  final String name;
  final DateTime birthday;
  final StatusType status;

  User({
    required this.id,
    required this.name,
    required this.birthday,
    required this.status,
  });
}

enum StatusType {
  none,
  running,
  stopped,
  paused
}

It would be fantastic if this code could be generated using build_runner.
I am willing to contribute to implementing this feature and creating a PR if someone can provide guidance or pointers on how to get started.
Thank you!

I agree with the idea that it should be easier to combine different builders with drift - putting a cheap form of json serialization into drift by default was my lazy workaround because they're not that easy to combine, but I consider that to be a big design flaw in drift.
However, I think the end realization is that users need to have full control over all builders, and the problem is generating APIs instead of implementations. In drift, you define the table structure in your sources, and then drift generates the row classes and companions (or models, which are really part of a public API then). I think this is fundamentally flawed somewhat, and making drift generate json_serializable annotations on the classes it generates doesn't solve this.
The way things should work is that users define the public models / APIs they want to use, an drift wires up all the boring things in the implementation. This is what we have with UseRowClass, but a downside is that you now have to effectively write double the code. I think a model similar to Android's Room library, where we infer the table structure based on pre-defined data classes, is a better approach in the end, e.g.
@JsonSerializable()
@DriftTable()
class User {
  @PrimaryKey(autoIncrement: true)
  final int id;
  final String name;
  final DateTime birthday;

  @TypeConverter.enumText()
  final StatusType status;
}

Obviously we can't turn the whole library inside out right now, but I still think something like that can form a better model because users control the parts that they see. I'm not sure if it's worth it to explore this approach with the current build_runner-based implementation, but that's what I'll prefer as an API for an eventual macro-based implementation. If you still want to help with that or a similar approach then contributions are absolutely welcome and will help validate the future annotation API.

Thank you simolus3 for your prompt response.
A api similar to Android's Room library would be great. It looks clean and organized.
The documentation explains the process of creating a table and implementing JsonSerializable using two different class names, "user" and "users." Is there a way to use the same class name for both JsonSerializable data classes and the drift tables?
@UseRowClass(User)
class Users extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get name => text()();
DateTimeColumn get birthday => dateTime()();
TextColumn get status => textEnum()();
}
@JsonSerializable()
class User {
final int id;
final String name;
final DateTime birthday;
final StatusType status;
User({
required this.id,
required this.name,
required this.birthday,
});
}
thank you


Non-global prefix on coupon creation.

Is your feature request related to a problem? Please describe.
I wanted to make a coupon code for an event, and wanted to code having a prefix of the event, e.g. PAXG-XXXX. This is different from the global prefix config because this is used once here only.
Describe the solution you'd like
Add an optional parameter prefix on creating Promocodes::create().
Describe alternatives you've considered
NA
Additional context
NA

Thank you for your request. Great addition for the library. Now you can customise prefix/suffix without using global values.
Example:
Promocodes::setPrefix('ABC')->setSuffix('XYZ')->create(5);


Update document root

Changes for issue #301 using vars to build docroot with hostname

I'm stuck now because it adds wordpress from synfolder to `/var/www/vhost/{{vccw.hostname}}/public. But, copies wordpress again to a subfolder of the hostname! =(


Free mode and free snap mode

Great lib btw, not sure if this has it, but if possible, could you add free mode and free snap mode? Here are some examples on keen-slider.
Free mode:
https://codesandbox.io/s/github/rcbyr/keen-slider-sandboxes/tree/v6/basic/free-mode/javascript?file=/index.html
Free snap mode:
https://codesandbox.io/s/github/rcbyr/keen-slider-sandboxes/tree/v6/basic/free-snap-mode/javascript?file=/index.html

@katriellucas
If you want the free-mode - I suggest not using any slider library and just use the CSS scroll snapping. It is much more performant and smoother
https://css-tricks.com/practical-css-scroll-snapping/

@MananTank I was aware of scroll-snapping, but that seems to work with normal scrollable elements, I would lose the "drag" properties of the slider on desktop. I might consider my own implementation. Anyway, thanks for the tip.

+1


Difference between cache and persist

I do not really get the difference between these two things.
Both of them cache the result of execution in the disc.

Is it a good idea to add cache_output to all the Steps to avoid any executions twice?
In some of your examples, you use both cache and persist at the same time, I think it is a good idea to use one of it...

seems like question is covered. Closing this :)


Dynamically load updates to Performances from Firestore

Removes a bunch of unnecessary console.logs
converts us to use snapshots for Performances only right now. The logic here reset the array upon snapshot updates.

 Adding dynamically updating tables


[documentation] update jazzy documentation for RestKit

The genDocs.sh script also needs to be updated.

This task was completed and the docs can be seen @
http://watson-developer-cloud.github.io/ios-sdk/


Use more appropriate SYSTEMDRIVE for WinRM connections without a user

Thank you https://github.com/iserje and https://github.com/Tensibai for the issues and suggested fixes! I lack Windows knowledge so thank you for helping me out here.
Description
Fixes https://github.com/chef/license-acceptance/issues/50
Fixes https://github.com/chef/license-acceptance/issues/45
Related Issue
N/A
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

@tyler-ball Has the change been committed? I'm still experiencing the same issues. Or may be a new release would have to be created?

@iserje This change shipped in Chef 15.0.298, which went out last night. Let us know if you're having issues with that release.

@tyler-ball this same issue appears with InSpec.  What can I do to help?

@mgreenegit Open an issue in https://github.com/inspec/inspec linking to this issue. The suggested solution should be to update the license-acceptance gem pin to >= 1.0.11


New release v2.0.0

Pull Request Test Coverage Report for Build 42

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.989%

Totals

Change from base Build 40:
0.0%

Covered Lines:
103

Relevant Lines:
108

💛  - Coveralls


confusion of enc_cnn

In the enc-cnn file, it is written "# TODO: Encrypt the weights and biases when training the model". But this file seems to be only testing the accuracy on the encrypted model, but not training the model.

For now, I end up deleting the encrypted training algorithm in order to clean my testing script. Although, you still can train all of the layer using encrypted input as I have defined the backward method on every autograd function. I'll add the encrypted training example as soon I finished polishing all of the encrypted layer! I'll notify you when this is done.

Okay, thank you!!!


mcelog: 162 -> 164

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mcelog/versions.
meta.description for mcelog is: '"Log x86 machine checks: memory, IO, and CPU hardware errors"'.
meta.homepage for mcelog is: '"http://mcelog.org/"
Compare changes on GitHub

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 164 with grep in /nix/store/045a05bpbvf3r9ldx72j9lv78jyw1ldi-mcelog-164

directory tree listing: https://gist.github.com/9efe7fc15977f475518563b48d244554

du listing: https://gist.github.com/0bf93979b186ede01479bf707780cbc8

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
mcelog

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/045a05bpbvf3r9ldx72j9lv78jyw1ldi-mcelog-164 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A mcelog https://github.com/r-ryantm/nixpkgs/archive/1c0ea2c7dcb375b353410ee30d6f175f4a22e82a.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/045a05bpbvf3r9ldx72j9lv78jyw1ldi-mcelog-164
ls -la /nix/store/045a05bpbvf3r9ldx72j9lv78jyw1ldi-mcelog-164/bin

Cannot test it myself.
mcelog: ERROR: AMD Processor family 23: mcelog does not support this processor.  Please use the edac_mce_amd module instead.


piping urls from the server to the front end

a bunch of boilerplate for fetching some data (external_urls) and verifying it against a hash in the merkle root
a local RPC for getting stellar exchange urls out of ^ and to the front end

depends on https://github.com/keybase/keybase/pull/3868

Anything frontend calls needs a sessionID.

lol. i figured something like that would be the case :/
ok thanks.


Proptests for the FeeAccount and funding fee calculation

Follow up of #1217
@klochowicz work in #1170 actually introduced proptests, but the model changes done in #1217 removed them. We should add them again based on the current model.

Done in #1241.


[BUG]: Serverless App: Sort the previous greetings

Description of the problem
Currently, the serverless app does not sort the Previous Greeting Selection by date time

What is even worse, is that I may submit a greeting, and the greeting is not displayed in the Previous Greeting Selections list. I assume this case is because the app only display ten rows, and if the latest greeting is not fetched, then it doesn't even show up in the list.
Definition of done
The list is sorted by DateTime showing the latest selected greeting first (same behaviour as the containers app)

Not high priority, but still worth the effort

https://github.com/bcgov/startup-sample-project-aws-serverless-OIDC/pull/13


Problem

I set plugin and started 1vs1 map registring
I set spawn 1, joinsign.... All things
I left my server after registring and restarted it
I joined again in my server and when i click the joinsign,
It dont clicks! Dont teleports!
I write command /1vs1 arenas and there shows there are 0 arenas!
Fix this please

How are you restarting the server? Using command '/stop'?

@GamakCZ Close this issue, it's work perfectly. don't waste your time with noobies

@LeoBdt same error occours on my SkyWars plugin so I don't know where the error is

@GamakCZ i'm sorry i can't help you for that.... for me your plugin works perfectly

People probably forget to 'savelevel'...

yeah lol


My .NET app pushed in CF but doesnt start

Hi,
My .NET Core Web API app is pushed in cf but fails to start.
I thought it was memory issues so I increased memory in manifest.yml file to 1 GB but still it fails.
 Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs.
2016-08-03T09:23:32.62+0000 [STG/0]      OUT        Telemetry
2016-08-03T09:23:32.62+0000 [STG/0]      OUT        --------------
2016-08-03T09:23:32.62+0000 [STG/0]      OUT        The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include commandline arguments. The data is collected by Microsoft and shared with the community.
2016-08-03T09:23:32.62+0000 [STG/0]      OUT        You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell.
2016-08-03T09:23:32.62+0000 [STG/0]      OUT        You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry.
2016-08-03T09:23:32.62+0000 [STG/0]      OUT        Configuring...
2016-08-03T09:23:32.62+0000 [STG/0]      OUT        -------------------
2016-08-03T09:23:32.62+0000 [STG/0]      OUT        A command is running to initially populate your local package cache, to improve restore speed and enable offline access.

I'll ping the @cloudfoundry/cf-bosh-windows team as they may be able to help.

Thanks!! I also need help on pushing .NET Framework version 4.6 i,e CF mono push command.
If you can guide me or help me on the approach or direct me to the concerned team would be of great help.

@aniljain100 I am assuming you are using the latest (or most stable) version of dotnet core buildpack, are you able to run any of the fixture apps? Looking at the logs, it looks like the error you are receiving is coming from cloudfoundry/executor.

I am sorry I switched from .NET Core to .NET 4.5.2 due to requirement demand. Could you guide me to the right forum or link? I need to use .NET mono build in CF.
Much appreciated.
Thanks

@aniljain100 There has been some effort to run .NET 4.x using mono previously, but I don't believe it's supported nor recommended. If you are using .NET 4, we would recommend deploying a Windows2012R2 stack. Here is a sample app that we run.

@aminjam Thanks for your response.
I think the  link you referred below is for deploying on windows (Correct me if I am wrong)
https://github.com/cloudfoundry/diego-windows-release/blob/master/docs/INSTALL.md
Can you please provide me the link to deploy on Linux?
Thanks

.net 4.6 cannot be deployed on linux. Only a .net core application can be pushed with the .netcore buildpack. For .net 4.6 you need to deploy a windows cell.

@aniljain100 to deploy a .NET 4.5 app on Linux you'll need to use Mono. Mono isn't officially supported, but the community has created a buildpack.

@aniljain100 We don't deploy Windows OS on Linux. The Windows2012R2 installation guide will explain deploying Windows VMs on AWS.  Can you tell us what IaaS are you using (e.g. vsphere, aws, ...)? If you are not using AWS, you should deploy a Windows VM and follow the manual installation to connect the VM to the rest of the CF+Diego assuming you have access to the deployment secrets.

@aminjam Thanks for your response. May be I dint explain it properly. I believe there is a way to add Linux and Windows stacks in cloud foundry. Please refer the attached snapshot. My team mate had done it but unfortunately doesn't remember the commands.
I searched a lot in the net and cloud foundry docs but dint get the procedure.

@aminjam
You are absolutely right. I am referring to:
https://github.com/cloudfoundry/diego-release/blob/524ccd789b78a9add78b58d1a61870ee13f73a75/manifest-generation/stubs-for-cf-release/enable_diego_windows_in_cc.yml
My CF version is 6.20.0+25b1961-2016-06-29.
I have Linux Ubuntu VM. I login to CF and then copy my .NET project into the CF environment. I then execute the cf push command.
I am struck while executing the command because I dont have windows stack:
cf push my-app -s windows2012R2 -b binary_buildpack -p ./my-app/ViewEnvironment/
How do I add it?
In case of .NET Core I used to do dotnet restore, dotnet build and run cf push command and it worked perfect.
I am new to CF. Am I missing something for .NET mono build?

Hi,
Can some one update me on this please ? If I need to give more info let me know.
Thanks

Hi @akbmjain  - I should warn you that I'm not on the Windows team, just an innocent bystander, so please take my recommendations with a grain of salt. 😇
There are 3 ways to run .NET applications on CF.

On the Windows Stack
Using the community supported .net core buildpack
Using the mono buildpack

For 1:
You must follow the instructions linked to above. This includes installing a Windows 2012R2 VM into your environment, and then specifying the stack when pushing. You MUST have a Windows VM for this to work. This is the only recommended way to run Windows applications. (You can also use this to run .net core applications on Windows if you like, but it's more complicated)
For 2:
No Windows VMs required. Just specify the buildpack with -b when doing cf push of your .net core application and it will run on Linux. You do not use the Windows stack. This WILL NOT work for pre-compiled applications or Windows-based applications. It sounds like this is what you're after.
For 3:
I believe there is a mono-based buildpack out there somewhere that will run some applications on Linux, but I don't know where it is or how it works. I would recommend option 1 or 2.
I hope that's helpful!

@sbenario  Thank you for your response :) . I am already on the way going with the 3rd option.
I was going ahead with @aminjam with the questions he had asked which interested me more.
I answered whatever query was asked to me.
@aminjam  Can you please help me.
Thanks

@akbmjain @aniljain100 It actually looks to me like you're in a good spot, if you're moving forward with a community mono buildpack. I'm going to close this issue, since your questions are not directly related to cf-release.
I encourage you to email<EMAIL_ADDRESS>for broader questions around how how to use Cloud Foundry, as the community there is quite responsive and may even have experience with the buildpack you're using.
Another option I recommend is to join the Slack community: http://slack.cloudfoundry.org/
Good luck and thanks for asking such great questions!

@flavorjones Thanks for such a quick and straight response. Appreciate it.
Can you give me the link of mono buildpack community.  May be I am on the wrong one.
I believe you can direct me to the mono buildpack community link.


BUG: Lines metrics are not working

I'm pretty sure that this is because the # of concurrent connections to Augur, either from the client or the server, is limited. Therefore when all of the callbacks to fill in those metrics fire they try to execute at once and a few are denied.
The patch for this is to background the metrics tasks. They're currently non-backgrounded callbacks so when the DB rejects the connection they just exit as failed.
Backgrounding them will require a tiny bit of cache logic but will be a good idea because then they will only ever have to fire once for each repo and be updated on cache restart. When the cache is hot the values per repo will be accessed and returned in constant time.

@JamesKunstle That makes sense, if we cant/dont have time to find a solution in the next few weeks we should temporarily take the metrics off of the hosted instance for OSSNA, RH Summit, etc

@cdolfi Yeah we can do that if need be.

UPDATE:
We want to cache the metrics per repo- e.g. 'total number of commits for each repo selected' and then aggregate those statistics after caching.
Therefore, the queries have to be updated to get the stats per selected repo rather than as one-shot for all repos.

GOAL:
Try to use existing data from queries for metrics rather than using whole new queries.

finished as a part of Welcome page addition


on_body filtering broken

Streaming response bodies in response to certain status codes is broken, particularly with get requests. This is due to the fact that the body is read in perform_request, before the response status and headers are available.
The status code is always null and callbacks that filter on a given status code are never called. Working on a PR that fixes this.

Looks like this is being addressed in #28 and #30


patch for "today" button calls wrong event listener

We patched the behavior of the today button of jQuery-UI and call the selection listener manually. With the fix from #3 the event used for propagating the selection was changed from onSelect to onClose. That broke the today button.

Fixed on master (v1.1.0) and release-1.0.x (v1.0.3)


Lines are not drawn correctly during IME edit line operations

Ported from MSFT: 20973297

The underscores and the cursor bar aren't being transmitted or drawn correctly when working with the IME. Compare to v1 behavior.
I think there's something wrong with the communication of both the underscores and the positioning of the caret after the refactoring to use the unified output buffer. Investigate.

Btw, I was also looking at this at the same time as issue #810, and I managed to get something working as a proof-of-concept, but the solution I had was horrible, and I'm inclined to think that this area of code might need some rearchitecting which is above my pay grade. But if you're desperate for a better-than-nothing solution (assuming you don't already have a plan in mind), I could probably put together a PR with what I've got.

@j4james... Oh, this code is horrible and you're right that it probably needs a rearchitecting, but given that it's the IME in conhost which is an interactive component.... and our roadmap for interactivity is to move it all to Terminal... we're not really likely to rearchitect anything on that side of the fence.
That said, I looked at it this morning and I came up with a solution to the problem. It's hacky too, might even be the same as your proposed idea, but it's probably best if I bless the solution given I'm the one who fubar'd it all up in the first place. I'll send the PR shortly. Let me know how close I was to your idea.


Add Java SDK support for pulumi-grafana repo

This is a general Pulumiverse requirement tracked here:
https://github.com/pulumiverse/infra/issues/44


Fix entrypoint for backup restore

We should follow the common logic used in most popular repositories for restoring data. Let's adapt it to only restore on the first initialization and display a warning if we have a backup but it's already initialized.

Implemented in this pull: https://github.com/manticoresoftware/docker/pull/77

Looks like it's merged, closing the issue


No search box on iOS.

Does not work on iOS. I do not see the search icon in the app bar.

Hmm, do you have a stacktrace or anything potentially? I don't have any iOS devices so I'm not able to debug.


exit status 0 on syntax errors, when reading scrip from stdin

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Hey.
This also seems to go back to the days of powershell.exe and seems particular disturbing.
When running a script with a deliberate syntax error (the -EQfoo):
$ErrorActionPreference = "Stop"; try{ $null -EQfoo $null} catch {exit 44}

like this:
$ pwsh -NonInteractive -NoProfile -Command '$ErrorActionPreference = "Stop"; try{ $null -EQfoo $null} catch {exit 44}' ; echo exit status: $?

The exit status returned by PowerShell is non-zero (as it should be):
ParserError:
Line |
   1 |  $ErrorActionPreference = "Stop"; try{ $null -EQfoo $null} catch {exit …
     |                                              ~~~~~~
     | Unexpected token '-EQfoo' in expression or statement.
exit status: 1

When running it however via stdin like so:
$ { pwsh -NonInteractive -NoProfile -Command - <<'END'
$ErrorActionPreference = "Stop"; try{ $null -EQfoo $null} catch {exit 44}

END
} ; echo exit status: $?

The exit status is 0:
ParserError:
Line |
   1 |  $ErrorActionPreference = "Stop"; try{ $null -EQfoo $null} catch {exit …
     |                                              ~~~~~~
     | Unexpected token '-EQfoo' in expression or statement.
exit status: 0

Expected behavior
use non-zero exit status on syntax error, even when command is read from stdin

Actual behavior
uses 0 as exit status

Error details
No response
Environment data
N/A

Visuals
No response

The good news is I can just refer back to 21808 for much of this.
My explanations often start with PowerShell is not a UNIX shell. UNIX programs are pipe/stream based, PowerShell is record based.
Two more details are significant

in record processing, the failure of one record does not automatically mean abort or fail the following records, each is treated on its own merits
PowerShell does not parse character by character looking for ends of statements then executing them, then going back for more. It is not a UNIX shell, it is record based and attempts to parse the whole record. If that parsing fails then none of the record in executed.

Lets see this in action
pwsh -NonInteractive -NoProfile -Command '-' <<'END'
$ErrorActionPreference = "Stop"; try{ $null -EQfoo $null} catch {exit 44}
$ErrorActionPreference
END

with the result
ParserError:
Line |
   1 |  $ErrorActionPreference = "Stop"; try{ $null -EQfoo $null} catch {exit …
     |                                              ~~~~~~
     | Unexpected token '-EQfoo' in expression or statement.
Continue

What you see is that none of the first record was executed. The assignment of $ErrorActionPreference never happened.
So that record failed and on to the next record which shows the current state of $ErrorActionPreference.
I am not saying that is the official answer but it fits the evidence and lets me sleep at night.

Fundamentally, a parser error cannot be handled with runtime constructs such as $ErrorActionPreference = "Stop" and try / catch.
It is the statement-by-statement, REPL-like processing exhibited by -Command - that isolates a parser error to a given statement, but the fact that a parser error in the last statement doesn't result in a nonzero exit code should indeed be considered a bug, as argued in detail in https://github.com/PowerShell/PowerShell/issues/21808#issuecomment-2103258649

@rhubarb-geek-nz Well I guess my reply would be mostly what I've wrote over in the other ticket, i.e. that it's at least undocumented, that - for -Command and -File make them behave completely differently than with values other than -... but more practically spoken: it seems not so good design with, to have a single option, e.g. -Command behave so dramatically different just by changing the source of the data.
If there'd really be a need for a mode of that semi-interactive parsing, it would IMO be better to have separate option for that and not for -Command which behaves just as expected with real commands given.
@mklement0 My main point here wasn't about the try not working (which I think is obvious in case of a syntax error), it was about 0 being returned despite the syntax error... so a caller has no chance of knowing that it didn't work.

so a caller has no chance of knowing that it didn't work.

Yes. That's why I said that what you've uncovered should indeed be considered a bug.

The Interactive WG discussed this. The feature -Command -  is designed to imitate a REPL, so the behavior is by design. While we understand and agree that this feature should have been appropriately named to indicate the functionality it offers (which is unfortunately different than how most applications handle -), we cannot change this now.

Understood regarding the larger picture, @SeeminglyScience, but the issue at hand has a narrower focus, and I do believe that the issue it raises is worth fixing:
Given that there is a(n obscure) way to make -Command - work in a non-REPL fashion, it would still make sense to reflect a parse error in the CLI's exit code.
If the following outputs 1:
pwsh -noprofile -c "& { 1 /  }"; $LASTEXITCODE

so should the following - yet it currently outputs 0:
@'
& { 1 / }

'@ | pwsh -noprofile -c -; $LASTEXITCODE

@philcerf, to bring closure to the specific aspect of the -Command - behavior that prompted this issue (the exit code):
As it turns out, the observed behavior is actually consistent with the pseudo-interactive, REPL-like behavior (which has just been declared to be by design), and the reason is now mentioned in the doc-update PR that @sdwheeler has since submitted:

An interactively submitted, syntactically broken command - i.e. one that cannot even be parsed - does not cause $? to be set: the previous (non-broken) command's $? value remains in effect.

However, with  -Command it is the value of $? value after the last statement executed that translates into the process exit code ($true -> 0, $false -> 1); thus, if $? happened to be $true before executing the syntactically broken command, 0 ends up getting reported as the exit code.

A simple example:
@'
# If you uncomment the following statement, $LASTEXITCODE will be 1, because it is then
# this command's $? value that determines the exit code.
# 1 / 0

& {
  1 /  # This syntactically broken command has NO impact on the exit code.
}

'@ | pwsh -NoProfile -Command -; $LASTEXITCODE  # -> 0(!)

It follows that if you use the workaround to make -Command - behave like a script (enclose all code in & { ... } and append an extra newline), $LASTEXITCODE will always be 0 if the code is syntactically broken.

While the -Command behavior is consistent with the interactive experience it replicates, you could argue that it would make more sense to make parsing errors cause $? to reflect $false too, not just runtime errors.
While this wouldn't be much of an improvement in a true interactive session, it would help in the -Command - case when -Command - is used with the behave-like-a-script workaround.

TBH, I kinda stopped following these issues a bit, because the general way they seem to be dealt with is:
defining a completely broken behaviour as defective by design and thus allegedly valid.
I mean for me it's not really a big problem, since I simply pass my commands now as a multiline strings argument to -Command and with that, behaviour seems to be  more or less what one would expect and what makes sense.
But I guess more people will fall into the traps involved when commands are read (non-interactively) from stdin with a behaviour that probably makes no sense in any situation.
Anyway, thanks for the workaround suggestions, but I rather go by my multiline string argument, because there's always the danger that there's more weird behaviour with the semi-interactive mode which no one can reasonably expect - I mean I found already a handful in just a few days.
Thanks,
Philippe.

@philcerf, yes, using -Command with the code as a direct string argument is the safest choice.
The current behavior does have its uses, but they're exotic and to me they never should have been exposed via -File - or -Command -, given the different behavior that users justifiably expect (at least in the -File - case; from the read-all-input-and-treat-it-as-a-script expectation, there's no need to also support -Command -).
I just remembered that there was a discussion about providing a new CLI entry point under a different name, say, pwsh-np,  originally prompted by not wanting to load profiles by default (another notably deviation from what POSIX-compatible shells do).
Such a new CLI entry point would be an opportunity to address a number of issues with the current CLI, compiled in https://github.com/PowerShell/PowerShell/discussions/23872 (which was just converted to a discussion from #8072, so I'm not holding my breath), to which I've just added the issue at hand.


React Native Bitmovin Google Chrome Casting?

is there any way we can enable bitmovin google chrome casting or it is in development?

Hi @bll-prataps,
This is not yet supported (see also https://github.com/bitmovin/bitmovin-player-react-native#feature-support). This isn't currently being worked on within Bitmovin.
We'd be happy to take contributions, otherwise we'll let you know when this becomes available.

Hi @bll-prataps
Casting has now been added to the RN wrapper.
Please see the features section at https://developer.bitmovin.com/playback/docs/react-native-introduction#features
Should you have any other feature suggestions, please check out https://developer.bitmovin.com/playback/docs/react-native-introduction#not-seeing-the-features-youre-looking-for for details of how to contribute or raise a suggestion.
Many thanks,
James

Hi @

Hi @bll-prataps
Hot off the press - Please find here a link to the related casting documentation  https://developer.bitmovin.com/playback/docs/enabling-google-cast-support


[CIVP-12351] BUG make sure to pass proper defaults for PARAMS and CVPARAMS

This PR fixes a bug where instantiating a ModelPipeline instance from a CivisML model run with a templated script fails due to improper defaults for the PARAMS and CVPARAMS keys.

@stephen-hoover back to you!