TextField NoSuchMethodError: The getter 'pasteButtonLabel' was called on null. for RU locale

If i use localization for Russian language ""ru"
and in the TextField I try to call the context menu on IOS devices  "copy / paste / cut", then I get the following error (this error is repeated on my version 1.2.1 and 1.5.4-hotfix.2):
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════ flutter: Another exception was thrown: NoSuchMethodError: The getter 'pasteButtonLabel' was called on null. flutter: Another exception was thrown: NoSuchMethodError: The getter 'pasteButtonLabel' was called on null. flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ flutter: The following NoSuchMethodError was thrown building _TextSelectionToolbar(dirty, dependencies: flutter: [_LocalizationsScope-[GlobalKey#56a01], MediaQuery]): flutter: The getter 'pasteButtonLabel' was called on null. flutter: Receiver: null flutter: Tried calling: pasteButtonLabel flutter: flutter: When the exception was thrown, this was the stack: flutter: #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5) flutter: #1      _TextSelectionToolbar.build (package:flutter/src/cupertino/text_selection.dart:97:51) flutter: #2      StatelessElement.build (package:flutter/src/widgets/framework.dart:3789:28) flutter: #3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3739:15) flutter: #4      Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #5      StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5) flutter: #6      Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #7      SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #8      Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #9      SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #10     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #11     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #12     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #13     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #14     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #15     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #16     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #17     StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #18     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #19     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4601:32) flutter: #20     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992:17) flutter: #21     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #22     _TheatreElement.update (package:flutter/src/widgets/overlay.dart:607:16) flutter: #23     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #24     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #25     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #26     StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #27     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #28     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #29     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #30     ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #31     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #32     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #33     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #34     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #35     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #36     StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #37     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #38     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #39     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #40     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #41     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #42     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #43     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #44     StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #45     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #46     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #47     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #48     ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #49     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #50     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #51     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #52     StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5) flutter: #53     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #54     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #55     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #56     ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #57     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #58     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #59     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #60     ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #61     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #62     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #63     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #64     ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #65     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #66     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #67     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #68     StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5) flutter: #69     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #70     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #71     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #72     ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #73     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #74     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #75     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #76     StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5) flutter: #77     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #78     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #79     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #80     StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #81     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #82     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #83     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #84     StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5) flutter: #85     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #86     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #87     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #88     ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #89     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #90     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #91     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #92     StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5) flutter: #93     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #94     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #95     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #96     ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #97     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #98     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #99     Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #100    ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #101    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #102    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #103    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #104    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #105    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #106    StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #107    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #108    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #109    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #110    ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #111    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #112    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #113    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #114    StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #115    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #116    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #117    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #118    ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #119    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #120    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #121    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #122    StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #123    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #124    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #125    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #126    ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #127    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #128    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #129    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #130    ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) flutter: #131    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #132    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) flutter: #133    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #134    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #135    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #136    StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) flutter: #137    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) flutter: #138    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) flutter: #139    Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) flutter: #140    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2278:33) flutter: #141    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:700:20) flutter: #142    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5) flutter: #143    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1012:15) flutter: #144    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:952:9) flutter: #145    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:773:7) flutter: #147    _Timer._runTimers (dart:isolate-patch/timer_impl.dart:382:19) flutter: #148    _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5) flutter: #149    _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12) flutter: (elided one frame from package dart:async-patch) flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
my code:
`class MyApp extends StatelessWidget {
final Iterable<LocalizationsDelegate> localDelegates =
<LocalizationsDelegate>[
AppLocalizationsDelegate(),
DefaultCupertinoLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate
];
MyApp();
@override
Widget build(BuildContext context) {
return Localizations(
delegates: localDelegates,
locale: const Locale('ru'),
child: MaterialApp(
navigatorKey: navigatorKey,
localizationsDelegates: localDelegates,
supportedLocales: [Locale("ru")],
title: '',
debugShowCheckedModeBanner: false,
theme: ThemeData(
backgroundColor: Colors.white,
brightness: Brightness.light,
primarySwatch: AppColors.greenMaterial,
primaryTextTheme: TextTheme(title: TextStyle(color: Colors.black)),
primaryIconTheme: IconThemeData(color: Colors.black),
),
builder: (context, child) {
return ScrollConfiguration(
behavior: ScrollBehavior(),
child: child,
);
},
home: FirstStub(),
));
}`
flutter doctor:
`
[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.3 18D109, locale ru)
• Flutter version 1.5.4-hotfix.2 at /Users/gevork/Documents/dev/flutter
• Framework revision 7a4c33425d (3 weeks ago), 2019-04-29 11:05:24 -0700
• Engine revision 52c7a1e849
• Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/gevork/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.2.1, Build version 10E1001
• ios-deploy 1.9.4
• CocoaPods version 1.6.1
[✓] Android Studio (version 3.4)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 35.3.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[✓] Connected device (2 available)
• Android SDK built for x86 • emulator-5554                        • android-x86 • Android 7.0 (API 24) (emulator)
• iPhone Xʀ                 • E37B882E-6BF5-4204-B180-2744AE78766F • ios         • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)
• No issues found!`

You can create your own delegate:
import 'package:flutter/foundation.dart' show SynchronousFuture;
import 'package:flutter/cupertino.dart';

class CupertinoLocalizationsDelegate extends LocalizationsDelegate<CupertinoLocalizations> {
  const CupertinoLocalizationsDelegate();

  @override
  bool isSupported(Locale locale) => <String>['en', 'ru'].contains(locale.languageCode);

  @override
  SynchronousFuture<_DefaultCupertinoLocalizations> load(Locale locale) {
    return SynchronousFuture<_DefaultCupertinoLocalizations>(
      _DefaultCupertinoLocalizations(locale.languageCode)
    );
  }

  @override
  bool shouldReload(CupertinoLocalizationsDelegate old) => false;
}

class _DefaultCupertinoLocalizations extends CupertinoLocalizations {
  _DefaultCupertinoLocalizations(this._languageCode):
    assert(_languageCode != null);

  final DefaultCupertinoLocalizations _en = const DefaultCupertinoLocalizations();
  final String _languageCode;

  final Map<String, Map<String, String>> _dict = <String, Map<String, String>>{
    'en': <String, String>{
      'alert': 'Alert',
      'copy': 'Copy',
      'paste': 'Paste',
      'cut': 'Cut',
      'selectAll': 'Select all'
    },
    'ru': <String, String>{
      'alert': 'Внимание',
      'copy': 'Копировать',
      'paste': 'Вставить',
      'cut': 'Вырезать',
      'selectAll': 'Выбрать всё'
    }
  };

  @override
  String get alertDialogLabel => _get('alert');

  @override
  String get anteMeridiemAbbreviation => _en.anteMeridiemAbbreviation;

  @override
  String get postMeridiemAbbreviation => _en.postMeridiemAbbreviation;

  @override
  String get copyButtonLabel => _get('copy');

  @override
  String get cutButtonLabel => _get('cut');

  @override
  String get pasteButtonLabel => _get('paste');

  @override
  String get selectAllButtonLabel => _get('selectAll');

  @override
  DatePickerDateOrder get datePickerDateOrder => _en.datePickerDateOrder;

  @override
  DatePickerDateTimeOrder get datePickerDateTimeOrder => _en.datePickerDateTimeOrder;

  @override
  String datePickerDayOfMonth(int dayIndex) => _en.datePickerDayOfMonth(dayIndex);

  @override
  String datePickerHour(int hour) => _en.datePickerHour(hour);

  @override
  String datePickerHourSemanticsLabel(int hour) => _en.datePickerHourSemanticsLabel(hour);

  @override
  String datePickerMediumDate(DateTime date) => _en.datePickerMediumDate(date);

  @override
  String datePickerMinute(int minute) => _en.datePickerMinute(minute);

  @override
  String datePickerMinuteSemanticsLabel(int minute) => _en.datePickerMinuteSemanticsLabel(minute);

  @override
  String datePickerMonth(int monthIndex) => _en.datePickerMonth(monthIndex);

  @override
  String datePickerYear(int yearIndex) => _en.datePickerYear(yearIndex);

  @override
  String timerPickerHour(int hour) => _en.timerPickerHour(hour);

  @override
  String timerPickerHourLabel(int hour) => _en.timerPickerHourLabel(hour);

  @override
  String timerPickerMinute(int minute) => _en.timerPickerMinute(minute);

  @override
  String timerPickerMinuteLabel(int minute) => _en.timerPickerMinuteLabel(minute);

  @override
  String timerPickerSecond(int second) => _en.timerPickerSecond(second);

  @override
  String timerPickerSecondLabel(int second) => _en.timerPickerSecondLabel(second);

  String _get(String key) {
    return _dict[_languageCode][key];
  }
}

in main.dart
localizationsDelegates: const <LocalizationsDelegate<dynamic>>[
            GlobalMaterialLocalizations.delegate,
            GlobalWidgetsLocalizations.delegate,
            CupertinoLocalizationsDelegate()
          ],

Ths Goolpe!!! It's work well!


Environment setup()/teardown()

Following on my interest for parameterised tests I'd like to add a suggestion to case #850; I'm opening a new ticket so as to not pollute that issue.
We should be able to parameterise tests on 3 levels: environment with setup()/teardown() when the test suit starts and ends; at the file level, when all tests in a file start/end and per test.
My experience with pytest shows that this allows for a much finer separation of tests into logical units and makes code reuse much easier.

I'm not sure that what works well for Python automatically transfers - so let's take this on it's own merits.
setup/teardown is usually modelled, in Catch, by just having things on the stack in a TEST_CASE, with multiple peer SECTIONS reusing them.
For cases where that's not sufficient, class-based test fixtures are supported. I hadn't planned to extend generator support to those text fixtures (although I haven't really given much thought to how much that complicates things, if at all). Do you have concerns about the SECTION based separation?

(thanks for your input on this, btw)

I hadn't thought about the SECTION separation though.
I still think an Environment setup/teardown is important - I was toying with GoogleTest and what made me decide to continue migrating my tests to it is, besides the parameterised tests, the ability to setup and clean external resources like databases on each test run.
Also, is code placed after a section called immediately after that section?

You can do that by adding a Listener. I really need to document that.
I'll do it now!

Never heard of it. Please let me know when it's done, I might not migrate to gtest then. Save me a lot of trouble.

In short a Listener hooks into the reporter pipeline (but before the reporter itself), and has the same interface (with defaults, so you only implement the events you're interested in - e.g. testCaseStarting(), testCaseEnded()).

I know nothing about the reporter pipeline. Is there any documentation for it? Btw, this is very interesting.

You got me! Reporters are not (yet) documented either!
I'm knocking up some listener documentation now.
In the meantime you might want to have a look here: https://github.com/philsquared/Catch/issues/475#issuecomment-129543664

Going through the docs, and judging only by the method names, I'd love to be able to overload these methods: https://github.com/philsquared/Catch/blob/bc68b9f454021455f35fc005e59663a62ed71bca/include/internal/catch_interfaces_reporter.h#L223
This would be exactly what I want.

Yup - that's exactly what it gives you

This is excellent, exactly what I needed. I'm going to have more questions but I'll wait for the documentation.
This may put an end for my need for parameterised tests and if testRunStarting/end behaves as I assume it does (what is a test run?) I'll just not move to gtest at all.

That sounds great! I hope it works out. The only limitation (currently - this may change in the future) that may be of note is that you can't do any assertions in a listener event.

I just need them to setup and clean data.
Very surprised this was lurking in the code all along. Can't wait for the docs.

First cut of the docs are here: https://github.com/philsquared/Catch/blob/master/docs/event-listeners.md
If there's anything not clear there let me know and I'll update it (sorry for the cop-out "look in the source" at the end - but fully documenting all those structs would be a big task for little value).
Also note that I have also just changed the registration macro to CATCH_REGISTER_LISTENER (as documented) - as it previously still had the prefix INTERNAL_ - so if you're using an older version of Catch (including the, still current, single include) you'll need that INTERNAL_ prefix for now. We should be doing a new release of the single include on Monday.

This is absolutely perfect. No more need for parameterised tests or environment setup/teardown. And it behaves very much like Python, at least the granularity.
Still shocked this secret weapon was hidden since 2015.
Closing this ticket with a big smile.

Ha! Well I'm glad it's a happy ending for you.
But it's a black mark for me for putting this off for so long (which is why I decided to just get on with it now).

One more question: in gtest the properties of classes used in parameterised tests are available for each test. Is there a way to do something similar by sharing values set on listeners?

I'm not 100% sure I follow what you're asking - but if you mean you want to maintain state in the listener that you make available to your tests then you're pretty much stuck with manipulating globals or singletons.
If that's not what you mean, though, perhaps you could restate your requirement?

You answered my question, thanks!


Root + Async = Headaches

Is there a good way to gracefully handle disposals where I have to build up values or data signals from within async/await code? E.g. loading an image asynchronously and then attaching some styles to the element afterward that create and use signals.
It would be nice to have something akin to Objective-C's non-ARC autopool that acted similar to S.root() but as a bit more manual - for example, something like:
const sroot = S.root();
try {
    await myCode();
} finally {
    sroot.release();
}

Or, I suppose alternatively, just accept an async function into S.root().

Hey @Qix-
Can you post a code example of the use case you're having issues with? I said in the issue about Promises that interop between async code and S is something I'd call a "current area of research" :).  I might be able to understand better the issue you're facing with a code example.  Plus, I'm eager to see how people are attempting to use S and async.
I mention in that issue my usual way of handling async with S, which is to proxy through a data signal, either with raw data or a generator function.
S.root() can accept an async function, since an async function is a function that returns a promise.  So your snippet could be rewritten:
S.root(async release => {
    try {
        await myCode();
    } finally {
        release();
    }
});

But that would dispose any computations created as soon as the promise returned by myCode() completed.  Not sure if that was what you intended or not.  It also won't capture any computations generated after the first await (you don't do that in the example, but if you did), as S.root() has returned by that point.
-- Adam

Your first point about disposing computations, that's a problem because the call to myCode() in this case is an async surplus element generator function.
Your second point about capturing computations outside the call also is a problem because new computations might happen outside of the call.
I mostly understand when I'm using global computations in a way where they won't be disposed. It might be useful to instead have the console warning when you try to specify a disposal function where one will never be called, though I'm not sure how feasible that is.
I'm currently seeing hundreds of warnings because of async code at the moment.
I kind of hacked it together (it's not the cleanest) but a colleague was making a matching game using react hooks and I wanted to see how easy it'd be to do one with surplus. You can see the result at https://GitHub.com/qix-/matchin-game-surplus-electron

I have a soft spot for making simple games.  I usually use surplus-toys to avoid the need for a build system and keep them single-file.
It's often important in S apps to avoid implicit state -- application state which isn't contained in a data signal and isn't immediately addressable.  In your app, the implicit state is whether the tile image has loaded yet.  If we were to ask "has the tile loaded yet?", we can't really answer it.  Instead, you're using async/await to say "we won't run this code until it has."  So the state is encoded into your execution order, which means it also has to propagate all the way up the call tree.
My advice would be to make that state explicit, by making an image data signal that starts as null and then is populated once it has arrived.
I just pulled and made the changes locally.  Where you did:
		const img = await getImage();
		const imgClone = img.cloneNode();

... I changed to ...
		// make image load state explicit via data signals
		const img = S.data(null);
		const imgClone = S.data(null);

		getImage().then(_img => {
			// populate image data signals once we have them
			img(_img);
			imgClone(_img.cloneNode());
		});

Since img was now a signal, I changed {img} to {img()} in makeTile(img).
Then strip all the async and await calls from the file.

to avoid the need for a build system and keep them single-file.

I'm a build systems nerd - this is one I build up for another app that I just stripped out for this small little exercise :) Seems overkill, because it is haha. It's part of a much larger project ;) surplus-toys is super neat though!

My advice would be to make that state explicit, by making an image data signal that starts as null and then is populated once it has arrived.

Derp, that's so obvious now. I think this is also a side effect of me mixing logic with my display code, which I did here for time's sake but wouldn't normally do.
Thanks, this is much better.


Fix route missing when exception thrown and handled/unhandled.

It also fix the error of processing response without content, e.g. 204
According to Per's request (https://github.com/perwendel/spark/pull/352#issuecomment-149323246) for PR #349 reformat code using spark's code style.
Also, reformat some log messages in MatcherFilter because it's really useful for the issue.

ping @perwendel


[Vue] Get scroll position value while scrolling

Hello,
I am trying to fetch the scroll position value whilst scrolling,
I found that the ability to listen to scroll events has been added in #569,
but I can't find any examples or anything regarding on how to properly
get scrolling data.

So, turns out the solution is pretty simple:
I added @scroll to my simplebar element:
    <simplebar

      @scroll="getScrollPosition"
      class="list-simplebar"
      data-simplebar-direction="rtl"
      data-simplebar-auto-hide="false"
    >
 ..
    </simplebar>

and then in the method used el.target to get scroll positions:
 methods: {
    getScrollPosition: function (el) {
      console.log(el.target.offsetHeight);
      console.log(el.target.scrollTop);
      console.log(el.target.scrollHeight);

    },
  },


The extension doesn't work in the latest Opera

Version
5.1.1
Browser and OS info
Opera 62 / Windows 10
Steps to reproduce

Install the extension
Open a "vue" website
Open Dev Tools
Click on Vue tab
See empty results: no message about the detected version, no components

What is expected?
See the stuff
What is actually happening?
No content, just UI

Feel free to ping me if you need any details.
Thanks 😉

¡Opera es un buen navegador! ¡Puedo decirte con seguridad! Simplemente desactive las cosas que no necesita.

https://www.youtube.com/watch?v=gHGr-yDfQMM


Remove EmptyAffectedEntitiesProvider

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

33 of 38 (86.84%)  changed or added relevant lines in 11 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.04%) to 88.615%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/LLL.ComputedExpression.EFCore/DbContextExtensions.cs
1
2
50.0%

src/LLL.ComputedExpression.EFCore/Internal/ComputedRuntimeConvention.cs
3
4
75.0%

src/LLL.ComputedExpression/EntityContexts/NavigationEntityContext.cs
7
8
87.5%

src/LLL.ComputedExpression/EntityContexts/UntrackedEntityContext.cs
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.04%

Covered Lines:
864

Relevant Lines:
975

💛  - Coveralls


MSL: Don't append v_ identifier

Fix #2128.
v_ identifier breaks for block IO variables where they are later used as arguments. This modifies the variable name after it has been latched by patch-code which copies struct to IO members.
The identifiers should be fine to use as-is.

@cdavis5e @billhollings  Not sure who of you added this, but would be good to make sure this won't break CTS in half.

@cdavis5e @billhollings Not sure who of you added this, but would be good to make sure this won't break CTS in half.

Thanks for checking!
This change does introduce about 150 CTS regression failures. All seem to be due to MSL compilation errors cause by the naming of virtual samplers in non-main function declarations.
Error:
program_source:27:20: error: use of undeclared identifier '_12Smplr'; did you mean '_51Smplr'?
    if (_12.sample(_12Smplr, ((_16.xy * 0.25) + float2(0.5))).x < 0.699999988079071044921875)
                   ^~~~~~~~
                   _51Smplr
program_source:25:39: note: '_51Smplr' declared here
void _6(texture2d<float> _12, sampler _51Smplr, thread float4& _16)

Original MSL:
static inline __attribute__((always_inline))
void _6(texture2d<float> v_12, sampler v_12Smplr, thread float4& v_16)
{
    if (v_12.sample(v_12Smplr, ((v_16.xy * 0.25) + float2(0.5))).x < 0.699999988079071044921875)
    {
        discard_fragment();
    }
}

Changed MSL:
static inline __attribute__((always_inline))
void _6(texture2d<float> _12, sampler _51Smplr, thread float4& _16)
{
    if (_12.sample(_12Smplr, ((_16.xy * 0.25) + float2(0.5))).x < 0.699999988079071044921875)
    {
        discard_fragment();
    }
}

The full log of the failing run above, including SPIR-V and full MSL:
SPIRV-Cross-CTS-regression.txt

@billhollings Think I fixed it now. Added a regression test for it.


Add ApiKey::request_header_version/response_header_version

Supercedes https://github.com/tychedelia/kafka-protocol-rs/pull/21
Provides a minimal fix to the header version situation.
Helper methods are added to ApiKey to allow correctly determining the header version.
Previously incorrect documentation now uses these helpers to correctly decode a request header.
This immediately gives users a way (albeit a clunky one) to correctly decode request headers.
A better high level solution can be investigated later on that uses these new methods as a building block.

@rukai Cut https://crates.io/crates/kafka-protocol/0.6.0 with your changes.

Oh, I'm pretty sure this PR didnt introduce any breaking changes?

Regardless, thankyou for the quick release!


Update B027 to support autofixing

Adding the ability to autofix B027 errors from bugbear by adding an @abstractmethod decorator above the offending function.
Resolves #4163

Thanks for the contribution!


new term request: Disodium guanylate

See: https://en.wikipedia.org/wiki/Disodium_guanylate

Now done - see  CHEBI:132932.
Best regards,
Gareth


Selection box goes outside when scrolling(by swiping the screen) in iOS Emulator in Ionic 2

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[x] 2.x
[ ] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

Platform : iOS 10.3
Device : Emulator(iPhone 7 Plus)
In the input component input, I write something and select it, then I swipe(using mouse) the screen to scroll,
during that time, the selection box moves outside of the input component.
Expected behavior:
The selection box and the cursor of the input should stay in the right place during scrolling of
the screen when swiping.
Steps to reproduce:

create a blank ionic 2 app with
ionic start SelectionTest blank --v2

then in the home.html file, add 10 buttons
then one input then again more 10 buttons.

then swipe the screen to scroll

Other information:
I tried some ways to solve this problem including using ApplicationRef to force update the
screen. But I couldn't able to solve the problem.
Ionic info:
Cordova CLI: 7.0.1
Ionic Framework Version: 3.6.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 2.1.3
ios-deploy version: 1.9.1
ios-sim version: Not installed
OS: macOS Sierra
Node Version: v6.11.1
Xcode version: Xcode 8.3.3 Build version 8E3004b

Hello! Thank you for opening an issue with us! Would you be able to provide a sample application via GitHub that demonstrates the issue you are having?
I attempted to duplicate this using version 3.6.0 of the ionic framework and was unable to.
Thanks for using Ionic!

Hello! Is this still an issue with the latest version of ionic? If so, please provide a GitHub repo with a sample application that demonstrates your issue and I will reopen the issue.
Thanks!

@kensodemann
Sorry for the late reply. I have uploaded my project on github
https://github.com/rifathaqueamit/SelectionTest
You have to build and run on real device or in emulator to check. I also added a video (https://youtu.be/19brzIqD1Js) done in iPhone4s where you can see this issue (watch from 25seconds)

Hello! Thank you for opening an issue with us!
I was able to reproduce with your sample application. I also installed WKWebView and it still occurred. I also updated your plugins, ionic-angular version, etc. Will try later with similar app generated fresh using the latest versions of Ionic.
Thank you for using Ionic

Is the bug fixed with latest version of Ionic ?


Warning

Hello, on section Activate the Flows is missing to turn on the flow CLEANUP HELPER - Check Deleted (Custom Connectors) before activating the flow CLEANUP - Admin | Sync Template v3 (Check Deleted)

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

ID: 9fe69498-a485-5379-97ff-53fbe029f11a
Version Independent ID: 5b3f9705-9e49-1575-4ae7-0293d12b739c
Content: Set up core components - Power Platform
Content Source: power-platform/guidance/coe/setup-core-components.md
Service: power-platform
Sub-service: guidance
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

Thanks for the feedback! We are updating our docs for the January release, and I have fixed this locally for the next docs update now!


Running into a issue while running iot-edge-samples for JS.

I get the following error when I try to run the samples for JS after following the steps mentioned in the README -

<EMAIL_ADDRESS>cloud C:\Users\hrishikesh\Desktop\Azure IOT edge trials\iot-edge-samples\js
node app.js cloud

Error: Time:Wed Jun 28 18:37:32 2017 File:C:\agent_work\2\s\iot-edge\core\adapters\dynamic_library_windows.c Func:DynamicLibrary_LoadLibrary Line:17 Error Loading Library. Error code is:  126
Error: Time:Wed Jun 28 18:37:32 2017 File:C:\agent_work\2\s\iot-edge\core\src\module_loaders\node_loader.c Func:NodeModuleLoader_Load Line:79 NodeModuleLoader_LoadBindingModule returned NULL
Error: Time:Wed Jun 28 18:37:32 2017 File:C:\agent_work\2\s\iot-edge\core\src\gateway_internal.c Func:gateway_addmodule_internal Line:400 Failed to add module because the module could not be loaded.
Error: Time:Wed Jun 28 18:37:32 2017 File:C:\agent_work\2\s\iot-edge\core\src\gateway_createfromjson.c Func:Gateway_CreateFromJson Line:78 Failed to create gateway using lower level library.
Error: Time:Wed Jun 28 18:37:32 2017 File:C:\agent_work\2\s\src\gw\src\main.c Func:main Line:50 An error occurred while creating the gateway.
Gateway child process exited with code = 1

Hi guys, any pointers on this issue would be helpful.

Can you do a git pull and try again, it looks like you are in the wrong working directory... the correct path should be iot-edge-samples\js\simple.

Per https://github.com/Azure/iot-edge/issues/331, this is due to trying to use an unsupported OS.

@anweiss Please try latest version(1.1.4) of azure-iot-gateway, it starts to support Debian Jessie and Raspbian.


Validate HA configs

There should be no service disruption when:

Master went down
One node goes offline
One node got OOM
One node got drained

Some thoughts on this one:
Need a test system to perform continuous test for a cluster definition (ex. our examples), especially HA tests:
* Build a test cluster with certain configurations to test different scenarios
* Automated build of master and nodes (maybe dynamically addition/removal of nodes too)
* Automated deployment of some test applications
* Disable some server or components to simulate a failure
* Perform load test in the mean time and observe. Check for any service disruption (primary) and gather performance stats (secondary)
* Tear down the test cluster
Part of this sounds out of reach of Archon. So it's potentially a new tool. Maybe a script that makes use of archon. Maybe your new test framework too.

Will https://github.com/kubernetes/test-infra be helpful be helpful?

Possible.
But due to lack of documentation, we have limited knowledge of what it is and how it should be used. For a deployed cluster, the most useful tests are e2e tests, which can be run from remote and are perfect for this case. However after looking through conformance test code, I suspect they don't really cover the issues listed above.

Can we build something like chaos monkey to simulate failures while watching for overall service health? We could leave it running for a while and gather some stats.
I think all the failure cases can be tested in a e2e tests. Maybe we just need a way to detect service disruption.

Yes. But that's only one of the steps. If we want to automate the whole thing, we will need to automate the setup of the cluster in a real environment (aliyun or aws) with Archon, and the deployment of all these test related tools. Jenkins is an obvious option. Maybe we can start with automating setup of a staging 3-node cluster on Aliyun and run e2e tests on it as a start.

How about we setup a cluster with archon running in it. Each test case could define their own cluster with yaml files. In Jenkinsfile, they setup a new cluster with kubectl. Then launch test in the newly created cluster and get the result. After the test ended, they could tear down the cluster using kubectl delete.

Why not just use --local?

Because we don't have to setup credentials locally?

I think it's acceptable to put a credential with limited privileges in the CI system for testing purposes. However, if the intermediate cluster you talked about is also a part of the test, it somehow makes sense.


Community Data

The intro text to wikidata.org hits the high-level:

Wikidata is a free knowledge base that can be read and edited by humans and machines alike. It is for data what Wikimedia Commons is for media files: it centralizes access to and management of structured data, such as interwiki references and statistical information. Wikidata contains data in every language supported by the MediaWiki software.

After some conversations with folks involved with WikiData, I can see its role on the web in a more sensitive light. There is on-going movement (formal and informal) to address the observable decline in user base (and dwindling conversions of new users to returning editors) to Wikimedia projects, especially the English Wikipedia.
However, the trajectory of Wikimedia projects is certainly on the rise--its aggregate dataset (semi-structured text and structured-ish data alike) continues to grow. There are 48,794,118 good articles and  20,054,661 images across 200 Wikimedia projects.
WikiData exemplifies another transition for the community-driven knowledge project that sprouted from the English language Wikipedia. The future of the sum of all human knowledge is human- and programmatically-accessible, community-managed, and open-licensed.
The opportunity of WikiData is a basic, but large layer for data that matters to people.
The community around Wikipedia grew out of natural inclinations and interests. As a result, the majority of editors who generate this content are not nearly as diverse a group as we should require. This produces errors of omission, limited views and perspective, and a propagation of some elements of some cultures, but not many other elements, and not many other entire cultures. For instance, there is an English-centric focus of Wikimedia work, and the gender imbalance both in coverage and editors is clearly unacceptable.
We have a chance to be mindful of the prospect of WikiData, and I think even embrace it, plan to work with it, to integrate, and make read-write relationships. We must do this, more than anything, because there are few alternatives for constructing and maintaining data that prioritize community values and common good.
Perhaps dat does not necessarily merge, even at its beginning, with WikiData, but I think the example and its principles should be some good food for thought!

Love Wikidata. We'd love to make wikidata datasets dat clone-able. If you have any insight into who might want to bottomline that task, I'd love to help..

This issue was moved to datproject/discussions#42


Allow matter js bodies to render their debug graphics individually

Please do not update the README or Change Log, we will do this when we merge your PR.
This PR

Fixes a bug

Describe the changes below:
This small change allows the debug graphics to be turned off and on individually for matter js bodies. Before this commit, if a body has their render.visible value set to false, it stops all subsequent debug graphics from rendering.

👍


Find out if element is still in cache

I have a setup similar to the disk overflow example in the HTreeMap documentation. When I get the element from the map, and that element got flushed to disk, it blocks until the element got loaded and deserialized, which might take a while. Is there a way to find out if an item is still easily accessible in the memory cache?

It actually is quite simple:
cache.containsKey(key);

does not return if an item was added, but if it was added and is still in the cache. If the item got evicted to disk, then that HTreeMap now contains the value and returns  true on that method.
This is not a totally intuitive behavior (I found it through trial and error) that can lead to unexpected situations in some cases. Some documentation wouldn't harm here.

So, this workaround theoretically works, but in practice, it has some interesting side effects. As far as I can read Kotlin, containsKey:

Actually retrieves the key with getprotected and tests if it is !=null
Getting an element requires the read lock, no problem. But if the expireAfterGet() setting is set, it does actually need the write lock (!).
But the write lock is already held by the eviction background thread which takes its time to serialize elements.

So in the end, my main Thread calls containsKey to check if an element is available without having to wait for deserialization and waits until the last (de)serialization in the background thread finished. Oh, that irony.
This is how it looks like in the Thread dump:
"pool-2-thread-3" #20 prio=5 os_prio=0 tid=0x0000000019a75000 nid=0x1e68 waiting on condition [0x000000001e71e000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000890e7058> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
        at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:943)
        at org.mapdb.HTreeMap.remove(HTreeMap.kt:1393)
        at togos.minecraft.maprend.gui.RenderedImage.setImage(RenderedImage.java:25)
		[...]

   Locked ownable synchronizers:
        - <0x00000000890b7608> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-2-thread-2" #19 prio=5 os_prio=0 tid=0x0000000019a74000 nid=0x11e4 waiting on condition [0x000000001e61e000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000890e7058> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
        at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:943)
        at org.mapdb.HTreeMap.remove(HTreeMap.kt:1393)
        at togos.minecraft.maprend.gui.RenderedImage.setImage(RenderedImage.java:25)
		[...]

   Locked ownable synchronizers:
        - <0x00000000890b79f8> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"pool-2-thread-1" #18 prio=5 os_prio=0 tid=0x0000000019932000 nid=0x286c runnable [0x000000001e51d000]
   java.lang.Thread.State: RUNNABLE
        at java.util.zip.Deflater.deflateBytes(Native Method)
        at java.util.zip.Deflater.deflate(Deflater.java:444)
        - locked <0x00000000e2075d88> (a java.util.zip.ZStreamRef)
        at java.util.zip.Deflater.deflate(Deflater.java:366)
        at com.sun.imageio.plugins.png.IDATOutputStream.deflate(PNGImageWriter.java:221)
        at com.sun.imageio.plugins.png.IDATOutputStream.write(PNGImageWriter.java:215)
        at com.sun.imageio.plugins.png.PNGImageWriter.encodePass(PNGImageWriter.java:908)
        at com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT(PNGImageWriter.java:942)
        at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1158)
        at javax.imageio.ImageWriter.write(ImageWriter.java:615)
        at javax.imageio.ImageIO.doWrite(ImageIO.java:1612)
        at javax.imageio.ImageIO.write(ImageIO.java:1578)
        at togos.minecraft.maprend.gui.RenderedMap$1.serialize(RenderedMap.java:34)
        at togos.minecraft.maprend.gui.RenderedMap$1.serialize(RenderedMap.java:1)
        at org.mapdb.StoreDirectAbstract.serialize(StoreDirectAbstract.kt:243)
        at org.mapdb.StoreDirect.put(StoreDirect.kt:589)
        at org.mapdb.HTreeMap.valueWrap(HTreeMap.kt:1210)
        at org.mapdb.HTreeMap.putprotected(HTreeMap.kt:344)
        at org.mapdb.HTreeMap.put(HTreeMap.kt:324)
        at org.mapdb.DB$HashMapMaker$verify$listener$1.modify(DB.kt:742)
        at org.mapdb.HTreeMap.listenerNotify(HTreeMap.kt:1191)
        at org.mapdb.HTreeMap.removeprotected(HTreeMap.kt:513)
        at org.mapdb.HTreeMap.expireEvictEntry(HTreeMap.kt:914)
        at org.mapdb.HTreeMap$expireEvictSegment$1.take(HTreeMap.kt:881)
        at org.mapdb.QueueLong.takeUntil(QueueLong.kt:153)
        at org.mapdb.HTreeMap.expireEvictSegment(HTreeMap.kt:859)
        at org.mapdb.HTreeMap$1.run(HTreeMap.kt:146)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
        - <0x00000000890b7ca8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
        - <0x00000000890e7058> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
        - <0x00000000890f2150> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)

