Canvas drawImage not working from background（on Android）

Canvas drawImage not working from background（on Android）！

@Sulisong
can you provide your flutter doctor -v, your flutter run  -v and a minimal reproducible code sample

@Sulisong
can you provide your flutter doctor -v, your flutter run  -v and a minimal reproducible code sample

flutter doctor -v：
`[√] Flutter (Channel beta, 1.25.0-8.3.pre, on Microsoft Windows [Version 10.0.19042.746], locale zh-CN)
• Flutter version 1.25.0-8.3.pre at C:\flutter
• Framework revision 5d36f2e7f5 (13 days ago), 2021-01-14 15:57:49 -0800
• Engine revision 7a8f8ca02c
• Dart version 2.12.0 (build 2.12.0-133.7.beta)
• Pub download mirror https://mirrors.tuna.tsinghua.edu.cn/dart-pub
• Flutter download mirror https://mirrors.tuna.tsinghua.edu.cn/flutter
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at F:\Android\Sdk
• Platform android-30, build-tools 30.0.3
• ANDROID_HOME = F:\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] Connected device (1 available)
• M2011K2C (mobile) • 89e82f8 • android-arm64 • Android 11 (API 30)
demo：
• No issues found!
`
`import 'dart:ui';
class TestCanvas {
//The background operation returns blank, but the foreground operation is normal
Future runTest(Image image) async {
final recorder = PictureRecorder();
final canvas = Canvas(recorder);
//When you run this method, you need to run it manually in the background, so it runs with a delay of 8 seconds
return await Future.delayed(Duration(seconds: 8), () async {
canvas.drawImage(image, Offset(0, 0), Paint());
return await recorder.endRecording().toImage(100, 100);
});
}
}`

flutter doctor -v：
`[√] Flutter (Channel beta, 1.25.0-8.3.pre, on Microsoft Windows [Version 10.0.19042.746], locale zh-CN)
• Flutter version 1.25.0-8.3.pre at C:\flutter
• Framework revision 5d36f2e7f5 (13 days ago), 2021-01-14 15:57:49 -0800
• Engine revision 7a8f8ca02c
• Dart version 2.12.0 (build 2.12.0-133.7.beta)
• Pub download mirror https://mirrors.tuna.tsinghua.edu.cn/dart-pub
• Flutter download mirror https://mirrors.tuna.tsinghua.edu.cn/flutter
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at F:\Android\Sdk
• Platform android-30, build-tools 30.0.3
• ANDROID_HOME = F:\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] Connected device (1 available)
• M2011K2C (mobile) • 89e82f8 • android-arm64 • Android 11 (API 30)
demo：
• No issues found!
`
`import 'dart:ui';
class TestCanvas {
//The background operation returns blank, but the foreground operation is normal
Future runTest(Image image) async {
final recorder = PictureRecorder();
final canvas = Canvas(recorder);
//When you run this method, you need to run it manually in the background, so it runs with a delay of 8 seconds
return await Future.delayed(Duration(seconds: 8), () async {
canvas.drawImage(image, Offset(0, 0), Paint());
return await recorder.endRecording().toImage(100, 100);
});
}
}`

flutter doctor -v：
`[√] Flutter (Channel beta, 1.25.0-8.3.pre, on Microsoft Windows [Version 10.0.19042.746], locale zh-CN)
• Flutter version 1.25.0-8.3.pre at C:\flutter
• Framework revision 5d36f2e7f5 (13 days ago), 2021-01-14 15:57:49 -0800
• Engine revision 7a8f8ca02c
• Dart version 2.12.0 (build 2.12.0-133.7.beta)
• Pub download mirror https://mirrors.tuna.tsinghua.edu.cn/dart-pub
• Flutter download mirror https://mirrors.tuna.tsinghua.edu.cn/flutter
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at F:\Android\Sdk
• Platform android-30, build-tools 30.0.3
• ANDROID_HOME = F:\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] Connected device (1 available)
• M2011K2C (mobile) • 89e82f8 • android-arm64 • Android 11 (API 30)
• No issues found!
`
demo：
`import 'dart:ui';
class TestCanvas {
//The background operation returns blank, but the foreground operation is normal
Future runTest(Image image) async {
final recorder = PictureRecorder();
final canvas = Canvas(recorder);
//When you run this method, you need to run it manually in the background, so it runs with a delay of 8 seconds
return await Future.delayed(Duration(seconds: 8), () async {
canvas.drawImage(image, Offset(0, 0), Paint());
return await recorder.endRecording().toImage(100, 100);
});
}
}`

@Sulisong
can you provide your flutter doctor -v, your flutter run -v and a minimal reproducible code sample

flutter doctor -v：
`[√] Flutter (Channel beta, 1.25.0-8.3.pre, on Microsoft Windows [Version 10.0.19042.746], locale zh-CN)
• Flutter version 1.25.0-8.3.pre at C:\flutter
• Framework revision 5d36f2e7f5 (13 days ago), 2021-01-14 15:57:49 -0800
• Engine revision 7a8f8ca02c
• Dart version 2.12.0 (build 2.12.0-133.7.beta)
• Pub download mirror https://mirrors.tuna.tsinghua.edu.cn/dart-pub
• Flutter download mirror https://mirrors.tuna.tsinghua.edu.cn/flutter
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at F:\Android\Sdk
• Platform android-30, build-tools 30.0.3
• ANDROID_HOME = F:\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] Connected device (1 available)
• M2011K2C (mobile) • 89e82f8 • android-arm64 • Android 11 (API 30)
• No issues found!
`
demo：
`import 'dart:ui';
class TestCanvas {
//The background operation returns blank, but the foreground operation is normal
Future runTest(Image image) async {
final recorder = PictureRecorder();
final canvas = Canvas(recorder);
//When you run this method, you need to run it manually in the background, so it runs with a delay of 8 seconds
return await Future.delayed(Duration(seconds: 8), () async {
canvas.drawImage(image, Offset(0, 0), Paint());
return await recorder.endRecording().toImage(100, 100);
});
}
}`

@Sulisong
can you provide your flutter doctor -v, your flutter run -v and a minimal reproducible code sample

@iapicca When using ‘--enable-software-rendering’ it can be used normally, but this is not a solution.You can look at my last reply.

@iapicca When using ‘--enable-software-rendering’ it can be used normally, but this is not a solution.You can look at my last reply.

@Sulisong
I'm not sure how well your sample is reproducible, it seems more a snippet than a minimal reproducible code sample
anyhow I believe I can spot a problem with dart:ui and Image class, does this help ?
-import 'dart:ui';
+import 'dart:ui' as ui;