"JavaFX Application Thread" #13 prio=5 os_prio=0 tid=0x00000000190fe800 nid=0x2950 waiting on condition [0x000000001a41c000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000890e7058> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
        at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:943)
        at org.mapdb.HTreeMap.containsKey(HTreeMap.kt:1408)
        at togos.minecraft.maprend.gui.RenderedImage.getImage(RenderedImage.java:45)
        at togos.minecraft.maprend.gui.RenderedRegion.draw(RenderedRegion.java:146)
		[...]

   Locked ownable synchronizers:
        - None

Two of the worker threads from the thread pool want to set an image and wait for the lock. The third one is the eviction background thread that holds the lock while serializing images to disk. No problem.
The JavaFX Application Thread wants to know if an image is loaded in RAM with containsKey and now waits for the write lock to release. And that really shouldn't happen at all.
For reference, my RenderedImage class:
package togos.minecraft.maprend.gui;

import java.util.Objects;
import org.joml.Vector3ic;
import org.mapdb.HTreeMap;
import javafx.scene.image.WritableImage;

public class RenderedImage {

	// private WritableImage image;
	private final Vector3ic								key;
	private final HTreeMap<Vector3ic, WritableImage>	cache;
	private volatile boolean							hasValue	= false;

	public RenderedImage(HTreeMap<Vector3ic, WritableImage> cache, Vector3ic key) {
		this.cache = Objects.requireNonNull(cache);
		this.key = Objects.requireNonNull(key);
		// System.out.println(cache + " " + key);
	}

	public void setImage(WritableImage image) {
		// this.image = image;
		// System.out.println(cache + " " + key + " " + image);
		if (image == null)
			cache.remove(key);
		else
			cache.put(key, image);
		hasValue = image != null;
	}

	/** Returns if the last {@link #setImage(WritableImage)} call was with a non-null value. */
	public boolean isImageSet() {
		return hasValue;
	}

	/**
	 * Returns true if the image is loaded in RAM, causing {@link #getImage(boolean)} to return immediately. Returns false if the image got written to disk to
	 * save memory.
	 */
	public boolean isImageLoaded() {
		return cache.containsKey(key);
	}

	public WritableImage getImage(boolean force) {
		return (force || cache.containsKey(key)) ? cache.get(key) : null;
	}
}

Here's my workaround for the issue:

    protected Set<Vector3ic> unloaded = ConcurrentHashMap.newKeySet();
    public final Serializer<Vector3ic> VECTOR_SERIALIZER = new Serializer<Vector3ic>() {
        @SuppressWarnings("unchecked")
        @Override
        public void serialize(DataOutput2 out, Vector3ic value) throws IOException {
            unloaded.add(value);
            Serializer.JAVA.serialize(out, value);
        }

        @Override
        public Vector3ic deserialize(DataInput2 input, int available) throws IOException {
            Vector3ic value = (Vector3ic) Serializer.JAVA.deserialize(input, available);
            unloaded.remove(value);
            return value;
        }
    };