class TestCanvas {
- Future runTest(Image image) async {
+ Future runTest(ui.Image image) async {
-   final recorder = PictureRecorder();
+   final recorder = ui.PictureRecorder();
    final canvas = Canvas(recorder);
    return await Future.delayed(Duration(seconds: 8), () async {
      canvas.drawImage(image, Offset(0, 0), Paint());
      return await recorder.endRecording().toImage(100, 100);
    });
  }
}

@Sulisong
I'm not sure how well your sample is reproducible, it seems more a snippet than a minimal reproducible code sample
anyhow I believe I can spot a problem with dart:ui and Image class, does this help ?
-import 'dart:ui';
+import 'dart:ui' as ui;

class TestCanvas {
- Future runTest(Image image) async {
+ Future runTest(ui.Image image) async {
-   final recorder = PictureRecorder();
+   final recorder = ui.PictureRecorder();
    final canvas = Canvas(recorder);
    return await Future.delayed(Duration(seconds: 8), () async {
      canvas.drawImage(image, Offset(0, 0), Paint());
      return await recorder.endRecording().toImage(100, 100);
    });
  }
}

@iapicca When exporting 100 size is normal, exporting 1000 is blank
`import 'dart:ui' as ui;
class TestCanvas {
//The background operation returns blank, but the foreground operation is normal
Future<ui.Image> runTest(ui.Image image) async {
final recorder = ui.PictureRecorder();
final canvas = ui.Canvas(recorder);
//When you run this method, you need to run it manually in the background, so it runs with a delay of 8 seconds
return await Future.delayed(Duration(seconds: 8), () async {
canvas.drawImage(image, ui.Offset(0, 0), ui.Paint());
//When exporting 100 size is normal, exporting 1000 is blank
return await recorder.endRecording().toImage(1000, 1000);
});
}
}`

@iapicca When exporting 100 size is normal, exporting 1000 is blank
`import 'dart:ui' as ui;
class TestCanvas {
//The background operation returns blank, but the foreground operation is normal
Future<ui.Image> runTest(ui.Image image) async {
final recorder = ui.PictureRecorder();
final canvas = ui.Canvas(recorder);
//When you run this method, you need to run it manually in the background, so it runs with a delay of 8 seconds
return await Future.delayed(Duration(seconds: 8), () async {
canvas.drawImage(image, ui.Offset(0, 0), ui.Paint());
//When exporting 100 size is normal, exporting 1000 is blank
return await recorder.endRecording().toImage(1000, 1000);
});
}
}`

`<import 'dart:ui' as ui;
class TestCanvas {
//The background operation returns blank, but the foreground operation is normal
Future<ui.Image> runTest(ui.Image image) async {
final recorder = ui.PictureRecorder();
final canvas = ui.Canvas(recorder);
//When you run this method, you need to run it manually in the background, so it runs with a delay of 8 seconds
return await Future.delayed(Duration(seconds: 8), () async {
canvas.drawImage(image, ui.Offset(0, 0), ui.Paint());
//When exporting 100 size is normal, exporting 1000 is blank
return await recorder.endRecording().toImage(1000, 1000);
});
}
}>`

`<import 'dart:ui' as ui;
class TestCanvas {
//The background operation returns blank, but the foreground operation is normal
Future<ui.Image> runTest(ui.Image image) async {
final recorder = ui.PictureRecorder();
final canvas = ui.Canvas(recorder);
//When you run this method, you need to run it manually in the background, so it runs with a delay of 8 seconds
return await Future.delayed(Duration(seconds: 8), () async {
canvas.drawImage(image, ui.Offset(0, 0), ui.Paint());
//When exporting 100 size is normal, exporting 1000 is blank
return await recorder.endRecording().toImage(1000, 1000);
});
}
}>`

testing this [code sample](https://gist.github.com/iapicca/a97bbe754cf0b6a7781159fcdeaf3da6

 code sample
import 'dart:async';
import 'dart:ui' as ui;

import 'package:flutter/material.dart';

const _url =
    'https://cdn.omlet.co.uk/images/originals/worlds_most_popular_pet_bird.jpg';

class NetworkImageRecorder {
  final NetworkImage image;
  const NetworkImageRecorder({this.image});

  Future<Image> call() async {
    final completer = Completer<ImageInfo>();
    image.resolve(ImageConfiguration()).addListener(ImageStreamListener(
        (ImageInfo info, bool _) => completer.complete(info)));
    final info = await completer.future;
    final uiImage = info.image;
    final recorder = ui.PictureRecorder();
    Canvas(recorder)..drawImage(uiImage, Offset.zero, Paint());
    final picture = recorder.endRecording();
    final pngBytes = await (await picture.toImage(1000, 1000))
        .toByteData(format: ui.ImageByteFormat.png);
    return Image.memory(pngBytes.buffer.asUint8List());
  }
}

const _decoder = NetworkImageRecorder(image: NetworkImage(_url));

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(
        home: Material(
          child: Center(
            child: FutureBuilder<Image>(
              future: _decoder(),
              builder: (context, image) => !image.hasData
                  ? const CircularProgressIndicator()
                  : image.hasError
                      ? const Icon(Icons.error)
                      : image.data,
            ),
          ),
        ),
      );
}

with the latest master on a pixel 3a

doctor
[✓] Flutter (Channel master, 1.26.0-13.0.pre.194, on Linux, locale en_US.UTF-8)
    • Flutter version 1.26.0-13.0.pre.194 at /home/francesco/snap/flutter/common/flutter
    • Framework revision 71aec53acb (11 hours ago), 2021-01-26 21:53:04 -0800
    • Engine revision b11bef83a5
    • Dart version 2.12.0 (build 2.12.0-263.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /home/francesco/Android/Sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_SDK_ROOT = /home/francesco/Android/Sdk
    • Java binary at: /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /snap/bin/chromium

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] Connected device (3 available)
    • Pixel 3a (mobile) • 965AY0WP5C • android-arm64  • Android 11 (API 30)
    • Linux (desktop)   • linux      • linux-x64      • Linux
    • Chrome (web)      • chrome     • web-javascript • Chromium 88.0.4324.96 snap

! Doctor found issues in 1 category.

everything seems to work as intended

screenshot

testing this [code sample](https://gist.github.com/iapicca/a97bbe754cf0b6a7781159fcdeaf3da6

 code sample
import 'dart:async';
import 'dart:ui' as ui;

import 'package:flutter/material.dart';

const _url =
    'https://cdn.omlet.co.uk/images/originals/worlds_most_popular_pet_bird.jpg';

class NetworkImageRecorder {
  final NetworkImage image;
  const NetworkImageRecorder({this.image});

  Future<Image> call() async {
    final completer = Completer<ImageInfo>();
    image.resolve(ImageConfiguration()).addListener(ImageStreamListener(
        (ImageInfo info, bool _) => completer.complete(info)));
    final info = await completer.future;
    final uiImage = info.image;
    final recorder = ui.PictureRecorder();
    Canvas(recorder)..drawImage(uiImage, Offset.zero, Paint());
    final picture = recorder.endRecording();
    final pngBytes = await (await picture.toImage(1000, 1000))
        .toByteData(format: ui.ImageByteFormat.png);
    return Image.memory(pngBytes.buffer.asUint8List());
  }
}

const _decoder = NetworkImageRecorder(image: NetworkImage(_url));

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(
        home: Material(
          child: Center(
            child: FutureBuilder<Image>(
              future: _decoder(),
              builder: (context, image) => !image.hasData
                  ? const CircularProgressIndicator()
                  : image.hasError
                      ? const Icon(Icons.error)
                      : image.data,
            ),
          ),
        ),
      );
}

with the latest master on a pixel 3a

doctor
[✓] Flutter (Channel master, 1.26.0-13.0.pre.194, on Linux, locale en_US.UTF-8)
    • Flutter version 1.26.0-13.0.pre.194 at /home/francesco/snap/flutter/common/flutter
    • Framework revision 71aec53acb (11 hours ago), 2021-01-26 21:53:04 -0800
    • Engine revision b11bef83a5
    • Dart version 2.12.0 (build 2.12.0-263.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /home/francesco/Android/Sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_SDK_ROOT = /home/francesco/Android/Sdk
    • Java binary at: /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /snap/bin/chromium

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] Connected device (3 available)
    • Pixel 3a (mobile) • 965AY0WP5C • android-arm64  • Android 11 (API 30)
    • Linux (desktop)   • linux      • linux-x64      • Linux
    • Chrome (web)      • chrome     • web-javascript • Chromium 88.0.4324.96 snap

! Doctor found issues in 1 category.

everything seems to work as intended

screenshot

@iapicca You can also try to increase the delay. Go home immediately after running, wait for the delay to complete and then return to the App to view.It is possible to run in the foreground, and a blank image is generated when the application is in the background

@iapicca You can also try to increase the delay. Go home immediately after running, wait for the delay to complete and then return to the App to view.It is possible to run in the foreground, and a blank image is generated when the application is in the background

@iapicca You can try adding 8 seconds delay. Return to the desktop immediately after running the application, wait for the delay to complete and then return to the App to view (provided that you do not use --enable-software-rendering)

@iapicca You can try adding 8 seconds delay. Return to the desktop immediately after running the application, wait for the delay to complete and then return to the App to view (provided that you do not use --enable-software-rendering)

lass NetworkImageRecorder {
  final NetworkImage image;
  const NetworkImageRecorder({this.image});

  Future<Image> call() async {
    final completer = Completer<ImageInfo>();
    final recorder = ui.PictureRecorder();

    image.resolve(ImageConfiguration()).addListener(
        ImageStreamListener((info, _) => completer.complete(info)));

+    await Future.delayed(const Duration(seconds: 8));

    Canvas(recorder)
      ..drawImage((await completer.future).image, Offset.zero, Paint());

    return Image.memory(
        (await (await recorder.endRecording().toImage(1000, 1000))
                .toByteData(format: ui.ImageByteFormat.png))
            .buffer
            .asUint8List());
  }
}

I've tried, but no changes, are you getting the error with my code sample?
If the code sample I provided doesn't represent the issue you are describing
can you please provide  a complete runnable minimal reproducible code sample,
not just a partial snippet of your code

lass NetworkImageRecorder {
  final NetworkImage image;
  const NetworkImageRecorder({this.image});

  Future<Image> call() async {
    final completer = Completer<ImageInfo>();
    final recorder = ui.PictureRecorder();

    image.resolve(ImageConfiguration()).addListener(
        ImageStreamListener((info, _) => completer.complete(info)));

+    await Future.delayed(const Duration(seconds: 8));

    Canvas(recorder)
      ..drawImage((await completer.future).image, Offset.zero, Paint());

    return Image.memory(
        (await (await recorder.endRecording().toImage(1000, 1000))
                .toByteData(format: ui.ImageByteFormat.png))
            .buffer
            .asUint8List());
  }
}

I've tried, but no changes, are you getting the error with my code sample?
If the code sample I provided doesn't represent the issue you are describing
can you please provide  a complete runnable minimal reproducible code sample,
not just a partial snippet of your code

@iapicca I want to confirm two conditions: 1 (--enable-software-rendering is not enabled) 2 (Run ‘drawImage’ while the software is running in the background). My image is blank in this case
#73675 Same as this

@iapicca I want to confirm two conditions: 1 (--enable-software-rendering is not enabled) 2 (Run ‘drawImage’ while the software is running in the background). My image is blank in this case
#73675 Same as this

@iapicca `
import 'package:android_intent/android_intent.dart';
import 'dart:async';
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
const _url =
'https://cdn.omlet.co.uk/images/originals/worlds_most_popular_pet_bird.jpg';
class NetworkImageRecorder {
final NetworkImage image;
const NetworkImageRecorder({this.image});
Future call() async {
final completer = Completer();
final recorder = ui.PictureRecorder();
image.resolve(ImageConfiguration()).addListener(ImageStreamListener(
    (ImageInfo info, bool _) => completer.complete(info)));

   //android_intent: ^0.3.7+7
 AndroidIntent(
   action: 'android.intent.action.MAIN',
   category: 'android.intent.category.HOME').launch();

await Future.delayed(const Duration(seconds: 2));
Canvas(recorder)
  ..drawImage((await completer.future).image, Offset.zero, Paint());

return Image.memory(
    (await (await recorder.endRecording().toImage(1000, 1000))
            .toByteData(format: ui.ImageByteFormat.png))
        .buffer
        .asUint8List());

}
}
const _decoder = NetworkImageRecorder(image: NetworkImage(_url));
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) => MaterialApp(
home: Material(
child: Center(
child: FutureBuilder(
future: _decoder(),
builder: (context, image) => !image.hasData
? const CircularProgressIndicator()
: image.hasError
? const Icon(Icons.error)
: image.data,
),
),
),
);
}
`

@iapicca `
import 'package:android_intent/android_intent.dart';
import 'dart:async';
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
const _url =
'https://cdn.omlet.co.uk/images/originals/worlds_most_popular_pet_bird.jpg';
class NetworkImageRecorder {
final NetworkImage image;
const NetworkImageRecorder({this.image});
Future call() async {
final completer = Completer();
final recorder = ui.PictureRecorder();
image.resolve(ImageConfiguration()).addListener(ImageStreamListener(
    (ImageInfo info, bool _) => completer.complete(info)));

   //android_intent: ^0.3.7+7
 AndroidIntent(
   action: 'android.intent.action.MAIN',
   category: 'android.intent.category.HOME').launch();

await Future.delayed(const Duration(seconds: 2));
Canvas(recorder)
  ..drawImage((await completer.future).image, Offset.zero, Paint());

return Image.memory(
    (await (await recorder.endRecording().toImage(1000, 1000))
            .toByteData(format: ui.ImageByteFormat.png))
        .buffer
        .asUint8List());

}
}
const _decoder = NetworkImageRecorder(image: NetworkImage(_url));
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) => MaterialApp(
home: Material(
child: Center(
child: FutureBuilder(
future: _decoder(),
builder: (context, image) => !image.hasData
? const CircularProgressIndicator()
: image.hasError
? const Icon(Icons.error)
: image.data,
),
),
),
);
}
`

@Sulisong
oh sorry, I missed the running in background part, in this case seems a duplicate of https://github.com/flutter/flutter/issues/64558

I want to confirm two conditions:

(--enable-software-rendering is not enabled)
(Run ‘drawImage’ while the software is running in the background).

@Sulisong
oh sorry, I missed the running in background part, in this case seems a duplicate of https://github.com/flutter/flutter/issues/64558

I want to confirm two conditions:

(--enable-software-rendering is not enabled)
(Run ‘drawImage’ while the software is running in the background).

@iapicca Is this a bug? Is there currently any way to fix it

@iapicca Is this a bug? Is there currently any way to fix it

@Sulisong
Since your issue resembles https://github.com/flutter/flutter/issues/73675 which is also related to Canvas.drawImage not working when app resumes from background, I am going ahead and closing this as duplicate in favor or above (https://github.com/flutter/flutter/issues/73675).
If you disagree, write in comments and I'll reopen it.
The other issue, https://github.com/flutter/flutter/issues/64558, doesn't seem to make use of Canvas.drawImage and has been labeled for ios.

@Sulisong
Since your issue resembles https://github.com/flutter/flutter/issues/73675 which is also related to Canvas.drawImage not working when app resumes from background, I am going ahead and closing this as duplicate in favor or above (https://github.com/flutter/flutter/issues/73675).
If you disagree, write in comments and I'll reopen it.
The other issue, https://github.com/flutter/flutter/issues/64558, doesn't seem to make use of Canvas.drawImage and has been labeled for ios.


Add weather icons to the Schedule and Team Schedule pages

I saw a lot of people asking for this information on the SIBR discord this morning, but it's currently only easily availible on the janky schedule spreadsheet that's pinned in the main discord.

Let me know what you think! Totally happy to make changes to code layout/styling/etc. This is my first contribution so let me know what fits best with your project! I thought about adding a script to calculate the WEATHERS array, but since I sourced it by just putting a breakpoint into the main site JS, I don't think this information is easily obtainable by script 😔. Let me know if you can think of a better way!
For icons, this uses the same react-icons depedency that blaseball.com uses. This makes things very easy, because I can just map from the displayName of the Blaseball.com React component to the corresponding react-icons component name.

The specific code I ran to generate the weathers array was Object.fromEntries(ye.map((o, i) => [i, {...o, icon: o.icon.type.displayName}]))

This probably shouldn't (by default) show future weather beyond the next game.

After some discussion in the SIBR discord, i'm working on adding a forbidden knowledge opt-in toggle to the footer of the page.

@mjhale I added and ran prettier based on your feedback on Discord, lmk what you think!


Context menu + FOV preformance issue.

Description

Opening the context menu on a stacked items cause performance drop. But toggling FOV sort of "fix" this.
The video below shows how to replicate this.
https://user-images.githubusercontent.com/91910481/149550878-4f40c6d1-887d-4b3e-ba36-1fa2711fc24a.mp4

Yeah it checks if the entity is visible and removes it from the menu if it isn't (e.g., if you rounded a corner).
toggling FOV means it just skips that check altogether, so it makes sense that it removes the performance hit.
Never really though about what would happen if there are far too many entities in one spot.
I guess the check can just be done less frequently / optimized somehow? Or removed altogether.

Should be significantly better now.


Automatic download

Jello there
Want to ask would it be possible to get this script work in loop monitoring users list and any new tweet contain a video from anyone name/user on the list the script will download that video
In downloads folder in this format
/home/downloads/usernick/video file - dated-ext
Thanks and hope this suggestion catch your eyes and made a road map to do it

Hi, thanks for your question.
First, I don't expect to add this feature to this project.  I intend this project to provide one specific bit of functionality - that is, to download a video from a tweet.  An automated video downloader seems like it might be a useful thing, but it is not the purpose of this project.
Second, this project is nearly ready / able to become a library that could be installed via pip.  Once that is done I think this project could be a useful component of an automated video downloader that I see you describing.
Third, how I would approach your idea is: get a list of the user's tweets, check the metadata of each tweet to see if it contains a video, if the tweet does contain a video then supply it to twitter-video-dl.
Finally, if you want to take this on and ask me questions about using this project as a library, feel free (email inteoryx at protonmail dot com).  Likewise contact me if you think money might be involved in any way.  For example, if you wanted the automated twitter video download thing as a part of a project that might make money - then I could definitely help out / get this done quite quickly.   Other than that, I hope I've addressed your question.
Thanks!


Why don't creat a discord group~

Currently, there is not enough demand yet for Mecha or my other tools to warrant a Discord server.
Thank you for the suggestion though, I will reconsider it.


Strategies page broken in website when navigated directly to

Btw I couldn't find the website's repo so feel free to link me to there.
If you navigate directly to passportjs.org/packages you'll be greeted by a Not Found page.
Found this while reading nest js auth docs.
Expected behavior
The page is shown
Actual behavior
not found
Steps to reproduce
Just follow the link
Environment

Operating System: Windows 10
Google chrome

I think this package is not longer being maintained


Add proposed logo

fixes #12  but might need further tweaks

I've opened an issue requesting a logo here: https://github.com/exercism/website-icons/issues/9

@kytrinyx - Ah - does it not just use whats in the /img then?

No, sorry--that was the old site (and I've yet to clean up all the documentation to remove the old instructions).


Remove src/allow-implicit-any-for-other-modules.d.ts

I think this file is no longer needed, as it was added to compensate for ion-js's IonLongInt/BigInteger classes, which have since been removed.

duplicate of #7, closing


refactor: reusable kebab on title description display card

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] (if relevant) I have tested this PR in all supported browsers.
[ ] (if relevant) I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #3855

PR #3857

PR #3858   👈

This comment was auto-generated by Graphite.


Mixed Content Blocked

jquery.atmosphere.js:344 Mixed Content: The page at 'https://MYURL/' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://<IP_ADDRESS>:8080/rest/items/KanKun?X-Atmosphere-tracking-id=b6186e40-0ec8-a407-4db4-6461c99a672e&X-Atmosphere-Framework=0.9&X-Atmosphere-Transport=websocket&X-Cache-Date=0&Accept=application%2Fjson'. This request has been blocked; this endpoint must be available over WSS.
How i car resolve this error?
thanks

The problem is caused to NGINX https proxy.
Solved going trough http instead of https.


Intro volume drivers in dockervolumes.md

docs/userguide/containers/dockervolumes.md does a good job at introducing users to volumes but it does not mention volume drivers. This PR introduces just enough information for using volume drivers for data volumes.

Signed-off-by: Ryan Wallner<EMAIL_ADDRESS>

ping @thaJeztah, @moxiegirl, @vdemeester

@calavera yup, have some suggestions ready, but not posted yet, will do so tomorrow :sweat_smile:

@thaJeztah Thanks! looking forward to your suggestions. Treat it as a rough draft, just wanted to get the ball rolling on adding the content.  Cheers

Sorry for the delay, @wallnerryan forgot I had this on my other computer. Here was a scratch I had there;
### Mount a shared-storage volume as a data volume

In addition to mounting a host directory in your container, some Docker
[volume plugins](../../extend/plugins_volume.md) allow you to
provision and mount shared storage, such as iSCSI, NFS, or FC.

A benefit of using shared volumes is that they are host-independent. This
means that a volume can be made available on any host that a container is
started on as long as it has access to the shared storage backend, and has
the plugin installed.

One way to use volume drivers is through the `docker run` command.
Volume drivers create volumes by name, instead of by path like in
the other examples.

The following command creates a named volume, called `my-named-volume`,
using the `flocker` volume driver, and makes it available within the container
at `/opt/webapp`:

```bash
$ docker run -d -P \
  --volume-driver=flocker \
  -v my-named-volume:/opt/webapp \
  --name web training/webapp python app.py
```

You may also use the `docker volume create` command, to create a volume before
using it in a container.

The following example also creates the `my-named-volume` volume, this time
using the `docker volume create` command.

```bash
$ docker volume create -d flocker --name my-named-volume -o size=20GB
$ docker run -d -P \
  -v my-named-volume:/opt/webapp \
  --name web training/webapp python app.py
```

A list of available plugins, including volume plugins, is available
[here](../../extend/plugins.md).

@thaJeztah thanks! I like your suggestions. I have updated the PR. Let me know if you need me squash commits or anything. Cheers.

Yes, please squash your commits :+1:

LGTM after commits are squased

LGTM 🐯

@thaJeztah squashed :+1:

@wallnerryan thanks :wink:

awesome! merging


FreeRDP-shadow-cli error regarding syncing screens

Hello!
When I ran freerdp-shadow-cli.exe and connected the client to server, the client side black screened and then exited with error, and I got the following on my shadow server side:

My freerdp is the most recent master branch. I used VMware fusion to set up a win7 system and on it, I ran FreeRDP on VS2019 with x64-Debug and Ninja as the cmake generator. I am trying to connect to the shadow server from Microsoft Remote Desktop beta on my macOS Mojave.
When I tried to debug it, I found that upon reaching fastpath_recv_input_event in libfreerdp\core\fastpath.c, in the FASTPATH_INPUT_EVENT_SYNC case, the program goes to shadow_input_synchronize_event in server\shadow\shadow_input.c. In this function, because client->mayInteract is true, it doesn't enter the if (!client->mayInteract). Instead it goes to the return, which calls win_shadow_input_synchronize_event in server\shadow\Win\win_shadow.c, and this function immediately returns 0. From here, a series of returning false happens, leading to the errors I got above.
I was wondering how the program can get past this point and continue running. And I am also unsure what the root of the problem is. I'm not sure at what point should client->mayInteract become false (since it is initialized to true), or if it even should turn to false. Or is it the problem with my cmake parameters?
The cmake parameters I turned on in the cmake setting section of VS are: WITH_CLIENT_INTERFACE, WITH_CLIENT_CHANNELS, WITH_SSE2, WITH_SERVER_INTERFACE, WITH_SERVER_CHANNELS, WITH_SERVER, WITH_OPENSSL, WITH_NATIVE_SSPI, WITH_MEDIA_FOUNDATION, WITH_MANPAGES, WITH_CLIENT, WITH_CLANG_FORMAT, WITH_CHANNELS, WITH_CCACHE, CHANNEL_RAIL_CLIENT, CHANNEL_RAIL, CHANNEL_PRINTER_CLIENT, CHANNEL_PRINTER, CHANNEL_GEOMETRY_CLIENT, CHANNEL_GEOMETRY, CHANNEL_ENCOMSP_SERVER, CHANNEL_ENCOMSP_CLIENT, CHANNEL_ENCOMSP, CHANNEL_ECHO_SERVER, CHANNEL_ECHO_CLIENT, CHANNEL_ECHO, CHANNEL_DRIVE_CLIENT, CHANNEL_DRIVE, BUILTIN_CHANNELS, CHANNEL_AUDIN_CLIENT, CHANNEL_AUDIN_SERVER, CHANNEL_CLIPRDR, CHANNEL_CLIPRDR_CLIENT, CHANNEL_DISP, CHANNEL_DISP_CLIENT, CHANNEL_DRDYNVC, CHANNEL_DRDYNVC_CLIENT, CHANNEL_DRDYNVC_SERVER, CHANNEL_CLIPRDR_SERVER, WITH_WINMM, CHANNEL_RDPDR, CHANNEL_RDPDR_SERVER,VENDOR=FreeRDP, PRODUCT=FreeRDP, CMAKE_MAKE_PROGRAM=ninja.exe, CMAKE_INSTALL_PREFIX=x64-debug, CMAKE_BUILD_TYPE=Debug, CHANNEL_VIDEO_CLIENT, CHANNEL_VIDEO, CHANNEL_SMARTCARD_CLIENT, CHANNEL_RDPEI, CHANNEL_RDPEI_CLIENT, CHANNEL_RDPGFX, CHANNEL_RDPFGX_CLIENT, CHANNEL_RDPDR_CLIENT, CHANNEL_RDPSND, CHANNEL_RDPSND_SERVER, CHANNEL_REMDESK, CHANNEL_REMDESK_CLIENT, CHANNEL_REMDESK_SERVER, CHANNEL_SMARTCARD, CHANNEL_RDPSND_CLIENT

windows client/server are currently lacking maintainance.
Check the X11 pendants, might be a simple error return for an empty stub or similar.

Thanks for the reply!
I am a little confused as to why I should refer to x11 pendants, since the subsystem I am running is shadow_win, not shadow_x11.
I am trying to run FreeRDP shadow because when I ran wfreerdp-server, to establish the connection between the server and the client, login is required. Is there a way to run wfreerdp-server such that login is not required, and the screen can simply be mirrored, like freerdp shadow and vnc?

@cynthia-doc Since it is most likely a bug with some return value from the platform backend you may check how the X11 backend does it and adjust the windows backend accordingly.
Will involve some coding, sorry.

Then can wfreerdp-server be run such that when client is trying to connect, login is not required?

@cynthia-doc check where authentication is done and comment out that code, so yes. (I think it is currently not implemented for windows anyway)


Textfield: Mask is ignored when using browser autocomplete

Bug type
Component
Component name
MudTextfield, MudMask
What happened?
By allowing Chrome to auto-fill this will happen:

Expected behavior
Best case: The mask logic should kick in and align the auto-fill input against the mask
If all fails disable browser auto-complete.
Reproduction link
https://mudblazor.com/features/masking
Reproduction steps
Allow Chrome to autocomplete on the MAC Address field
Relevant log output
No response
Version (bug)
6.0.6
Version (working)
None
What browsers are you seeing the problem on?
Chrome
On what operating system are you experiencing the issue?
Windows
Pull Request

[X] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks to @HClausing for reporting this.

Hey, any news about this?

I don't know how to solve it, sorry.

I've run into this same problem... I don't think I can use the Mask at all if this is the case.  I'll have to implement something else to enforce the formatting.


Remove data.ingestor package

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (dcf52f5) to head (48ea4b6).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #344   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           96        92    -4
  Lines         2358      2307   -51
  Branches       189       187    -2
=========================================
- Hits          2358      2307   -51

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


App cannot receive the in-app message and push notification for a long time.

Description:
Android & iOS: Some times, App cannot receive the in-app message and push notification for a long time, our DEV and QA have encountered this situation.

I'm closing this one now since it's not a SDK related issue. For anyone has the similar issue, please contact our support. Thanks!


Fastify v4 support

Hi guys, is there any plan to update deps to support fastify v4 any time soon?
Would be great to test it.
Have a great day!

Hey @nkrass , thanks for opening this. Yes, we are planning to support version 4 now that it's out of rc status. As far as I can see there are no breaking changes between 3 and 4 that impact this plugin, but we are going to be sure after @simonecorsi finishes his tests.  I think we are going to open a PR soon 😉 .

Closed in #152 🎉


Fix Dataport URL

New URL is: https://dataport.cloud/

Ugh! No redirect from the old URL?
More importantly, it appears that this is no longer a public dataset, if it ever was, since it's behind a subscription wall. They offer a 30-day trial and "academic" access, but it's definitely not a public dataset.
Probably best to just delete it.


Website: rewrite "help" section

TL;DR
Clarify that GitHub is primarily meant for issues / bugs, not for general support questions.
I just wanted to point someone to IRC and the Google Groups, because those channels are more appropriate for support questions, but doing so noticed that the help section on the website is really not very clear on this.
From that page (https://docker.com/resources/help/):

The Docker community is knowledgeable, large, and friendly. Please jump in, ask questions, and join the conversation.

(Followed by links to IRC, Google Groups, GitHub, StackOverflow and Twitter)
Proposal
To serve people better, and reduce the number of support questions on GitHub, I think it would be better to clarify which channels are meant for "what".
note
Ironically, I'm not sure that this is the right location for this issue, however, the https://github.com/docker/www.docker.io repository looks to be outdated and not actively maintained. Is that repository still in use? If not, maybe the issue tracker for that repository should be closed.

@jfrazelle another issue that probably doesn't belong here; I think it's best to close it, but two things might be needed;

update the status and/or close down the https://github.com/docker/www.docker.io repository (is it still used or not?)
clarify where issues wrt the website should be posted

ping @kencochrane ^^ :) thanks @thaJeztah

For reference, I created an issue at support.docker.com to update the status of the mentioned repository;
https://support.docker.com/hc/en-us/requests/3115;
Close down/deprecate GitHub repository for docker.io

This issue came up a number of times on the Docker issue tracker;

The repository for the docker.io website (https://github.com/docker/www.docker.io)
looks to be abandoned, but the issue tracker is still open and no "deprecation"
message is present to clarify the state of the repository.

I discussed this with Docker maintainer Jessie Frazelle, and she thought the best
way to deal with this is to open an issue at Docker support.

Would it be possible to;

- Add a "deprecation warning" (or some message explaining the state of things) to
  the repositories README.md
- Add a message to point people to the right channel for reporting issues w.r.t. the
  docker.com/docker.io and registry websites
- Close the issue tracker (people are currently creating issues without getting a
  response, which looks really bad)

Please let me know if you need additional input from my side. It would be
appreciated to "keep me in the loop", so that I can help directing people to the
right channels for support/issues.

regards,

Sebastiaan van Stijn (@thaJeztah)

so do we close here ?
On Fri, Feb 27, 2015 at 3:25 PM, Sebastiaan van Stijn <
<EMAIL_ADDRESS>wrote:

For reference, I created an issue at support.docker.com to update the
status of the mentioned repository;
https://support.docker.com/hc/en-us/requests/3115;
Close down/deprecate GitHub repository for docker.io
This issue came up a number of times on the Docker issue tracker;
The repository for the docker.io website (https://github.com/docker/www.docker.io)
looks to be abandoned, but the issue tracker is still open and no "deprecation"
message is present to clarify the state of the repository.
I discussed this with Docker maintainer Jessie Frazelle, and she thought the best
way to deal with this is to open an issue at Docker support.
Would it be possible to;

Add a "deprecation warning" (or some message explaining the state of things) to
the repositories README.md
Add a message to point people to the right channel for reporting issues w.r.t. the
docker.com/docker.io and registry websites
Close the issue tracker (people are currently creating issues without getting a
response, which looks really bad)

Please let me know if you need additional input from my side. It would be
appreciated to "keep me in the loop", so that I can help directing people to the
right channels for support/issues.
regards,
Sebastiaan van Stijn (@thaJeztah)
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/9300#issuecomment-76491832.

Yes, I waited for a response before closing, and got this;

Hello,

This is certainly something that has been discussed internally from time to time. I'll see if I can get the right folks to start closing it down more explicitly.

Thanks!

Jeff

closing, because this part of the website is not under control of the Docker "project", so unfortunate, there's nothing that can be done here.
(If someone does have ways to get this updated, feel free to comment)


Remove internal Drivers and ThreadX support

ThreadX is a feature implemented to support offscreen canvas multithreading, however browser support for ThreadX will not come soon to our space (TV / STB market) and the current implementation has some negative side effects.
With the introduction of Drivers there is a lot of double housekeeping, maintaining two tree's of nodes, the DriverNode and CoreNode. This causes additional processing overhead (mainly extra function invocations and emitters) and an additional list of nodes stored in memory.
In the future we should ensure all ThreadX specifics are retained in the ThreadX module, likely by providing a RendererMain replacement from the ThreadX project and proxy the CoreNode respectively as we communicate over threads. And keep the specifics to ThreadX to where they belong.
Early test results:
current master: 20k nodes create 2867ms @ 65 MB HEAP:

this pr: 20k nodes create 1272ms @ 35 MB HEAP:

About 2.2x faster and nearly 50% less memory on an excessive stress test.
Todo:

[ ] Fix RTT
[ ] Fix/review VRT test results
[ ] Run an app on it

#281

🎉

Latest results with the PR compared to latest release:


Textfield: Implement UI Review Feedback

[ ] Text color of error state input should be default
[x] Input field background should be white while focused
[x] Inline variant input doesn't expand past a certain point
[x] Add padding to vertical label

I made these changes on #67 to prevent merge conflicts


Profiles for ws-kafka-proxy updated

Profiles for ws-kafka-proxy updated

Spring profiles can be configured via environment variable. So this PR isn't needed.


Attempt to fix inheritance issue RicoSuter/NSwag#4138

This should fix RicoSuter/NSwag#4138
I ran all of the unit tests in NJsonSchema and NSwag projects and they all seem to pass, so hopefully this is in no way a breaking change.
I have written a unit test in NSwag project to cover the scenario, but cannot create a pull request until this version of NJsonSchema is referenced in NSwag as the test will fail.

@RicoSuter Could anyone take a look at this please?

@RicoSuter can this be merged back to the main branch?

Bumping this again. @RicoSuter Would it be possible to merge this to main? We are still waiting for this fix.

This issue is still there and hasn't been fixed by anyone else. Could we please merge this?

@RicoSuter this looks like the fix we need to resolve the inheritance issue

v11


ingester: recover segments on startup

If an ingester crashes, it may leave .active and .pending segment files in an abandoned state. On startup, it can look for such abandoned segments and recover them, by making them .flushed again. This may confuse stores, but that confusion will only result in canceled transactions and duplicated effort—no problem.
The recovery process will just be renaming .active and .pending segments to .flushed. If that happens on an active data dir, then bad things will happen! So, as a first step, we'll implement a data dir locking mechanism, with the tried-and-true LOCK file pattern. Technically we just need it for the ingesters, but since it generalizes pretty well, I'll also add the same locking behavior for stores in this PR, too.
Closes #1.

LGTM

Still LGTM!

😎  Thanks for the reviews, @danp!


bugfix: sol log missing

mount build-config to vagrant/src
then build-config/generate-sol-log.sh can be run inside vagrant.
@panpan0000 @PengTian0

BUILD on-build-config #263 : FAILURE

** BUILD Install-Ubuntu-14-04  #144: FAILURE
** BUILD Install-CentOs-6.5  #166: SUCCESS
** BUILD SmokeTest-CIT  #375: SUCCESS
** BUILD SmokeTest-FIT  #180: FAILURE

test this please
vmslave16 disk full

BUILD on-build-config #264 : FAILURE

** BUILD SmokeTest-CIT  #380: FAILURE
** BUILD Install-Ubuntu-14-04  #149: SUCCESS
** BUILD SmokeTest-FIT  #185: SUCCESS
** BUILD Install-CentOs-6.5  #171: SUCCESS

test this please

BUILD on-build-config #265 : FAILURE

** BUILD Install-CentOs-6.5  #177: FAILURE
** BUILD SmokeTest-CIT  #386: SUCCESS
** BUILD Install-Ubuntu-14-04  #155: FAILURE
** BUILD SmokeTest-FIT  #191: SUCCESS

test this please

test this please

test this please

BUILD on-build-config #267 : ABORTED

** BUILD SmokeTest-CIT  #393: ABORTED
** BUILD Install-Ubuntu-14-04  #162: ABORTED
** BUILD SmokeTest-FIT  #198: ABORTED
** BUILD Install-CentOs-6.5  #184: ABORTED

BUILD on-build-config #268 : ABORTED

** BUILD SmokeTest-CIT  #395: ABORTED
** BUILD Install-Ubuntu-14-04  #164: ABORTED
** BUILD Install-CentOs-6.5  #186: ABORTED
** BUILD SmokeTest-FIT  #199: ABORTED

test this please

test this please

BUILD on-build-config #269 : ABORTED

** BUILD Install-Ubuntu-14-04  #167: ABORTED
** BUILD SmokeTest-CIT  #398: ABORTED
** BUILD SmokeTest-FIT  #203: ABORTED
** BUILD Install-CentOs-6.5  #189: FAILURE

BUILD on-build-config #270 : ABORTED

** BUILD Install-CentOs-6.5  #190: ABORTED
** BUILD Install-Ubuntu-14-04  #168: ABORTED
** BUILD SmokeTest-CIT  #399: ABORTED
** BUILD SmokeTest-FIT  #204: ABORTED

test this please

test this please

test this please

@yyscamper
Though this PR passed all tests, but it still can't fix the issue.
I'll reopen a PR.


Do not omit empty arrays in JSON

Fixes https://github.com/uber/jaeger-ui/issues/33
Cf. https://stackoverflow.com/questions/1969993/is-it-better-to-return-null-or-empty-collection/

Coverage remained the same at 100.0% when pulling 8c1b3e96c4d5bb879b7ee8d02012231934357911 on do-not-omit-empty-arrays-in-json into 1843ed8b89516988deee0428b6864b2ad22c0d48 on master.


"Sânmihaiu Almașului" , "Bercea" , "Sântă Măria" are listed in the drop-down menu

Description:
The villages are listed in the drop-down menu alongside its corresponding county and city, according to the law
Preconditions:  the  website is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Sânmihaiu Almașului"

Expected results
The location appears in the drop-down menu as "Sat Sânmihaiu Almașului, SĂLAJ (Sânmihaiu Almașului)"

Step 2
Write in the search bar "Bercea"

Expected results
The location appears in the drop-down menu as "Sat Bercea, SĂLAJ (Sânmihaiu Almașului)"

Step 3
Write in the search bar "Sântă Măria"

Expected results
The location appears in the drop-down menu as "Sat Sântă Măria, SĂLAJ (Sânmihaiu Almașului)"


Caching logger references in bridges can break underlying contextual logging creation

If we have a shared library in our Application Server with different J2EE applications running in the same JVM, contextual logging creation is broken with cached references in SLF4J Bridges.
A classical example is JUL in Spring Framework and ContextJNDISelector. When an application boots, the first class that loads a Logger through JUL, will expose this logger to all applications running in the server (JdbcTemplate is a great example).
By forcing always the SLF4J  Logger reference object, we delegate the caching to the underlying SLF4J implementation, using this Logger as a key for Log map.

That's a good point! Maybe we can control access with Collections.synchronizedMap(WeakHashMap). WDYT?

Can you describe how the WeakHaspMap help solve the problem?

@ceki I see your point. The weak hash map would drop the Logger in more cases beyond app unload.

@ceki @mattbishop Should I push a version without intermediate cache? Returning a new wrapper SLF4JLocationAwareLog/SLF4JLog reference always?

It is not clear to me whether returning a new wrapper would be acceptable in all circumstances. For example, in case of non-static logger references, the log4j paradigm (by ricochet slf4j) always returns the same logger instance for the same logger name. I would not want to change a cornerstone behavior without further investigation. I
I would be OK with a system property which when set would avoid caching of wrapper instances. The default behavior would remain unchanged.
Again, it might be OK to return a new wrapper on each getLogger call, we just need to think about it more.

I understand the problematic. If there's something that I can help, please, let me know. Thanks for your attention :smiley:


Outlook blocked with this policy--please address this issue!

Your article recommends blocking legacy authentication protocols, including Autodiscover. But you also point out that Outlook depends on Autodiscover to access Exchange Online.
Therefore, this article recommends disabling one of your own most popular products and services; Outlook and Exchange Online.
This doesn't make sense, but indeed if you deploy this policy you break Outlook because it can't use the Autodisocover service. Why are you doing this?

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

ID: ad5f26dc-2f8f-ef76-3d20-a0a42d2bbada
Version Independent ID: a0e971d1-05f2-2c21-06d4-60c087d45c0a
Content: Block legacy authentication - Azure Active Directory
Content Source: articles/active-directory/conditional-access/block-legacy-authentication.md
Service: active-directory
Sub-service: conditional-access
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@wcneumann219
Thanks for your feedback! We will investigate and update as appropriate.

If Exchange is configured correctly disabling legacy authentication with the mentioned Conditional Access policy should not interfere with normal operations. If you are experiencing issues with Exchange and disabling basic authentication then I would recommend opening a support case so that they can review your configuration.

#please-close

Hi John,
Yes, I agree that you can and should disable basic authentication in Exchange Online and force users to use Modern authentication, but the Microsoft documentation strongly implies that Outlook will continue to use the Autodiscover service to locate a user’s Exchange Online mailbox. Since Autodiscover is a legacy authentication protocol your Conditional Access Policy will block it’s use.
Can you kindly provide me with a documentation link that states “when modern authentication is used with Exchange Online Outlook no longer needs or uses Autodiscover”, because if it still does use Autodiscover (which I believe is the case) your policy breaks Outlook independent of whether Exchange is using Basic or Modern Authentication.
Bill
Bill Neumann
NOTE: Upcoming Out of Office
<EMAIL_ADDRESS><EMAIL_ADDRESS>Principal Solutions Engineer - Microsoft Cloud
Technology Solutions Group (TSG)
bill.neumann<EMAIL_ADDRESS>Phone/Mobile:<PHONE_NUMBER>
www.connection.comhttp://www.pcconnection.com/
[connectionlogo_email (2)]
LINKEDINhttps://www.linkedin.com/company/connection-it/  l  TWITTERhttps://twitter.com/ConnectionIT  l  FACEBOOKhttps://www.facebook.com/Connection4IT/  l  INSTAGRAMhttps://www.instagram.com/ConnectionIT/  l  YOUTUBEhttps://www.youtube.com/c/ConnectionIT  l  BLOGhttps://www.connection.com/social-blog
From: John Flores<EMAIL_ADDRESS>Sent: Wednesday, July 22, 2020 4:34 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Bill Neumann<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Outlook blocked with this policy--please address this issue! (#59423)
If Exchange is configured correctly disabling legacy authentication with the mentioned Conditional Access policy should not interfere with normal operations. If you are experiencing issues with Exchange and disabling basic authenticationhttps://urldefense.com/v3/__https:/docs.microsoft.com/exchange/clients-and-mobile-in-exchange-online/disable-basic-authentication-in-exchange-online__;!!PryGUe7zedMk!APzZUv91YGSL8SOsKLqMvvGU4qzmMwqDCvcfg8yTdX0_BJdS06s1AmJA0UI8Qd5G8V_q$ then I would recommend opening a support case so that they can review your configuration.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/MicrosoftDocs/azure-docs/issues/59423*issuecomment-662681881__;Iw!!PryGUe7zedMk!APzZUv91YGSL8SOsKLqMvvGU4qzmMwqDCvcfg8yTdX0_BJdS06s1AmJA0UI8QZrQ6wF0$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/ANP26K2ZFKGHGUVOJK5ZALDR45EMNANCNFSM4PDV5YEQ__;!!PryGUe7zedMk!APzZUv91YGSL8SOsKLqMvvGU4qzmMwqDCvcfg8yTdX0_BJdS06s1AmJA0UI8QaACab_C$.


Also installs debconf-utils

Added command to install debconf-utils (necessary on some installations).

:+1: Thanks!


Add DnsOption Flag to allow user to have customized resolve.conf

What this PR does / why we need it:
DnsOption needs to be entered by users according to their super cluster environment. Add flag to allow user to config DNSOptions
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes # N/A

@christopherhein

/retest

provider-nest-test seems not working properly

provider-nest-test seems not working properly

Did you check out what it says here - https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_cluster-api-provider-nested/261/pull-cluster-api-provider-nested-test/1506859629164892160

@christopherhein  I checked test log, the file was not related to my change at all. Please check https://github.com/kubernetes-sigs/cluster-api-provider-nested/pull/264, this simple testing PR was also failed.

/retest


Add some simple URL checking

A very basic test to make sure the URL supplied is from a published Google doc, not from the "Share with others" link. Even though the README clearly says it has to be published, some users might be a little eager to just try it out and will get quite frustrated that it doesn't seem to work (don't ask me how I know...)

Good work! I had not thought about this
Thanks for you pr. I very much appreciate it and the spelling one!


chore(main): release 0.1.0

:robot: I have created a release beep boop
0.1.0 (2023-12-13)
Miscellaneous Chores

release 0.1.0 (cda2c03)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/christian-vdz/hassio-mqtt2prometheus-addon/releases/tag/v0.1.0 :sunflower:


Work around loop nest error

Not working currently. Is this going in the right direction @inducer?

Closing in favor of Matt's work.


Server timings experiment [WIP]

ActiveController logs runtime information, and other components like
ActiveRecord feed in to this. This is exposed through the logs, and
also via the just added rails_server_timings gem.
This commit wraps the PublishingApiPusher service listener in a way
that the timing information is recorded, and then reported both in the
logs (example below), and as part of the Server-Timings header.
If this works in Whitehall, it might be worth trying to extract this
out in to the gds-api-adapters gem.
    ...
    Publishing API (166.4ms) [ update_draft, options: {} ]
    ...
  Completed 302 Found in 268ms (ActiveRecord: 21.3ms | Publishing API: 166.4ms)

Can we merge or close this? It has been open for a considerable amount of time and we're trying to cut down the number of orphaned PRs in alphagov.

Can we merge or close this? It has been open for a considerable amount of time and we're trying to cut down the number of orphaned PRs in alphagov.

It's not ready to merge right away, but I'm hoping I can make time in the next month or two to have a look at this again.

I'll close this until I have time to look again, it was mostly a prototype anyway.


36 authorization unauthorized users cannot access frontend and send requests to backend

authorization should work now
tests not updated yet
our old authorization header became deprecated, spring boot is handling this for us.
works with docker and with the old traditional setup

The login doesn't work with every password, there might be problems with some special characters. It works when the password is only composed of characters and numbers. Example: "(2(%SfY;)C2§1@3o78,S" doesn't work, "2SfYC213o7S" does.

Some how the '§' breaks it. You're not able to login when you're password includes it. But I don't know why.

Tests have to be adjusted in the future since some of them are deprecated now and some don't run anymore since methods have been changed

Because of e.g. the '=' also the change password service won't work...
I now changed it to only allow !@#$%^&*  as special characters that we get no problems with any protocol in the future

Thank you very much for fixing the small problems and the merge conflict!


Parameters start and end

When using parameters like start and end it should be documented and tested whether they are inclusive or exclusive.
Problem found in iter_fnames

The bug was fixed in commit https://github.com/BioroboticsLab/bb_binary/commit/d86e9194ac02bc7b17573fe11cd8199239bf5a66
Is the documentation good enough?

As expected great work =)


Update navigation

We're going to make some changes to the navigation to highlight the consent offering.
Top nav:

Home
Data mapping
Privacy requests
Consent

Within Data mapping

View map -> graph view
View systems
Add systems
Manage datasets
Create reports -> table view

Within Privacy requests

Manage requests -> Request manager
Manage connections -> only appears when unlinked connections exist

Within Consent

Manage notices -> Privacy notices
Manage experiences -> Privacy experiences

Design
Update tests, docs, and training deck

We're going to make some changes to the navigation to highlight the consent offering.
Top nav:

Home
Data mapping
Privacy requests
Consent

Within Data mapping

View map -> graph view
View systems
Add systems
Manage datasets
Create reports -> table view

Within Privacy requests

Manage requests -> Request manager
Manage connections -> only appears when unlinked connections exist

Within Consent

Manage notices -> Privacy notices
Manage experiences -> Privacy experiences

https://www.figma.com/file/8vQ9W05FlwbVyw3JwBRPAj/Navigation-proposal?type=design&node-id=1001%3A3638&mode=design&t=WfNy1SCNgmcJrnAi-1

@Kelsey-Ethyca I'm not seeing create reports from the table view.

Need to update automation tests for user permission navigation

@Roger-Ethyca the create reports page doesn't exist yet today. i have confirmed with Rachel.


Bootstrap4alpha6

See #545 : Update Bootstrap 4 to alpha 6

Whoah, lots of change!

@agriffard can you rebase dude?

You did a rebase, but the changes from the Flows module appear in your changes, is that normal?

Got it, you actually didn't rebase, but merged master. That will work, even though it's ugly right now.


fix docs

The documented way of adding a material-ui checkbox does not update / represent the state in initialValues correctly and the way Formik advise to handle multiple checkboxes with checked: [] doesn't work either. This is the solution.

switch works as expected in the newer formik versions


ci: fix semantic release process

Changes

Change semantic release configuration to generate changelog
We have to test if it is possible to execute semantic release after release-notes
Issues

Close #22

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Template tweaks and drop Internet Explorer support

switch to plain doctype
remove unneeded type=text/css from style attributes
beautify CSS
remove svg4everybody

I only checked the CSS mode, need more eyes for the rest :)

@Kreeg how about we move with this before #613 ?


refactor(catchError): simplify implementation

Description:
After I saw #5665 I decided to have a look at the implementation of catchError, and when I did I thought that it could be simplified. So, I wrote a simpler implementation and with this implementation all the tests pass and ~on top of that it also fixes the issue described on #5665~
~I guess that I should also write a test that reproduces the issue described on #5665, but I couldn't come up with a good description for a test like that 🤔. Maybe tomorrow I will be more inspired 😄~
Related issue (if exists):
#5665
EDIT
It turns out that the the issue described on #5665 was fixed by #5627. So, this PR doesn't fix anything. However, it does simplify the code quite a bit IMO.

I don't think we can merge this.
The problem with the new implementation is that, in the synchronous case, finalize will now happen after everything else...

I'm not sure if there's a test that covers this though, which might be a better add. Along with the other test you've added.

Nice! Thanks for spotting that @benlesh , I will add a test for that.

I've addressed the comments. There are 2 commits in this PR:

The first one adds 2 new tests, removes a test that seems to be redundant and removes a stale TODO comment.
The second one is a refactor of the catchError operator that IMO makes the implementation a bit simpler/clearer

It goes without saying that I don't mind at all dropping the second commit if you prefer the current implantation. It's just a suggestion: if you like it "yay!", if you don't I totally get it, of course 🙂 .
Also, maybe it would be better to create a separate PR just for the improvements of the tests?

Thanks! We're getting closer.

Once again, thank you both for the reviews. I'm learning a lot!

LGTM... I'm going to bump this to @cartant since he reviewed this once earlier as well.

I'm going to block this, for the moment. I started reviewing it and AFAICT, there is a problem with this bit. I cannot see how subscribe can be safely called with no regard to the Subscription that has already been returned. ATM, I'm inclined to say that this implementation is potentially more confusing than the previous implementation. I'll have a think about it and will unblock it after I've reviewed it. ATM, I am not at all sure about the implementation or whether it makes things clearer.

@cartant

ATM, I'm inclined to say that this implementation is potentially more confusing than the previous implementation.

You are right. It is more confusing. I agree, my apologies.

I cannot see how subscribe can be safely called with no regard to the Subscription that has already been returned

I made that change when I was addressing this comment. I remember that when I saw that comment I thought: "did Ben realize that I'm swapping the subscription? He probably missed that, because if I just return subscription then the tests will fail..." So, just to be sure, I tried doing that and I was very surprised to see that the tests were passing. Then I tried to rationalize why that was happening. However, to be completely honest, I don't think that I fully understood why the tests were passing.
In retrospective I should have asked for further clarification on that comment, instead.
I just put the code back to what it was before I addressed that comment. I think that implementation is a bit simpler and clearer, but this is something very subjective. So, if you don't see it like that, I totally understand it.

No worries at all. I'm closing this. Thank you both!
If you want me to open a different PR that includes just the commit with the tests, let me know it.

Much respect, @josepot. Really. ❤


The System.Globalization.StringInfo page is displaying raw Markdown

Doc page:
https://docs.microsoft.com/en-us/dotnet/api/system.globalization.stringinfo?view=netframework-4.7.1
Github page:
https://github.com/dotnet/docs/blob/master/xml/System.Globalization/StringInfo.xml
Text displayed on page:

Thanks @chadunit for reporting this issue! I think Notes to Callers has recently being implemented in docs and I'll follow up with the engineering team to fix that.
/cc @dend @adkinn

I'm also wondering if this is just a migration issue where the includes should not have been used in the ECMAXML sections.

I checked the templates and we are supporting markdown there. @mairaw I think you're right about the include files not being found.
/cc @dend @TianqiZhang

The issue is not with includes only. The URLs are also using the wrong format @adkinn.
/cc @dend @TianqiZhang

FYI I've noticed this seems to be fairly common, see for example:
https://docs.microsoft.com/en-us/dotnet/api/system.string.trim?view=netframework-4.7.1
https://docs.microsoft.com/en-us/dotnet/api/system.string.compare?view=netframework-4.7.1
I guess there probably needs to be some generic systemic fix regarding the Notes to Callers section.

Yes, @chadunit. It probably happens in all docs that have Notes to Callers (or most of them).

@mairaw do you mean the URLs for the include files? Or are there examples where regular links are not working?

@adkinn the example that @chadunit has posted above has both includes and regular links (see the link to the Unicode Standard, Version 8.0.0 link . AFAIK regular links should have the see href format and not a Markdown link format in the ECMAXML sections. So that's why I'm saying this is probably a migration issue. Includes should have been removed and links should have been migrated with the see href notation.


RAS-1147 Upgrade to flask-session 0.8.0 update in rOps

What and why?
Bumping flask-session to version 0.8.0 which had breaking changes to how it handled datetime objects. This casts the object to an iso8061 string to store it in the session json and then back when it needs to compare it to datetime.now()
How to test?

Deploy this PR to your environment
sign into rOps with the default uaa_user account
click around making sure no 500 are raised because of a comparison error between str and datetime objects

Jira
RAS-1147

/deploy robinm3


fix CRP conj detection for truncated case and non-exch tilde node priors

closing so I can reopen to force Travis build


NPE in RenderManager inject

fml-client-latest.log
This is caused somewhere in https://github.com/ValkyrienWarfare/Valkyrien-Warfare-Revamped/blob/master/src/main/java/valkyrienwarfare/mixin/client/renderer/entity/MixinRenderManager.java#L45

This file has been modified a lot since this issue, is it still applicable?

¯\_(ツ)_/¯


[TS] added a test to ensure Unicode/Emoji support

Just a test (passes currently) to ensure that we transfer text as-is to HTML, including Unicode.
Addressing the question posed at https://github.com/Microsoft/AdaptiveCards/issues/1645

@paulcam206 last effort could you merge? (As an external collab I don't have write privileges, and that's quite alright only I have to bother you.)

No problem :)


dockerize web and backend?

I can look into this in the next few days

@derekdyer0309 no docker is not included right now, @randykinne thanks


Progressive web app

Hello
Would it be possible to provide the website as a PWA (PROGRESSIVE WEB APP)? It would allow installation as an app on the android os.
Thank you

fantastic. It's working as it should.


Smart banner size

When I launch the app on iOS the first smart banner is not fit to the correct size, as in pictures. When the banner is renewed, it is presented properly. What it is wrong?

Thanks.

I did not see what's the problem, can it be more specific?

I will close this tracker as no more feedback details or follow up.


read_csv character encoding bug?

This is a weird one from StackOverflow, this file has some \x00s which seem to be ignored when printing but confuse read_csv:
x = 'x,y\n \x00\x00\x00,Reg\n \x00\x00\x00,Reg\nI,Swp\nI,Swp\n'
X = StringIO(x)

In [3]: pd.read_csv(X)
Out[3]:
     x    y
0
1  NaN  NaN
2    I  Swp
3    I  Swp

In [4]: print x
x,y
 ,Reg
 ,Reg
I,Swp
I,Swp

I know this is an old issue, but I'd like to give it a little bump. I have customers giving us a dump of some of their production database tables. The files we are getting are tab delimited and values that were null in the database are null bytes in the text file. I don't know how to get pandas to read this without having to do some manual munging first.

I'm sorry this never got fixed! I have also seen null bytes used to code nulls. @jreback @jorisvandenbossche let's slate this for 0.18?

I'd like to make some changes to the CSV tokenizer to hopefully improve its performance, that will also allow us to get rid of the null terminators that are complicating issues like this, but it would make most sense to understand for 1.0 / libpandas. Question is whether there is a quick fix for this particular issue with the existing tokenization strategy

I don't believe this is an issue with the C engine anymore:
>>> from pandas.compat import StringIO
>>> from pandas import read_csv
>>> data = 'x,y\n \x00\x00\x00,Reg\n \x00\x00\x00,Reg\nI,Swp\nI,Swp\n'
>>> read_csv(StringIO(data), engine='c')
     x    y
0  NaN  Reg
1  NaN  Reg
2    I  Swp
3    I  Swp

Unfortunately, as @wesm pointed out here, it will fail for the Python engine:
>>> read_csv(StringIO(data), engine='python')
...
_csv.Error: line contains NULL byte

This issue however, seems beyond our control, so I'm not sure if we should still classify this as a BUG on the pandas end if the issue is originating in Python's csv module.

if u want to put up tests for the c engine and s nice error message Python engine then can close

Relatedly: what is the current implementation gap between the C and pure Python CSV parsers?

@wesm: We have a list of known differences in #12686.  That alone indicates a pretty noticeable gap.

Seems like if you can address the regex delimiter problem (easier said than done) then it may be possible to deprecate the Python engine. This would be easier in the possible pandas 2.0 future in which we might add libre2 to the build / development toolchain


feat: ✨ add install option for libpq-dev to support postgresql

I was working on a rbenv based devcontainer (due to some issues with ruby-lsp not working in the rvm based alternative) the last week when I encountered your repository.
This PR is adding an option to install libpq-dev to enable installation of postgresql as an alternative to sqlite.
Another way to resolve this, would be to have another "feature" install the package, i.e.
 "ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
      "packages": [
          "libpq-dev"
      ]
  }

but I rather prefer it to happen at the same place.

Thank you for the pull request but I don't think the ruby feature is the right place to install those packages. It should be in the application dockerfile.


Get an error when you attempt to choose a strong name key

File -> New Class Library (.NET Standard)
Choose Properties -> Signing
Check Sign the assembly
Under "choose a strong name key file", drop the drop down

---------------------------
Microsoft Visual Studio
---------------------------
AssemblyOriginatorKeyFile:

Value cannot be null.

Parameter name: value
---------------------------
OK
---------------------------

After you get this in state, you can't get out of it or close Visual Studio. It continues to display the error.

Dupe of VSO 364884

https://devdiv.visualstudio.com/DevDiv/_workitems?id=364884&_a=edit


Python script prints out to command line but doesn't send message over websocket using websocketd

After installing websocketd, I tested it with count.sh and it worked fine. I also opened the devconsole and I saw the messages.
On writing my own python script which is meant to count also, I found out that when I execute it in the command line it works fine. but after binding it to websocketd I could not see any message received.
I tried running websocketd with devconsole but still, nothing shows up.
#!/usr/bin/python
import RPi.GPIO as G
import time

count = 0.0

G.setmode(G.BCM)
G.setup(23, G.IN)#connected to pin 7 on arduino where a 1 cyvle pulse train is implemented in hardware
G.setup(24, G.IN)

def counter(pin):
	 #Checks the value of pin24 for increment or reduction
        global count
	state = G.input(24)#stores the state of GPIO24
        if state == False: #implies the robot is moving forward
		count = count + 0.013 #increment the counter
        elif state == True: #implies robot is moving backward
		count = count - 0.013 #reduce the counter

G.add_event_detect(23, G.RISING)#event added to GPIO23 for detecting a rising or falling edge
G.add_event_callback(23, counter)

while True:
	print(count)
	time.sleep(2)

I will be glad it someone can help fix this issue.

Try stdout.flush()  after print

Okay. I will try it and get back to you.
Thank you.

I have tried it and its still the same.
Thank you.
Below are some screenshots I have taken.

I wonder if script would need more stuff from environment than available...
I'd suggest you run it with higher log levels. And also try in your console that sudo env -i ./counter.py would work, that somewhat simulating clean-slate environment that websocket uses (although there are discrepancies...)

After going through http://www.perrygeo.com/raspberry-pi-real-time-sensor-plots-with-websocketd.html I realised that he had a python script which prints out some sensor values which he wants to make available to a websocket client.
I followed the steps, by first redirecting the output of my python script to a log.txt file, then using tail -f command to send it over the websocket.
But I included sys.stdout.flush() after the print statement, and everything worked out FINE.
Thank you.


Idle timeout

Somewhere in the production infrastructure there's an idle timeout. Not sure what is doing it yet, but after about 10 minutes the client's connection to the broker gets disconnected. :(

I'm beginning to think this is just a run of the mill network connectivity issue. SockJS doesn't have any built in reconnect functionality so if anything goes wrong with any part of the connection it's game over. A possible solution could be the following changes:

Change StompDisconnectListener to not delete the Actor but instead mark it as disconnected.
Add some in-game indication that an Actor is in a disconnected state, such as in the LOOK output.
Change client.js so that it attempts to reconnect on disconnections with an exponential backoff.
Ensure that reconnecting will reconnect you to your disconnected Actor (see #64).


Optimized Dockerfile

Summary
I optimized Dockerfile for Nginx and  php7-fpm. This pull request is related to the issue below.
https://github.com/maxpou/docker-symfony/issues/57

Looks good. Thanks @satoru-k 👍


[docs] Make mobile picker more consistent with Its behavior

[x] I have followed (at least) the PR section of the contributing guide.

Improve the usage of MobileDatePicker in Responsive and Introduction.
Since MobileDatePicker has cancel and  accept behavior by default, It should be handled more properly. The current behavior is when user cancel the dialog, but the date keeps changing by onChange.

Closing since this PR looks abandoned


Refactor Mirroring Logic for CashCtrlLedger

Description:
In this task, we need to refactor the existing mirroring logic from CashCtrlLedger and move it to pyledger. This refactoring is necessary to streamline the codebase and ensure that mirroring functionality is consistently applied across different ledger implementations.
Tasks:

Identify the current mirroring logic in CashCtrlLedger.
Refactor the logic by moving it into the pyledger implementation.
Update any relevant tests to ensure the functionality is correctly validated after the refactoring.

When moved mirroring logic to the abstract LedgerEngine class remove the docstrings from the mirroring methods in the MemoryLedger class.


InputHandler allows a key to be mapped to multiple actions

Additionally, keys with multiple maps might not do anything at all, which may be a different but related bug. (Applicable to alex-01.ecc1fed)

closed by 343a5cb99da044bca55d808f96f20da8b43f7617, 6b972239e2cd9dadc9cd038f16690237ec1065af, and f703da53d0646843541ebcf2af080a94b6fa17b1


Change Dependabot Frequency and PR type

This small PR changes the updated interval to monthly (previously weekly) and combines all the python version updates into a single PR, instead of a single PR per package.
Dependabot can be noisy
This change makes it easier to maintain.
What's left

Add tests to ensure that Dependabot PRs are safe to merge.
You could make the updates more fine-grained to update portions of the code at different intervals (maybe some AI tooling should be updated more frequently)

I did feel guilty writing this app with no tests 🙁
This sounds sensible, please feel free to merge, and thank you!

We can get some simple tests written.


separate packit-service api from packit service

I think, web api and packit-service should be separated, as fedmsg.
In packit-service can run event loop in which we can perform various actions e.g.

check if long running tasks are still running and update state based on accordingly
perform checks of dependent services and act based on result - postpone tasks, re-trigger failed tasks, ...

fixes #334

I definitely agree with the code restructure. (As we discussed on the arch-meeting.)
Not sure about the loop -- @dhodovsk understand the celery better, but we can probably use the celery built-in solutions instead of reinventing our custom solution. (e.g. If I remember it right, retriggering is just about some setup and returning specific results/errors.)

Using celery, you can set soft or hard timeouts on workers or tasks -https://docs.celeryproject.org/en/stable/userguide/tasks.html
For retrying the tasks, celery's autoretry might be of help - https://docs.celeryproject.org/en/stable/userguide/tasks.html#automatic-retry-for-known-exceptions
There is a possibility to set exponential backoff so the retry can happen at reasonable intervals.

Related issues:

https://github.com/packit-service/packit-service/issues/25
https://github.com/packit-service/packit-service/issues/225

@sakalosj I don't understand what does the rest api have to do with tasks - they are completely different things. It also seems like you're trying to reimplement celery functionality. Please provide more details.

@lachmanfrantisek @TomasTomecek

from time to time we are not receiving some messages from fedmsg (e.g. copr_build_finished).
Because of we are using fedmsg as primary communication source, polling should be fallback behavior. In my opinion, creating and executing delayed task to check something just in case,  is not clean design.
it will give us more flexibility in other features implementation.
we can store state of dependent services (for usage in dashboard).

I know everything can be done in different places of existing code, but want to make it easier to understand and maintain, by following Single responsibility principle.

Using celery, you can set soft or hard timeouts on workers or tasks -https://docs.celeryproject.org/en/stable/userguide/tasks.html
For retrying the tasks, celery's autoretry might be of help - https://docs.celeryproject.org/en/stable/userguide/tasks.html#automatic-retry-for-known-exceptions
There is a possibility to set exponential backoff so the retry can happen at reasonable intervals.

thanks for links

Single responsibility principle.

That's why I want to outsource it to Celery..;)

@lachmanfrantisek @TomasTomecek
* from time to time we are not receiving some messages from fedmsg (e.g. copr_build_finished).
  Because of we are using fedmsg as primary communication source, polling should be fallback behavior. In my opinion, creating and executing delayed task to check something just in case,  is not clean design.

* it will give us more flexibility in other features implementation.

* we can store state of dependent services (for usage in dashboard).

I know everything can be done in different places of existing code, but want to make it easier to understand and maintain, by following Single responsibility principle.

nice explanation but I still don't understand what this issue is about :D
it would be lovely if you could clearly write down what needs to be done in order to complete this work

create separate pod packit-web-api (as fedmsg)
in packit-service create event loop to check old tasks waiting for end notification
launch  celery task to poll for current status with random delay and update log

is this enough or do you want more details?

Just putting out it as an idea, if you would have come to a state where you need to manage a workflow of tasks, look at https://github.com/selinon/selinon, we are starting to use it for our stuff and looks quite promising (and it was built in RH too \o/). It is built on top of Celery.

@TomasTomecek
on stand-up we discussed, with following output:

we will need separate worker for celery.cron -> separate pod
create celery.cron job to query db for build tasks  in more than x mins
run celery tasks based on previous query output


Semantic versioning and "normalization"

> "NuGet supports Semantic Versioning 2.0.0."
This is not a true statement. NuGet forces you to adopt their flavor of semantic versioning even for private packages hosted in a private repository.

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

ID: 55c7db33-f188-0247-4c5e-035b25b11392
Version Independent ID: 33cd8166-51d5-3ce3-8d6f-8f0df0310724
Content: NuGet Package Version Reference
Content Source: docs/reference/Package-Versioning.md
Product: nuget
GitHub Login: @karann-msft
Microsoft Alias: karann

Please file product feedback issues on the Home repo.

I did so for the unwanted version normalization. This issue is open so the documentation will be corrected.
Nuget does not support SemVer among other versioning schemes, Nuget coerces package authors into adhering to its flavor of SemVer. Existing versioning schemes may be broken in order to meet this. That this did not merit a Major version increment for nuget.exe when its a breaking change only serves to reinforce the point that Nuget itself does not even adhere to SemVer.
@karann-msft - I may continue to forgive your earlier knee-jerk protective reaction to a reasoned and truthful criticism, but that forgiveness does not extend into perpetuity. Should you choose to deface, vandalize, alter, or restrict access to my content a second time an official complaint about your professional conduct will be filed with E&C/BusCon.  If you would prefer I go to your supervisor first instead, please cc them on this thread.


feat(devcontainers): add the ability to use GitHub Codespaces and VS Code remote containers

Description
For Hacktoberfest, I have been adding GitHub Codespaces / VS Code Dev Containers configuration for OSS projects to make it easier for contributors to the project to get up and running with the correct developer setup. Including the appropriate configuration for a project allows contributors to work entirely within a web browser via GH Codespaces, or inside of fully, and correctly configured containers on their own computer with VS Code Remote Containers (both of these use the same configuration, as GH Codespaces leverages the Remote Containers features under the hood).
For the bruno project, this configuration includes the following:

Preinstalled Node LTS
Preinstalled ESLint, Tailwind CSS, and Prettier extensions
Preinstalled playwright dependencies
Automation of the npm install when the devcontainer is first created
Automation of the initial (required) builds of the docs and query projects

Basically everything needed for a contributor to open the project after a fresh clone and be immediately productive, either locally with VS Code or remotely with GitHub Codespaces!

[!NOTE]
The version of playwright in use in the repository is pretty out of date (^1.27.1, released over a year ago, is in the package.json but 1.39.0 is the latest version).
Due to the workspace dependency being out of date, when the devcontainer automation to install the playwright browsers runs it installs older versions of the browsers (playwright attempts to always install browsers compatible with the playwright version) and these older browsers rely on outdated system dependencies which aren't present in this container.
The end result of this is that some playwright tests are currently failing when run inside of the devcontainer, and the fix is very simple - just update the installed playwright dependency to the latest version (1.39.0) so that it can use newer browser builds.
I did not make that change in this PR as it felt out of scope to update an application dependency while adding the devcontainer configuration.

For reference, here are some other repositories for whom I've opened PRs to do the same:

https://github.com/AnilSeervi/inspirational-quotes/pull/19
https://github.com/Icon-Shelf/icon-shelf/pull/135 (note that this one is a GUI electron app, but it's still possible to containerize it and do development in the cloud on GH Codespaces!)
https://github.com/developertools-tech/developertools.tech/issues/36
https://github.com/floating-ui/floating-ui/pull/2606
https://github.com/compiler-explorer/compiler-explorer/pull/5631
https://github.com/EveryBoard/EveryBoard/pull/155
https://github.com/melt-ui/melt-ui/pull/658
https://github.com/JamesLMilner/terra-draw/pull/108

Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[x] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[x] Create an issue and link to the pull request.

Closes #722

Closing in favor of #727 which uses a branch name with the requested format.


Made changes to titles and hover line, which were not clearly visible in dark theme earlier

Fixes #1016
Work Done
-Made titles color changes in the Section of the pages: Education, Experience, Project, Research which is not visible in dark mode

Made color changes to hover lines and title

This changes the color scheme and is not recommended at this stage.


Adding saml alias configuration

Hey @waltervargas, I believe this could be a nice improvement to the tool?
This way we can already set up some easy to remember aliases configured for those hard to remember combination of account ids and role names.
A nice future improvement could also be already displaying the available aliases and the user selects one of them, so you don't even need to remember the alias then.
I'm also adding some tests for the new added change and a GHA for testing it on PRs.
Let me know what you think.
PS:
Maybe I misunderstood something, I'm not super fluent in Golang and neither knew these libraries you are using, but looks like the config file isn't really being used?
I've tried for example setting the saml-file: /some/wrong/path on the config file and looks like the CLI did not use the one from the file...

Hey @Brunomachadob, just saw this one, thanks for the PR!

Will this get merge?


Duplicate Entry for ENFORCE_KEYS_JSONPICKLE_COMPATIBLE Setting in Documentation

This one is pretty basic and obviously just a typo: the live documentation contains two entries for ENFORCE_KEYS_JSONPICKLE_COMPATIBLE; presumably it'd be preferable to only have one?

ENFORCE_KEYS_JSONPICKLE_COMPATIBLE (default: True) make sure all config keys are serializable with jsonpickle
ENFORCE_KEYS_JSONPICKLE_COMPATIBLE (default: True) THIS IS IMPORTANT. Only deactivate if you know what you’re doing.

I'd be happy to write a tiny PR for this, but I'm not sure which one of the two we want to be canonical

I would combine them into something along "ENFORCE_KEYS_JSONPICKLE_COMPATIBLE (default: True) make sure all config keys are serializable with jsonpickle. THIS IS IMPORTANT! Only deactivate if you know what you're doing!"


Preserve API documentation on deprecated operations

Is your feature request related to a problem? Please describe.
Currently we remove the API documentation as soon as we mark the operation deprecated, so its page in the docs only says "use the new operation instead". A person who sees the deprecation notice and wants to switch the code to use the new operation might not remember exactly the details of what the old operation did, and it's fairly hard to dig them out at this point, especially if the new operation has different set of parameters.
For example, DrawRandomInt replaces RandomIntPow2 but requires figuring out the range of numbers generated.
Describe the solution you'd like
It would be nice to keep API documentation for deprecated operations/functions/UDTs until they are removed completely.
Describe alternatives you've considered
One can figure out the necessary parameters by diving into the libraries source code (in this example getting to the source file with RandomIntPow2 definition will allow to figure out the necessary parameters), but going to the libraries code requires fairly in-depth familiarity with our repos, which I'm afraid not all Q# users have.

The compiler replaces the short summary with the deprecation message, but preserves the long summary (adding the deprecation message to the end, instead of replacing it). I am not sure which summary is used on the docs pages (I would guess long summary, but I'm not sure).
Confusingly, the short summary is saved to to the individual callable/type YAML file, while the long summary is saved to the namespace YAML file, which seems backwards to me. That might mean the docs page is rendering the wrong summary.
This is complicated by the libraries removing the doc comment from the source code for deprecated items, which means I can't find an example of a deprecated item with its original doc comment in source code to see how it's rendered on the docs page.
@cgranade Do you know what the docs page renders if the original doc comment is kept in the source code?

The compiler replaces the short summary with the deprecation message, but preserves the long summary (adding the deprecation message to the end, instead of replacing it). I am not sure which summary is used on the docs pages (I would guess long summary, but I'm not sure).
Confusingly, the short summary is saved to to the individual callable/type YAML file, while the long summary is saved to the namespace YAML file, which seems backwards to me. That might mean the docs page is rendering the wrong summary.

There's a lot of confusion around the Q# → YAML → HTML pipeline, most of which stems from that the YAML format is based on Q# 0.1 (e.g.: that only had summaries and not long descriptions). Agreed, though, we should check if the docs page has mixed something up there.

This is complicated by the libraries removing the doc comment from the source code for deprecated items, which means I can't find an example of a deprecated item with its original doc comment in source code to see how it's rendered on the docs page.
@cgranade Do you know what the docs page renders if the original doc comment is kept in the source code?

We can create a branch to test that, restoring some old comments from Git history to try and confirm. The API documentation pipeline when run from the e2e build should create a docs branch we can use to look at that.

I created PR #605 that changes the YAML output to make more sense to me, but we should test it with the built documentation to make sure.