unloaded contains the keys for all elements that are not directly accessible and is updated with each (de)serialization. Ugly, but works.

Hi guys, I think this is solved in 4.0 branch. External values are not loaded for keySet().contains(). I am not going to port this bug to 3.0, too many changes.
Will keep this  issue open to make sure this is fixed and documented in new release.


[Bug] is a dynamic table a table?

Is this a new bug in dbt-snowflake?

[X] I believe this is a new bug in dbt-snowflake
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
dynamic tables are tables causing the following check to fail:
{%- set existing_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}
   {% if existing_relation is not none and not existing_relation.is_table %}
     {{ log("Dropping relation " ~ existing_relation ~ " because it is of type " ~ existing_relation.type, True) }}
     {{ drop_relation_if_exists(existing_relation) }}
   {% else %}
     {{ log("Keeping relation " ~ existing_relation ~ " because it is of type " ~ existing_relation.type, True) }}
   {% endif %}

doesn't drop then issues the standard create or replace table as ...
This prints the message Keeping relation "DEV_mydatabase"."raw"."mytable" because it is of type table
then fails with SQL compilation error:   Object 'mytable' already exists as DYNAMIC_TABLE
Expected Behavior
because snowflake considers table and dynamic table to be different object types (as per the error message, grant allocations, and assorted other different capabilities) that "is table" would be 'false' for a dynamic table.
Steps To Reproduce

create a dynamic table create dynamic test_table as select 1
setup a dbt model for 'test_table' to use the snoflake table materialiser for this table, instead of a dynamic table/
watch it fail.

Relevant log output
No response
Environment
- OS:
- Python:
- dbt-core: 1.7.11
- dbt-snowflake: 1.7.3

Additional Context
although the above fragment is my code, dbt-snowflake has the same check:
https://github.com/dbt-labs/dbt-snowflake/blob/87a6e808dfb025df1eeef3741ad3822635249889/dbt/include/snowflake/macros/materializations/table.sql#L19

could this be another example of https://github.com/dbt-labs/dbt-snowflake/issues/1016 ? - which required an updated 'is_dynamic' table check - the current table code only has the outer check?
 {% if existing_relation.is_table %}
    {% set is_dynamic_table = (snowflake__describe_dynamic_table(existing_relation).dynamic_table.rows | length > 0) %}
    {% if is_dynamic_table %}
        {% set existing_relation = existing_relation.incorporate(type=this.DynamicTable) %}
    {% endif %}
   {% endif %}

@AartBluestoke Thanks! I'm going to close this as a duplicate of these issues, addressing the same concern:

https://github.com/dbt-labs/dbt-snowflake/issues/1038
https://github.com/dbt-labs/dbt-snowflake/issues/1040


[CodeCompeltion] Suggest 'macOS' instead of 'OSX'

'macOS' is the preferred name for specifying the platform. Since 'OSX' is deprecated, we don't need to suggest 'OSX' variants.
rdar://problem/64379019

@swift-ci Please smoke test

@swift-ci Please smoke test

Windows https://ci-external.swift.org/job/swift-PR-windows/4290/


Add scripts/snabb_doc.sh

I added a new cron job “SnabbDoctor” to davos that will render and publish HTML renderings of our documentation.

the current release's documentation can be found at http://snabbco.github.io/
a tags documentation can be found at tag/<tag>.html, e.g. http://snabbco.github.io/tag/v2016.03.html
Pull Requests have a new status that points to the documentation for that PR at sha1/<sha1>.html

Or so I thought, bear with me to figure out why SnabbDoctor failed on this PR.

Very nice work!  LGTM; I guess you are the upstream for this though?

@eugeneia Great work!
Can you please make a plan with @domenkozar to migrate all of this infrastructure into the nixops-managed snabblab universe? I would like to phase out running infrastructure on single-point-of-failure servers and with out-of-tree scripts e.g. cron jobs. This is fragile and we are lucky to have gotten away with it for as long as we have.
I would then see what solution you guys cook up and adopt that for the little script that mirrors registered branches on the SnabbCo repo :).

@eugeneia @lukego I can add this cronjob to https://github.com/snabblab/snabblab-nixos/ repository and configure it to run on eiger.
@eugeneia
What credentials are you using for github?
Can you paste me the cronjob line currently on davos?
Thanks1

@domenkozar @eugeneia I believe we have a dependency here on snabblab/snabblab-nixos#13. That issue is closed but I am not sure if we have verified it working.
I also think we need to be conscious of which Github credentials we install on a shared machine like eiger. This should not include write access to the Snabb repository for example. We should either lock down the Github permissions to a safe level or host them somewhere more locked-down.
Relatedly: is it a good or a bad idea to make Hydra execute the builds and tests and for SnabbBot to check the results and report to Github? (Why?)


Identity UI enhancements

This is all hidden behind a feature flag query param: subAccounts=true
Because this is a breaking change for consumers, I have made this an "opt in" feature that can be enabled by setting the query param. Once the proper messaging has been provided and ample time has been given for migrations, we can remove this flag and make it the default behavior.
If an app is using the deso-js library, this behavior will be turned on by default. Mostly the feature flag is to keep apps using the legacy "access level" identity APIs functioning properly.

Adds the ability to remove an account from the account selector list. This will remain hidden unless the user re-imports the account, at which point it will show up in the list again.
Adds a lastLoggedInTimestamp any time a user is either selected from the account select list or added via a signup method. We use this to sort DESC by most recently logged in.
Adds the ability to create unlimited sub accounts from a single seed phrase.
Fix derived key login flow where users that have already been issued a "login" derived key no longer need to re-approve a new derived key if they choose they same account again.

Related PR:
https://github.com/deso-protocol/identity/pull/261

Migrated to a graphite stack PR.


Fix Okapi BM25 wikipedia link in README.md

https://en.wikipedia.org/wiki/Okapi_BM25 instead of https://en.wikipedia.org/wiki/Okapi

lol thank you :) 🦙


LIB - p2p layer interface

Need to implement a “wrapper” p2p library around DEVp2p. Will expose basic functionality, e.g.:

peer discovery
transaction storage/retrieval
storage/retrieval fee/incentive (?)

hmm, it seems storage/retrieval and fee/incentive mgmt should actually occur at network layer

etc

This layer will initialize and maintain the node ID, separate from submitter ID. Node ID is only used for peer discovery and handshake. (If there is any “storage” incentive, that’d be to the node ID account, and then node owner will need to figure out a way to transfer that credit to submitter accounts, which can redeem them for storage of new transactions)

Should this layer actually also cover the peer handshake? So, basically this layer becomes the current “network” layer in trust-node implementation (with underlying consensus layer changed)? According to our layer slicing, it would not make sense to stuff consensus within this p2p layer, and hence its better off keeping p2p layer just a wrapper around DEVp2p.

Another open question is around the layering — with trust-node implementation the consensus layer was “composed” within the network layer, and not the other way round (i.e. consensus layer is higher in stack over the lower level p2p layer). Is that functional layering architecture?
It seems, this is absolutely functional, just like OSI stack, just need to design and layer rest of the protocol stack appropriately.

P2P Handshake
How will handshake happen during peer connection?
In the classic DEVp2p/Eth based trust-net implementation, the application implements handshake, which is very tightly coupled with DEVp2p interface. If we want to isolate DEVp2p into this “wrapper” p2p layer then we need to define how handshake, as well as all other rest of application functionality, can be cleanly decoupled from the DEVp2p specifics (e.g. p2p.Peer, p2p.MsgReadWriter).

What about network/shard compatibility
In our P2P layer configuration, we are only matching protocol name and protocol version. Any additional compatibility check would be at the application level (network layer), since network/shard is a network/application concept. Whenever applicable, upper layer will run the compatibility check as part of its handshake exchange.


Bump git-utils

Pick up https://github.com/atom/git-utils/pull/61.
Should fix #3627.

:boat:

:boat:

Shouldn't this be merged in stable and beta branches also as bug affects them too?

We generally only target stable or beta when fixing a regression. This'll end up in those branches as part of the usual rolling of the railcars.


Security Test

@aWJtC , can you explain bit more about your changes

Hi,
Those changes are bogus. Simply a security test, checking if pull requests
from fork are automatically build.
On Mon, Dec 6, 2021 at 10:51 AM 'Arashad Ahamad' via aWJtC <
@.***> wrote:

@aWJtC https://github.com/aWJtC , can you explain bit more about your
changes
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IBM/ibmcloud-volume-vpc/pull/34#issuecomment-986659637,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWYGASZ5JYTASHCEEDLHDODUPSIS3ANCNFSM5JIGGBRQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
--
You received this message because you are subscribed to the Google Groups
"aWJtC" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to @.***


Attempt Content-Type negociation

In addition to #1, should marshall function result into something that the client can Accept:

Closed with 680c667b06b88b5014dcea506545613075973b50


[Feedback]: Migration path from App Service to Container Apps

Hello,
We currently have 3 APIs which are hosted in Azure using App Services (Windows).
Two of them sit behind an API Management instance and one of them is directly accessible from the Internet.
We are looking at moving towards Container Apps, however we found a few feature gaps that we'd like to highlight:

Inbound traffic cannot be easily restricted only to specific IP addresses (e.g., APIM's public IP address) - this is tracked via https://github.com/microsoft/azure-container-apps/issues/243
Swapping / zero-downtime deployment doesn't seem fully supported, or it requires additional effort from our side to warm up the instances - this is tracked via https://github.com/microsoft/azure-container-apps/issues/244
No Key Vault integration. We use Key Vault integration mainly to achieve truly immutable "revisions", since we leverage the versioning of a Key Vault secret, this allows us to independently update a secret and control when the new version of the secret is being picked up. Key Vault integration is partially tracked via https://github.com/microsoft/azure-container-apps/issues/39
No "out-of-the-box" file logging support. We use the Storage Account application logs with Microsoft.Extensions.Logging.AzureAppServices for some of our larger logs (e.g., to capture request / response body) when we want to turn on additional logging to investigate an issue. Not a really big deal breaker, as most likely this could be solved via storage mounts, we could use some guidance for this though. Please note that we prefer file logging for large log entries due to size / cost limitations by other logging sinks such as Application Insights
Terraform support - this is tracked via https://github.com/hashicorp/terraform-provider-azurerm/issues/14122

I know this is still early days, however we're hoping that maybe in a 6 months timeframe most of the items above will be addressed (either directly or with reasonable developer effort) and that we'll then be able to make the switch from an App Service to Container Apps.
Thank you,
Cosmin

@cosminstirbu the last point (terraform support) is covered for now by the AzApi provider, more info here

Thanks for this, will review with the team and take into account.

@cosminstirbu for KeyVault, is there anything preventing you from using the KeyVault client to pull secrets at runtime, and using a managed identity to authenticate with KeyVault?

@vturecek - that is a reasonable alternative. I am a bit concerned about how that might impact the startup time of the application. Injecting (presumably cached) secrets from outside rather than reading them from a remote location at startup seems like it would be faster.
Maybe it's a non-issue though for most cases, I am happy for it to be de-prioritized over the other feature gaps.

The Azure Container Apps service does not support Windows containers. Please refer to individual GitHub issues mentioned for progress of specific enhancements/features requested.


Failed to complete chroot setup

I do not know how to handle it . I am using samsung chromebook plus .

@pskishere,
I think you need to delete it and start over.
Hope this helps,
-DennisL


[Feature] Local & CI test setup for TheGraph bindings

Feature Description

Need to be able to test the Subgraph bindings (conversion of Eth events to data storage), locally & in CI rather than relying on Subgraph studio, which is neither local or CI, but against a test network with notable delays.
Additional Information

Details on setting up a local Subgraph.
https://medium.com/coinmonks/deploy-subgraphs-to-any-evm-aaaccc3559f
Run Gnache with Hardhat in local RPC mode (this may interesting to get working on both CI and local)
https://hardhat.org/getting-started/#connecting-a-wallet-or-dapp-to-hardhat-network

Also PoolTogether example https://github.com/pooltogether/pooltogether-subgraph-v3/tree/a2ea66a9b7f76d8f6c0bac39d03f9974e35f3973

Theres also https://github.com/LimeChain/matchstick-as for testing the mappings from mocked event values 🚀

closed by https://github.com/windranger-io/windranger-treasury-subgraph


error (null)

this is line 40
SizedBox(height: 70.h)
When the exception was thrown, this was the stack:
#0      Element.widget (package:flutter/src/widgets/framework.dart:3361:31)
#1      debugCheckHasMediaQuery. (package:flutter/src/widgets/debug.dart:296:17)
#2      debugCheckHasMediaQuery (package:flutter/src/widgets/debug.dart:311:4)
#3      MediaQuery._of (package:flutter/src/widgets/media_query.dart:1017:12)
#4      MediaQuery.of (package:flutter/src/widgets/media_query.dart:1013:12)
#5      ScreenUtil.screenHeight (package:flutter_screenutil/src/screen_util.dart:157:37)
#6      ScreenUtil.scaleHeight (package:flutter_screenutil/src/screen_util.dart:175:52)
#7      ScreenUtil.setHeight (package:flutter_screenutil/src/screen_util.dart:196:44)
#8      SizeExtension.h (package:flutter_screenutil/src/size_extension.dart:12:32)
#9      HomeScreen.build.
(/src//home_screen.dart:40:41)

Can you provide reproducible code


separate risk calculation (probe) and anonymity transformation (actuator)

I believe @hebertos  has already performed this, @alexmbraga .
Right, @hebertos ?


add support for status in services

@DanielJMaher @FBRTMaka review pls...should affect anything

@FBRTMaka This good?

cool beans!


Update to reflect changes in Organization account

Update the Organization account page

add info on availability and pricing

Fix references to the renamed 'Organizations' tab
Update some screenshots (make them more focused) - mainly seeing how it works with the screenshots trimmed down - I will update them all, I think
Update other screenshots - please ignore these, I got carried away (it needed doing)

Check out the preview: https://docs.apify.com/access-rights/organization-account?version=update/organization-account-docs

Noice, we should publish our docs as a book! :D

Noice, we should publish our docs as a book! :D

@m-murasovs

@m-murasovs


Updated Service discovery (Consul service discovery) for Choreo Connect - added description for k8s

@samgnaniah please review


Fixed an exception.

Fixes a small exception where the commands array in DefaultCommandHandler would be null causing the LINQ expression to fail.

Don't merge this yet, this won't fix the root cause of the issue,


Allow multiple slide position

As per title, consider a case where user can slide either left or up

This functionality is already in the library, please take a look at the Readme again.

Ops. Sorry I mean, user can slide more than a position. The config only allows us to input a position only. Lets say I allow user to slide left, right and bottom.

aahhhh, gotcha. Unfortunately I feel that this won't be possible due to needing multiple ViewDragHelper objects to achieve this kind of functionality and that they will probably start colliding and conflicting with each other producing visual artifacts.
Also, this kind of functionality is a bit out of scope for what I intended for this project so it is unlikely that I will pursue implementing this. However, you are more than welcome to fork and try to implement it yourself.

I see. I dont think you need multiple ViewDragHelper. ViewDragHelper has EDGE_ALL flag. The only thing need to worry is the callback right?

Yah, I suppose its possible if you ignore the clamp methods.


Feature: Dangling commas in JSONC

Environment
ESLint version: 9.12.0
@eslint/json version: 0.5.0
Node version: 22.9.0
npm version: 10.9.0
Operating System: MacOS 15.0.1
What problem do you want to solve?
The json plugin parses JSONC files with @humanwhocodes/momoa.  In version 3.3.0 of momoa, there is now the option to allow trailing commas in JSONC files, using the allowTrailingCommas: true option.  See the decision for more information.
As a new feature in @eslint/json, it would be nice to either:
a) Turn on this option by default for JSONC
b) Allow setting this in the languageOptions for JSONC, with default to true
c) Allow setting this in the languageOptions for JSONC, with default to false
Because many common JSONC files (all of the vscode config files and the tsconfig.json file) allow trailing commas, a-c are my order of preference.  However, since the Microsoft JSONC parser defaults to false, it is completely reasonable to pick c.
link to momoa issue.
What do you think is the correct solution?
Turn on allowTrailingCommas in the call to momoa.
Participation

[x] I am willing to submit a pull request for this change.

Additional comments
No response

I'll work on this. There's a specific way I'd like to implement this.


Add noise to sensors (wind, GPS, etc.) and acceleration/changes to speed in AIS

We should test that our system is robust to sensor noise and changing boat speeds.

This would be a really helpful task for us. Probably best to break into two PRs:

Some type of noise to wind/GPS. Probably best put into https://github.com/UBCSailbot/local-pathfinding/blob/master/python/ros_interface.py translate(). Could be Gaussian or latency or whatever you think would be good to test. Could use rosparam like `noiseType = rospy.get_param('sensor_noise_model', default='gaussian') or something like that.
Turning boats or speeding up/down in https://github.com/UBCSailbot/local-pathfinding/blob/master/python/MOCK_AIS.py

Sensor noise added in #235


Improve documentation for configuring tusd

TODO:

[ ] Mention S3-compatible storages and the mandatory schema
[ ] Mention Azurite?

Superseeded by #1085.


Static Bundler makes deduping harder to do

Because Bundler has all static methods and it makes harder to make deduping functionality, because usedImports and importsByFile have to reside on a rootBundleResult which itself makes code more error-prone.
This PR refactors Bundler to be an instance class and moves usedImports, importsByFile and fileDirectory to a class properties, therefore, simplifies their usage.

Done: https://github.com/SimplrJS/scss-bundle/commit/bfb36dd4a5155bb902edd066ddbef93d6f565bc6


Non-reproducible md5 checksums of R plots

Describe the bug
It seems that on every machine the script that plots the heatmap gets executed the md5 checksum of the output is different. The svg plot is generally the same, some minor changes appear, as:
<line x1='772.69' y1='203.91' x2='776.15' y2='203.91' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw4NjQuMDB8NTA0LjAwfDAuMDA=)' />

vs.
<line x1='772.69' y1='203.77' x2='776.15' y2='203.77' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' clip-path='url(#cpMC4wMHw4NjQuMDB8NTA0LjAwfDAuMDA=)' />

The script has been tested on macOS Catalina, Ubuntu, Linux Kali and Travis CI servers. For every machine the checksums are reprodicible however while executing on another machine - the results changes. I believe this is a ggplot internal issue...
Expected behavior
We would like to have a reproducible plotting script that generates exactly the same output file regardless of the machine it runs on.

For now testing the checksums of the heatmaps in the CI has been turned off.

@krish8484 , Would you like to add anything to that issue?

Miniscule plots' coordinate differences on distinct machines is not an issue of this repository.


Add support for configuring interrupts

Something that might be useful context: found this in the arduino library: https://github.com/InvenSenseInc/arduino.ICM42670P/blob/master/src/imu/inv_imu_driver.c#L84
Note the clearing of interrupt. At time of writing, the equivilent in here omits the interrupt clearing.
If I read this correctly, setting up interrupts will include needing to go through the existing library and verifying interrupt setting/clearing is taken care of


Consider a JSON reporter

The number of outputs is great!  Was curious if there was consideration towards a JSON reporter to go along with the several XML.

Each of the current reporters were created to fill a specific need or workflow, and were mostly contributed by community members who had the need and wanted to share the benefit with others. I'm happy to include a JSON reporter if it fills a similar need. If you've got a use case where a JSON reporter would help you, please feel free to leverage any of the code from the existing reporters and open a pull request so it can be included with this collection.

Taking a look @ an impl.


Double border on .list-group-flush follow by .card-footer

When using a .list-group .list-group-flush in a card followed by .card-footer, the list last list group item does have a border, so basically this is not being applied: https://github.com/twbs/bootstrap/blob/da717b03e6e72d7a61c007acb9223b9626ae5ee5/scss/_list-group.scss#L100-L104
It is however correctly applied when followed by a .card-body, as supposed:

CodePen to reproduce:
https://codepen.io/anon/pen/PdPxgG?editors=1000

Hi @royklutman ,  It can easily be achieved by adding a bootstrap class "border-bottom-0" with last anchor tag that contains class "list-group-item list-group-item-action". I have create a sample of this at https://jsfiddle.net/25nitish/6az7m5e1

Yes I know this would be a workaround, but the .list-group-flush is supposed to remove the bottom border from the last .list-group-item, and it isn't at the moment.

The culprit was the margin-bottom on following line: https://github.com/twbs/bootstrap/blob/da717b03e6e72d7a61c007acb9223b9626ae5ee5/scss/_list-group.scss#L56-L59
Simply removing this line fixes this issue, see this CodePen: https://codepen.io/anon/pen/GXpajd?editors=1000#0


Replace polyhook with safetyhook

This greatly simplifies code and reduces boilerplate

This PR has been superseded by #649


Fixed old version compiler does not support automatic self capture in Xcode 14.2 and Swift 5.7.2

Getting an issue : Reference to property 'transaction' in closure requires explicit use of 'self' to make capture semantics explicit in ImageManager.
It is fixed by replacing withTransaction(transaction) with  withTransaction(self.transaction) in ImageManager.swift at line 110

How can I get it?

How can I get it?

Mine right clicked on Package Dependencies located on the Xcode left panel and chose "Show in Finder" then edited the file ImageManager.swift in the Classes folder.

Thank you for your help in solving the problem

Released new patch version


wallet implementation rust library

The wallet application will be an interface written in kotlin/java, and the actual wallet implementation behind the scenes will be done with rust. The rust library can be developed first, and then we will connect the rust code to the kotlin/java UI (this will be a new issue).

Hey @trbutler4, can i work on this one? I have contributed to Rust projects before.

Hey @trbutler4, can i work on this one? I have contributed to Rust projects before.

Assigned! I created a starter rust project in wallet_app/snphone-wallet for you to use. I think using starknet-rs is the way to go. Let me know if you have any question or want to sync on the implementation.

Got it!
Thank you so much!


VS code hangs running python code

Hello,
I am debugging Python code in VS Code and and in the middle of the debugging session, at random time, it hangs. Everything is still responsive, but the execution is frozen. I try to press F5, click on the Start button, but the session does not continue.
Notes:

It can also happen after it hits a breakpoint and I type a debug command. Once it happens, there's a small arrow that appears to the left of the last command that was sent to the debug windows. All subsequent commands will show the same sign to the left. Also threads are shown as paused and clicking on resume does nothing.

It also happens when using RUN WITHOUT DEBUGGING. But it does not happen when running outside of VS Code from a Powershell windows for example.

This is quite painful as prevents the ability to debug Python in good conditions.
Environment:
Windows 10
VS Code: Version: 1.43.1 (user setup)
Commit: fe22a9645b44368865c0ba92e2fb881ff1afce94
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.19041

Please file this issue against https://github.com/microsoft/vscode-python


Updating to Firebase iOS SDK 9.0.0 fails (Invalid diagnostics signature)

[REQUIRED] Step 1: Describe your environment

Xcode version: 13.3.1
Firebase SDK version: 9.0.0
Installation method: Swift Package Manager
Firebase Component: Auth, Core, FirestoreSwift, Messaging, Storage, AnalyticsWithoutAdIdSupport, Crashlytics)
Target platform(s): iOS | macOS (not Crashlytics) | iOS-Widget (only Storage)

[REQUIRED] Step 2: Describe the problem
As discussed with Paul on Stackoverflow, I am opening this ticket.
My iOS-App worked like a charm with Firebase 8.15.0.
Now I changed the Firebase package dependencies to version "9.0.0 - Next major" and get a lot of XCode-errors while compiling, which I can't link to the breaking changes related to this major release.
What I already did:

Updated the "import" statements and Swift packages according to the patch notes
Cleaned the build folder and deleted the whole DerivedData folder
I even uninstalled XCode and reinstalled it
Restarted my MacBook

Most likely the underlying problem has to do with the warning "Could not read serialized diagnostics file: error("Invalid diagnostics signature")"
Steps to reproduce:
The problem can only be reproduced by compiling the whole project.
I am willing to share my whole project folder with you if necessary, but it would be great if I do not have to upload it here accessible for everyone...
Attached you find the build error created by Xcode after a fresh compiling with a cleaned DerivedData folder.
Relevant Code:
See above / Whole code needed.

Build target PoliApp_2022-05-16T18-57-20.txt

Hi @SKuhlemann,
Thanks for filing an issue and sorry for the trouble.
I looked at the attachment and I'm not seeing anything pop out to me.
Based on the screenshot in the SO post, it looks like BoardViewModel.swift is not compiling. Could you try addressing that error and build again?

Hi @ncooke3,
thank you for your reply.
There are 73 compiling errors in a lot of my project files since 9.0.0.
The screenshot in my SO post just shows a small snippet.
These are so "real" errors, because all files compile correctly under Firebase 8.15.0.
All errors relate to the Firebase libraries:

The needed libraries are included in my project:

Gotcha, thanks for the info– I better understand the issue.
Are you using an M1 or Intel Mac?

It's an Intel Mac: MacBook Pro (16", 2019)
Just out of curiosity I tried "Archive" instead of "Build" in Xcode:
Then I don't get any "Could not read serialized diagnostics file: error("Invalid diagnostics signature")"-warnings, but the Compiler Errors stay the same.

@SKuhlemann, could you try explicitly importing FirebaseFirestore.
Sorry for the confusion, but FirebaseFirestoreSwift does not transitively import FirebaseFirestore.
So add:
import FirebaseFirestore

and try re-building.

Thank you @ncooke3 that solved most of the errors!
There is just one type of error left:

Exactly the same code worked with 8.15.0.
Am I missing another "import" or has there been a breaking change with these AuthErrorCodes which are not listed in the Patch Notes?

@SKuhlemann apologies for missing that one in the CHANGELOG - there were very few scenarios where this breaks so it was mostly seamless to developers. We'll make sure it gets documented somewhere though (likely the CHANGELOG).
We changed AuthErrorCode to use NS_ERROR_ENUM, which makes catching errors significantly better in Swift. A direct translation would be replacing extension AuthErrorCode with extension AuthErrorCode.Code, as AuthErrorCode is now a struct and has a subtype called Code that's the enum that contains all the codes. We know the naming is... not ideal 🙃  but it does enable some nicer error handling. We do plan on revamping Auth error handling in the future as well.

"Build Succeeded" 🥇
Thanks a lot for this fast and qualified support!


A few more misc typing improvements

Support ChunkedArray in add/append methods in Table

Can you split these small changes into different PRs?

Rebased this one to be just the one commit


Fast output to stdout causes data loss

#!/usr/bin/python
import sys
for i in range(1000000):     sys.stdout.write(str(i)+"\n")     sys.stdout.flush()
We attempt to write 1 million lines to standard out. On my machine, running this way:
SCOPE_EVENT_DEST=file://./milliontest.log SCOPE_EVENT_CONSOLE=true ~/.scope/cscope python ./test.py >/dev/null
We only capture about 20% of the lines:
root /workspaces/scope/cli (feature/scopecli) $ wc -l milliontest.log
261923 milliontest.log

Changing the period for the reporting thread has a drastic effect.
At the default 10 sec period we see 238340 lines captured. Fairly consistent with the reported test.
At a period of 1 sec we see 965003 lines captured. Much closer.
3 tests at 1 sec period: 981673, 981660, 978691
Changed the definition of the period in config from secs to milliseconds.
At a 1ms period we see 1000000 lines
At a 5ms period we see  661325 lines

Changing the period for the reporting thread has a drastic effect.
At the default 10 sec period we see 238340 lines captured. Fairly consistent with the reported test.
At a period of 1 sec we see 965003 lines captured. Much closer.
3 tests at 1 sec period: 981673, 981660, 978691
Changed the definition of the period in config from secs to milliseconds.
At a 1ms period we see 1000000 lines
At a 5ms period we see  661325 lines

We no longer drop log/console data.
All event data queues are emptied much more frequently.
The drop test returns 1M console events in all cases tested.
2 updates:

All event queues are emptied every 1ms.
This does not change the period at which summary/aggregation of metrics are emitted.
The configured period is the definition for metric summaries.
The configured period remains the delay for start of the periodic thread. This should change; need integ test for validation.
This implies that it will be very rare to experience dropped events. Not guaranteed, very rare.

The ring buffer is no longer used as in in-memory queue for log/console data.
All log/console events can, in theory, create app back pressure.
All log/console events are delivered to the periodic thread by means of a UNIX domain socket.
The UNIX socket is non-blocking on the read side and blocking on the send side.
The blocking approach implies that no log data will be lost. It also enables back pressure in very rare cases.
Kernel buffers would have to back up before any back pressure was experienced.

We no longer drop log/console data.
All event data queues are emptied much more frequently.
The drop test returns 1M console events in all cases tested.
2 updates:

All event queues are emptied every 1ms.
This does not change the period at which summary/aggregation of metrics are emitted.
The configured period is the definition for metric summaries.
The configured period remains the delay for start of the periodic thread. This should change; need integ test for validation.
This implies that it will be very rare to experience dropped events. Not guaranteed, very rare.

The ring buffer is no longer used as in in-memory queue for log/console data.
All log/console events can, in theory, create app back pressure.
All log/console events are delivered to the periodic thread by means of a UNIX domain socket.
The UNIX socket is non-blocking on the read side and blocking on the send side.
The blocking approach implies that no log data will be lost. It also enables back pressure in very rare cases.
Kernel buffers would have to back up before any back pressure was experienced.


Import docs for IAM resources are incorrect

What happened?
The docs for pulumi-gcp IAM resources have the following instructions:

Expected Behavior
If we look at the source docs, we can see that these are actually 3 separate import commands, and only one of them applies to the resource we're looking at in the Pulumi registry:

Steps to reproduce
n/a
Output of pulumi about
n/a - This is an issue with the docs.
Additional context
This is due to a particular weirdness in terraform-provider-google-beta where the docs for 3 resources (foo_iam_policy, foo_iam_binding, foo_iam_member) are all contained within a single source doc.
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Thank you for reporting this! As you identified, it appears that some paragraph blocks are getting merged together, but it should be:

Cloud Storage bucket IAM...
IAM member imports use...

The second picture is cutoff at the top, but I would also guess that in the first sentence, there might be some inline code tags that are not getting rendered correctly for the text * b/{{name}} * {{name}} and could be creating the merged paragraphs

Looks like we're now rendering this correctly. Its still confusing that upstream mixes docs for three different resources here, but at least the paragraphs are clearer now.


MPS backend out of memory evaluating fine-tuned Mixtral-8x7B-Instruct-v0.1 on a machine with 100+ GB

I'm trying to evaluate a locally fine-tuned and unquantized Mixtral-8x7B-Instruct-v0.1 model on an Apple Mac Studio M1 Ultra with 128GB of memory vi a the following command-line:
lm_eval --model hf --model_args pretrained=/path/to/model,dtype="float" \
        --tasks medqa_4options \
        --device mps \
        --batch_size 1

Note that the batch_size is 1, because, despite having over 100 GB of memory, which should be plenty for that model, I get a MPS backend out of memory error even when I specify auto for the batch_size:
2024-05-13:11:49:02,913 INFO     [__main__.py:254] Verbosity set to INFO
2024-05-13:11:49:05,262 INFO     [__main__.py:341] Selected Tasks: ['medqa_4options']
2024-05-13:11:49:05,264 INFO     [evaluator.py:141] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234
2024-05-13:11:49:05,264 INFO     [evaluator.py:178] Initializing hf model, with arguments: {'pretrained': '/Users/oori/medical_llm/raw_models/mlx/MrGrammaticaOntology-Mixtral-8x7B-Instruct-v
0.1-clinical-problems-0.6.0', 'dtype': 'float'}
2024-05-13:11:49:05,276 INFO     [huggingface.py:165] Using device 'mps'
Loading checkpoint shards:  83%|█████████████████████████████████████████████████████████████████████████████████████████████████████████                     | 15/18 [01:43<00:20,  6.89s/it]
Traceback (most recent call last):
  File "/path/to/mmlu-eval/bin/lm_eval", line 8, in <module>
    sys.exit(cli_evaluate())
             ^^^^^^^^^^^^^^
[..snip..]
  File "/path/to/lm_eval/api/model.py", line 134, in create_from_arg_string
    return cls(**args, **args2)
           ^^^^^^^^^^^^^^^^^^^^
  File "/path/to/lm_eval/models/huggingface.py", line 204, in __init__
    self._create_model(
  File "/Users/oori/medical_llm/lm-evaluation-harness/lm_eval/models/huggingface.py", line 547, in _create_model
    self._model = self.AUTO_MODEL_CLASS.from_pretrained(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[..snip..]
  File "/path/to/python3.11/site-packages/transformers/modeling_utils.py", line 812, in _load_state_dict_into_meta_model
    set_module_tensor_to_device(model, param_name, param_device, **set_module_kwargs)
  File "/path/to/python3.11/site-packages/accelerate/utils/modeling.py", line 387, in set_module_tensor_to_device
    new_value = value.to(device)
                ^^^^^^^^^^^^^^^^
RuntimeError: MPS backend out of memory (MPS allocated: 163.01 GB, other allocations: 384.00 KB, max allowed: 163.20 GB). Tried to allocate 224.00 MB on private pool. Use PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 to disable upper limit for memory allocations (may cause system failure).

I'm wary about setting PYTORCH_MPS_HIGH_WATERMARK_RATIO as I should have plenty of memory for this and I don't want to crash the server.
I can run the evaluation with other models (such as Llama 3 8B, for instance) without an issue..

/path/to/python3.11/site-packages/accelerate this part shows the problem is with accelerate package, not with the lm-evaluation-harness and should probably be investigated with its developers.

Thanks.  I have created an issue with accelerate