text:
error after upgrade to flutter 3.0

i got error after upgrade to flutter 3.0
`======== Exception caught by widgets library =======================================================
The following assertion was thrown building Builder(dependencies: [MediaQuery]):
'package:flutter/src/widgets/framework.dart': Failed assertion: line 4864 pos 12: 'child == _child': is not true.
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.md
The relevant error-causing widget was:
Builder Builder:file:///Users/zeekands/.pub-cache/hosted/pub.dartlang.org/flutter_screenutil-5.5.2/lib/src/screenutil_init.dart:109:16
When the exception was thrown, this was the stack:
#2      ComponentElement.forgetChild (package:flutter/src/widgets/framework.dart:4864:12)
#3      Element._retakeInactiveElement (package:flutter/src/widgets/framework.dart:3752:14)
...     Normal element mounting (301 frames)
#304    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
#305    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6350:36)
#306    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6362:32)
...     Normal element mounting (405 frames)
#711    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
#712    Element.updateChild (package:flutter/src/widgets/framework.dart:3551:18)
#713    RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1202:16)
#714    RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1171:5)
#715    RenderObjectToWidgetAdapter.attachToRenderTree. (package:flutter/src/widgets/binding.dart:1119:18)
#716    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2597:19)
#717    RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1118:13)
#718    WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:953:7)
#719    WidgetsBinding.scheduleAttachRootWidget. (package:flutter/src/widgets/binding.dart:933:7)
(elided 13 frames from class _AssertionError, class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
W/Gralloc3(15955): mapper 3.x is not supported
======== Exception caught by widgets library =======================================================
The following assertion was thrown while finalizing the widget tree:
Duplicate GlobalKey detected in widget tree.
The following GlobalKey was specified multiple times in the widget tree. This will lead to parts of the widget tree being truncated unexpectedly, because the second time a key is seen, the previous instance is moved to the new location. The key was:

[GlobalObjectKey int#675e6]
This was determined by noticing that after the widget with the above global key was moved out of its previous parent, that previous parent never updated during this frame, meaning that it either did not update at all or updated before the widget was moved, in either case implying that it still thinks that it should have a child with that global key.
The specific parent that did not update after having one or more children forcibly removed due to GlobalKey reparenting is:
Builder(dependencies: [MediaQuery])
A GlobalKey can only be specified on one widget at a time in the widget tree.
When the exception was thrown, this was the stack:
#0      BuildOwner.finalizeTree. (package:flutter/src/widgets/framework.dart:2991:15)
#1      BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:3016:8)
#2      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:893:19)
#3      RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:370:5)
#4      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1146:15)
#5      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1083:9)
#6      SchedulerBinding.scheduleWarmUpFrame. (package:flutter/src/scheduler/binding.dart:864:7)
(elided 11 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
====================================================================================================
`

get the same error too

hi, this is how i initialize the library
ScreenUtilInit(       designSize: designSize,       builder: (context) => Scaffold(......)
in flutter it was working fine.

How many times you use ScreenUtilInit() ?

@azizkandias01 make sure you use ScreenUtilInit once in your app, and initialize it as documentation says.
class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    //Set the fit size (Find your UI design, look at the dimensions of the device screen and fill it in,unit in dp)
    return ScreenUtilInit(
      designSize: const Size(360, 690),
      minTextAdapt: true,
      splitScreenMode: true,
      builder: (child) {
        return MaterialApp(
          debugShowCheckedModeBanner: false,
          title: 'First Method',
          // You can use the library anywhere in the app even in theme
          theme: ThemeData(
            primarySwatch: Colors.blue,
            textTheme: Typography.englishLike2018.apply(fontSizeFactor: 1.sp),
          ),
          home: child,
        );
      },
      child: const HomePage(title: 'First Method'),
    );
  }
}

The same!

Friends, this is not the manner how we discuss an issue. You must provide more details and codes to be able to reproduce and debug this error. Thank you.

@Mounir-Bouaiche
Everything was OK, just updated to Flutter 3, when I build an appbundle or run the app it prints on the console:
Building with sound null safety 💪

/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_screenutil-5.3.1/lib/screenutil_init.dart:23:54: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
      data: MediaQueryData.fromWindow(WidgetsBinding.instance!.window),
                                                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.1/lib/get_navigation/src/extension_navigation.dart:357:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!.addPostFrameCallback((_) {
                       ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.1/lib/get_navigation/src/extension_navigation.dart:468:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!.addPostFrameCallback((_) {
                       ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.1/lib/get_navigation/src/snackbar/snackbar.dart:452:22: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance!.addPostFrameCallback(
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.1/lib/get_state_manager/src/rx_flutter/rx_disposable.dart:20:22: Warning: Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance?.addPostFrameCallback((_) => onReady());
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.1/lib/get_state_manager/src/rx_flutter/rx_notifier.dart:130:22: Warning: Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance?.addPostFrameCallback((_) => onReady());
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.1/lib/get_state_manager/src/simple/get_controllers.dart:90:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.addObserver(this);
                   ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.1/lib/get_state_manager/src/simple/get_controllers.dart:96:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.removeObserver(this);
                   ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/get-4.6.1/lib/get_navigation/src/router_report.dart:53:22: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance!.addPostFrameCallback((_) {
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/measured_size-1.0.0/lib/measured_size.dart:29:22: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance!.addPostFrameCallback(postFrameCallback);
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/measured_size-1.0.0/lib/measured_size.dart:35:22: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance!.addPostFrameCallback(postFrameCallback);
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/scroll_to_index-2.1.1/lib/scroll_to_index.dart:358:57: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
  Future _waitForWidgetStateBuild() => SchedulerBinding.instance!.endOfFrame;
                                                        ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/back_button_interceptor-5.0.2/lib/src/back_button_interceptor.dart:29:74: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
  static Future<void> Function() handlePopRouteFunction = WidgetsBinding.instance!.handlePopRoute;
                                                                         ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/back_button_interceptor-5.0.2/lib/src/back_button_interceptor.dart:32:22: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance!.handlePushRoute as Future<void> Function(String?);
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/better_player-0.0.81/lib/src/core/better_player.dart:66:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.addObserver(this);
                   ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/better_player-0.0.81/lib/src/core/better_player.dart:113:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.removeObserver(this);
                   ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/custom_pop_up_menu-1.2.3+1/lib/src/custom_pop_up_menu.dart:195:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((call) {
                   ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_web_auth-0.4.1/lib/flutter_web_auth.dart:33:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.removeObserver(_resumedObserver); // safety measure so we never add this observer twice
                   ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_web_auth-0.4.1/lib/flutter_web_auth.dart:34:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addObserver(_resumedObserver);
                   ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_web_auth-0.4.1/lib/flutter_web_auth.dart:47:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.removeObserver(_resumedObserver);
                   ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/image_cropping-0.0.11/lib/image_cropping.dart:240:22: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance?.addPostFrameCallback((timeStamp) async {
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.4.2+2/lib/src/widgets/selectable.dart:459:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!.addPostFrameCallback((_) {
                       ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/visibility_detector-0.2.2/lib/src/visibility_detector_layer.dart:126:28: Warning: Operand of null-aware operation '?.' has type 'RendererBinding' which excludes null.
 - 'RendererBinding' is from 'package:flutter/src/rendering/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/rendering/binding.dart').
    assert(RendererBinding.instance?.renderView != null);
                           ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/visibility_detector-0.2.2/lib/src/visibility_detector_layer.dart:127:50: Warning: Operand of null-aware operation '!' has type 'RendererBinding' which excludes null.
 - 'RendererBinding' is from 'package:flutter/src/rendering/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/rendering/binding.dart').
    var clipRect = Offset.zero & RendererBinding.instance!.renderView.size;
                                                 ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/visibility_detector-0.2.2/lib/src/visibility_detector_layer.dart:170:26: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
        SchedulerBinding.instance!.addPostFrameCallback((timeStamp) {
                         ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/visibility_detector-0.2.2/lib/src/visibility_detector_layer.dart:193:22: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance!
                     ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.4.2+2/lib/src/widgets/selection/overlay_manager.dart:138:28: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      if (SchedulerBinding.instance!.schedulerPhase ==
                           ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.4.2+2/lib/src/widgets/selection/overlay_manager.dart:140:26: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
        SchedulerBinding.instance!
                         ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.4.2+2/lib/src/widgets/selection/web_selection_manager.dart:119:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!
                       ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.4.2+2/lib/src/widgets/selection/overlay.dart:141:26: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    if (SchedulerBinding.instance!.schedulerPhase ==
                         ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.4.2+2/lib/src/widgets/selection/overlay.dart:143:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!.addPostFrameCallback(_markNeedsBuild);
                       ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.4.2+2/lib/src/widgets/selection/overlay.dart:193:26: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    if (SchedulerBinding.instance!.schedulerPhase ==
                         ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_math_fork-0.4.2+2/lib/src/widgets/selection/overlay.dart:195:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!.addPostFrameCallback(_markNeedsBuild);
                       ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_widget_from_html_core-0.8.5+1/lib/src/widgets/html_table.dart:592:26: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
          WidgetsBinding.instance
                         ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_widget_from_html_core-0.8.5+1/lib/src/widgets/html_table.dart:606:28: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
            WidgetsBinding.instance
                           ^
/Users/yusifjasim/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_widget_from_html_core-0.8.5+1/lib/src/internal/ops/anchor.dart:120:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('/Users/yusifjasim/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback(
                   ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

@arbile26 Those are not errors, in flutter 3.0.0, WidgetsBinding.instance couldn't be null anymore so we shouldn't use null aware operators (?,!,??,...). All packages in your app prints same info (and not error).

hi, this is how i initialize the library
ScreenUtilInit( designSize: designSize, builder: (context) => Scaffold(......) in flutter it was working fine.

How many times you use ScreenUtilInit() ?

i guess this is my mistakes, i created more than one screen util init in my project. it was working fine in flutter 2.10 but when i upgrade to flutter 3.0 this error appear.
my problem has solved, thanks for suggestion.


text:
adds LigandNetwork.reduce_graph

move this from Konnektor into gufe, it's very useful

Hello @richardjgowers! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file gufe/ligandnetwork.py:

Line 187:80: E501 line too long (102 > 79 characters)

@atravitz this is now ready for review! I added LigandNetwork.reduce_graph as the inverse of the existing enlarge_graph method, and this generalizes the functionality that would have been present in remove_edges.

Thanks @atravitz! I'm trying to maintain some symmetry to LigandNetwork.enlarge_graph, with reduce_graph effectively being the inverse. I'm open to other verbs here; would either shrink_graph or trim_graph work?

Thanks @atravitz! I'm trying to maintain some symmetry to LigandNetwork.enlarge_graph, with reduce_graph effectively being the inverse. I'm open to other verbs here; would either shrink_graph or trim_graph work?

"shrink" works, but I'm fine with keeping reduce as long as we're clear about the behavior!

@atravitz after talking with @ianmkenney, we like trim_graph quite a bit. Any opposition to this?

@atravitz after talking with @ianmkenney, we like trim_graph quite a bit. Any opposition to this?

that works for me!

source: gharchive/pull-request

authors: atravitz dotsdl pep8speaks richardjgowers

repo: OpenFreeEnergy/gufe

license: MIT

license_type: permissive

license_source: github-api


text:
Add events framework for OpenFunction

What this PR do
In the proposal Add event framework we discuss the feasibility and implementation of the OpenFunction event framework. And in this PR, I have completed the basic functionality of the above event framework.
The specific changes are as follows:

Added three basic CRDs:
According to the design in the proposal, I added EventSource, EventBus and Trigger CRDs. Here are some examples:

EventSource
apiVersion: event.openfunction.io/v1alpha1
kind: EventSource
metadata:
  # name of event source
  name: kafka-es
spec:
  # kind of event source
  kafka:
    # name of event
    example-kafka:
      version: v1
      type: bindings.kafka
      metadata:
        - name: brokers
          value: dapr-kafka.kafka:9092
        - name: topics
          value: sample
        - name: consumerGroup
          value: group1
        - name: publishTopic
          value: sample
        - name: authRequired
          value: "false"
  # sink means that event source will call the target function synchronously
  # not setting sink means that events from the event source are sent to the event bus
  sink:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: function-sample-serving-ksvc
      namespace: default

EventBus
apiVersion: event.openfunction.io/v1alpha1
kind: EventBus
metadata:
  # name of event bus
  name: default
spec:
  # kind of event bus, the default will be to use nats streaming
  nats:
    example-nats:
      version: v1
      type: pubsub.natsstreaming
      metadata:
        - name: natsURL
          value: "nats://nats.default:4222"
        - name: natsStreamingClusterID
          value: "stan"
        - name: subscriptionType
          value: queue

Trigger
apiVersion: event.openfunction.io/v1alpha1
kind: Trigger
metadata:
  # name of trigger
  name: my-trigger
spec:
  # name of EventBus CR
  eventBusName: default
  # an array of event source
  sources:
      # name of this source
    - name: "kafka"
      # name of EventSource CR
      eventSourceName: "kafka-es"
      # name of event
      eventName: "example-kafka"
  # an array of subscriber
  subscribers:
      # determination conditions for triggering events
    - condition: "pending"
      # sink means that trigger will call the target function synchronously
      sink:
        ref:
          apiVersion: serving.knative.dev/v1
          kind: Service
          name: function-sample-serving-ksvc
          namespace: default
      # send the filtered events to a specific topic of the event bus
      topic: "metrics"

Added three corresponding controllers:

EventSource Controller flow

Retrieve the configuration of the event bus based on the value of spec.eventBusNames (Used to connect event sources to event bus)
Generate dapr component specs (source and sink) for the event source
Create dapr component by using specs above
Generate an event source configuration called SourceEnvConfig
Create event source handler workload (by passing SourceEnvConfig)

EventBus Controller flow

Generate dapr component specs for the event bus
Create dapr component by using specs above
Set the annotation to assign the name of the dapr component associated with the event bus to "component-name"

Trigger Controller flow

Create dapr component spec for event bus
Parse subscribers, create dapr component specs for sink and deadLetterSink
Create dapr component by using specs above
Generate an trigger configuration called TriggerEnvConfig
Create trigger handler workload (by passing TriggerEnvConfig)

What can it currently do

Ability to handle nats streaming type EventBus
Ability to handle redis, kafka type EventSources
EventSources can trigger Knative Service synchronization calls
The EventSource can send events to the EventBus
Triggers can associate EventBus and then trigger target functions (including Knative Service function and OpenFuncAsync function)

TODO:

[ ] Improve the state management mechanism of EventSource and Trigger

For example, when the EventBus associated with the EventSource is deleted, we need to change the status of the EventSource to "unavailable"

[ ] Abstraction of the specification of the dapr component in CRD

[ ] Judgment logic for events in Trigger

[ ] Using OpenFunction Serving to drive the workloads of EventSource and Trigger

[ ] Add more kinds of event sources, event buses and triggers

[ ] Add samples && concept docs

Signed-off-by: laminar fangtian@kubesphere.io

This is a fantastic PR! @tpiperatgod

I have modified the reconcile logic of EventSource and Trigger:
EventSource
Reconcile conditions:

EventSource CR changed
Associated EventBus CR changed
Owned Components changed
Owned Deployments changed

Controller flow:

Generate a dapr component specification for the EventBus associated with the EventSource (if spec.eventBus is set) and create the dapr component (will check if it needs to be updated) and set the SourceConfig.EventBusComponentName, SourceConfig.EventBusTopic, SourceConfig.EventBusSpecEncode.
Generate a dapr component specification for the Sink set in EventSource (if spec.sink is set) and create the dapr component (will check if it needs to be updated) and set the SourceConfig.SinkComponentName, SourceConfig.SinkSpecEncode.
Generate dapr component specifications for the event sources and create the dapr components (will check if they need to be updated) and set the SourceConfig.EventSourceComponentName, SourceConfig.EventSourceTopic, SourceConfig.EventSourceSpecEncode.
Generate SourceConfig and convert it to a base64-encoded string.
Create an EventSource workload for each event source (will check if they need to be updated) and pass in the SourceConfig as an environment variable.

Trigger
Reconcile conditions:

Trigger CR changed
Associated EventBus CR changed
Owned Components changed
Owned Deployments changed

Controller flow:

Generate a dapr component specification for the EventBus associated with the Trigger and create the dapr component (will check if it needs to be updated) and set the TriggerConfig.EventBusComponentName, TriggerConfig.EventBusTopic, TriggerConfig.EventBusSpecEncode.
Generate dapr component specifications for the subscribers and create the dapr components (will check if they need to be updated) and set the TriggerConfig.Subscribers, TriggerConfig.SinkSpecEncode.
Create a workload for Trigger (will check if they need to be updated) and pass in the TriggerConfig as an environment variable.

New updates:

EventSource can specify a topic name for each source, which is used to get events from the specified topic when using dapr pub/sub mode
Send events to the topic of EventBus according to the following topic naming template:
EventBusTopicNameTmpl => {namespace}-{eventSourceName}-{sourceKind}-{eventName}
Similarly, the Trigger will fetch events from the corresponding EventBus topic according to the configuration in its spec.inputs

Added cron and redis type event sources, now can be adapted to kafka, redis and cron three types of event sources

EventBusTopicNameTmpl => {namespace}-{eventSourceName}-{sourceKind}-{eventName}

@tpiperatgod I think we can remove sourceKind like this, user needn't add kafka when sending to Kafka:
EventBusTopicNameTmpl => {namespace}-{eventSourceName}-{eventName}

EventBusTopicNameTmpl => {namespace}-{eventSourceName}-{sourceKind}-{eventName}

@tpiperatgod I think we can remove sourceKind like this, user needn't add kafka when sending to Kafka:
EventBusTopicNameTmpl => {namespace}-{eventSourceName}-{eventName}

Agree

ClusterEventBus CRD has been added to provide global event bus capability.
It (after changes) will trigger reconcile of EventSource and Trigger after confirming that there is no EventBus of the same name in the namespace.

Added logic to clear deprecated resources (components, workloads)
Name each Kafka component with a separate consumerGroup name
Added documentation

authors: benjaminhuo tpiperatgod

repo: OpenFunction/OpenFunction


text:
Attempted relative import with no known parent package

When I run this demo.ipynb, I encounter the following import error. Theoretically, Python should be able to successfully import from the current directory using ..utils.easydict. Can you explain why this is happening?
ImportError                               Traceback (most recent call last)
Cell In[1], line 8
4 import cv2
6 import torch
----> 8 from config import (Config,
9                     eval_dict_leaf)
11 from utils import (retrieve_text,
12                   _frame_from_video,
13                   setup_internvideo2)
File InternVideo-main/InternVideo2/multi_modality/demo/config.py:17
13 from importlib import import_module
15 import yaml
---> 17 from ..utils.easydict import EasyDict
19 all = ["Config", "pretty_text"]
22 BASE_KEY = "base"
ImportError: attempted relative import with no known parent package

Perhaps the following can be helpful to you:
Method1:
Create a Package: The most straightforward solution is to structure your project as a package:
 InternVideo-main/InternVideo2/multi_modality/
    ├── __init__.py
    ├── utils/
    │   └── easydict.py
    |...

__init__.py: This empty file signals to Python that the my_project directory is a package.
Method2:
Absolute Imports: If you don't want to create a package structure, use absolute imports:
from  InternVideo-main.InternVideo2.multi_modality.utils.easydict import EasyDict

This assumes your my_project directory is on your Python path (either in your PYTHONPATH environment variable or in a location Python searches by default).

@yinanhe I am still running into this issue, it keeps saying "ImportError: attempted relative import with no known parent package" even though I put blank __init__.py files in every folder.

@qingy1337 I checked the code again, and maybe it just need to make sure that the easydict package has been installed, without using relative paths.
https://github.com/OpenGVLab/InternVideo/blob/1c57368fd1942da9e8a24f3404222cffa92cf5b9/InternVideo2/multi_modality/utils/config.py#L17

@yinanhe I solved it by running this code from the multi_modality folder, not multi_modality/demo:
import numpy as np
import os
import io
import cv2

import torch

from demo.config import (Config,
                    eval_dict_leaf)

from demo.utils import (retrieve_text,
                  _frame_from_video,
                  setup_internvideo2)

Now the problem is that flash_attn is taking forever (1+ hrs) to install....

@yinanhe I solved it by running this code from the multi_modality folder, not multi_modality/demo:
import numpy as np
import os
import io
import cv2

import torch

from demo.config import (Config,
                    eval_dict_leaf)

from demo.utils import (retrieve_text,
                  _frame_from_video,
                  setup_internvideo2)

Now the problem is that flash_attn is taking forever (1+ hrs) to install....

Yes, Installing flash_attn is time consuming, but not a necessary library without training

@yinanhe Sorry, I'm still a bit confused, would you mind creating a fork of this repo with a working demo.ipynb? Thanks!

source: gharchive/issue

authors: kaizhuanren qingy1337 yinanhe

repo: OpenGVLab/InternVideo


text:
REQS-876 Bond futures end-to-end tests.

Implemented IssuerProviderIssuerDecoratedSpreadPeriodic to handle spread computation based on periodic compounded rates.
Added BondFuturesTransactionAnnuallyCompoundingE2ETest using IssuerProviderIssuerDecoratedSpreadPeriodic, where EUR and GBP examples are included.

test this please

repo: OpenGamma/OG-Platform

license_source: bigquery


text:
Структура БД

Требуется создать слой БД
Он должен быть максимально изолированным от остального приложения. Иметь возможность "жить своей жизнью" при необходимости. Максимум на что он должен полагаться - Базовые Интерфейсы.
Требуется обеспечить хранение следующих сущностей

[ ] Запись блога
[ ] Автор
[ ] Комментарий
[ ] Раздел (категорию)
[ ] Тег (ключевое слово)

Запись блога должна иметь

Дату
Заголовок
Текст (тело)
Автора
Категорию
Список тегов
Список комментариев
Статус (черновик, чистовик)
Признак (bool) удалённой записи - записи из БД удаляются при чистке

Автор должен иметь

ФИО
Дату рождения
Список записей блогов
Список комментариев

Комментарий должен иметь

Дату
Автора
Запись блога, к которой он добавлен
Родительский комментарий
Текст
Список дочерних комментариев
Признак (bool) удалённой записи - записи из БД удаляются при чистке

Раздел (категория) должен иметь

Название
Список записей блогов

Тег должен иметь

Название
Список записей блогов к которым он прикреплён

При удалении раздела должно происходить каскадное удаление всех записей
При удалении тега - тег должен удаляться из всех записей, а сами записи должны оставаться

Я бы еще добавил в запись статус (черновик, опубликована и т.д.)

Также добавил требование о необходимости "неудаления" записей из БД. При удалении записи выставляется флаг о том, что она удалена. Сервисы, которые извлекают данные из БД должны обращать внимание на этот флаг и не извлекать "удалённые записи".

Прошу прощения, что не в свою задачу лезу, просто хотел предложить сделать сущность не Автора, а пользователя.
Таким образом сможем к каждому конкретному пользователю выставлять конкретную роль: администратор, модератор, автор.
Как мне кажется, это добавит гибкости.

Прошу прощения, что не в свою задачу лезу, просто хотел предложить сделать сущность не Автора, а пользователя. Таким образом сможем к каждому конкретному пользователю выставлять конкретную роль: администратор, модератор, автор. Как мне кажется, это добавит гибкости.

В какой-то мере поддержу. Внёс исправления.

authors: GeorgijTar Infarh vitalyKl

repo: OpenGeekBrains/Thoughts


text:
Threading

Hello,
Really useful tool. Is this multi-threaded or single threaded?
Thanks,
Andrew

In addition, do you have any sense of how runtime and memory usage scales (I appreciate that may depend on sequence redundancy)?

repo: OpenGene/UniqueKMER


text:
Maintenance status?

Is this repository still being maintained? There are a lot of outstanding issues that have had no comments from maintainers for quite some time.
If it isn't maintained, that's fine, but please update the README, which currently shows

This tool is being intensively developed, and new features can be implemented soon if they are considered useful.

Thanks for your suggestion. I has been a bit busy since 2021, but I will continue to improve this tool.

Okay glad to hear @sfchen - it is a great tool! For me, I've I am struggling to use fastp at the moment due to #378 and #455

repo: OpenGene/fastp


text:
Caching tags to improve latency

The recommendation service uses API for fetching the tag list for the images to calculate the score for the matching. Right now every time recommendation service is run these tags are generated and that is an additional overhead.
This can be solved by caching the tags for images because images are static and it ensures that tags will not change for the same image over time. So on the first run for an image the tags can be stored into a field in the JSON and when the recommendation service runs it may first check the JSON for the tags and if they are not present it may request the API for the tags.

If someone needs help then just leave a comment.

repo: OpenGenus/memes


text:
TextureSystem option to limit mip levels

This patch adds a "max_mip_res" attribute for the TextureSystem that
limits filtered texture access to MIP levels that are no higher than
this resolution in any dimension. The default is 1<<30, which means
there is no effective limit. As an example, setting this attribute to
256 means that all texture access will be limited to the MIP levels
that are 256x256 pixels or lower. This can be useful for preview
renders where you want to cut down on the amount of disk or network
access for the sake of speed.
In a subsequent patch, I intend to also provide a way to set this
on a per-texture basis, but as a first step we'll start with the
global setting.
Along the way, I modified runtest.py to restore its ability to run
by hand from inside the build/PLATFORM/testsuite/TEST directory, which
had been lost recently with some overhaul to the testing scripts.

LGTM!
This should allow for some interesting experiments ...

authors: fpsunflower lgritz

repo: OpenImageIO/oiio


text:
Prepare the landing pages

Make all 21 guides landing pages have the production content and same in both new staging SN and production SN

The final 5 guides have had landing pages created on the production and staging portals, pending review.

repo: OpenLiberty/cloud-hosted-guides


text:
Final Project Submission

Description
There was a problem during the "Final Project: Create a Privacy Product Specification" submission. Surely due to an internet connexion latence, the project had been submited three (03) times during the first submission. While I was expecting a review before other possible submissions. I think there is the need for a control of a review before additional submissions.
How to Reproduce

Go to 'https://courses.openmined.org/courses/our-privacy-opportunity/project'
Click on the 'Submit' button under the 'Write Your Proposal' tab
On the popup that appears click on the 'Continue' button (2 or 3 times to simulate the internet latence)
See error

Expected Behavior
There should be a control to prevent from additional submissions before a review.
For a first submission, the number of attempts should be '1 of 3 attempts'.
Screenshots
If applicable, add screenshots to help explain your problem.
System Information

OS: [e.g. iOS]
OS Version: [e.g. 22]
Language Version: [e.g. Python 3.7, Node 10.18.1]
Package Manager Version: [e.g. Conda 4.6.1, NPM 6.14.1]
Browser (if applicable): [e.g. Google Chrome]
Browser Version (if applicable): [e.g. 81.0.4044.138]

Additional Context
Add any other context about the problem here.

Hey @Kjeanclaude! Better late than never -- this has been fixed and is being deployed tonight.

authors: Kjeanclaude tcp

repo: OpenMined/openmined


text:
Shutdown doesn't check VM status in vcenter

Description
VM power status is not being checking in vcenter before doing a shutdown. Sometimes a VM can be in different states until the scheduler detects the new state, so if a showdown is performed in that period of time it'll return an error into vcenter server.
To Reproduce
Shutdown a VM in vcenter server
Try to shudown the same VM in opennebula
Expected behavior
Opennebula should detect that the vm is already powered off and don't execute the shutdown process.
Details

Affected Component: vcenter driver
Hypervisor: ESXi

Additional context
Review the raised exception is needed

Progress Status

[x] Branch created
[x] Code committed to development branch
[x] Testing - QA
[x] Documentation
[x] Release notes - resolved issues, compatibility, known issues
[x] Code committed to upstream release/hotfix branches
[x] Documentation committed to upstream release/hotfix branches

PRs merged:
one: #3262 into 5.8 and master
docs: OpenNebula/docs#604 into one-5.8-maintenance

repo: OpenNebula/one


text:
Description of the need, use, and want functions are confusing.

need declares a hard dependency - net always needs to be started before this service does

Does that mean dependency doesn't have to be in the current runlevel?

use is a soft dependency - if dns, logger or netmount is in this runlevel start it before, but we don't care if it's not in this runlevel.

And we don't care if it doesn't start because it's not in the current runlevel? And to be more explicit, we don't start it?

want is between need and use - try to start coolservice if it is installed on the system, regardless of whether it is in the runlevel, but we don't care if it starts.

You mean "and we also don't care if it starts"? It looks the same as use unless you add "we don't start it" to use.
In my opinion the descriptions here need to be completely redone for clarification.  Showing a table to compare feature or behavior differences would be better.
Also we should describe how the functions behave with virtual dependencies created by provide.

This is one of the ways I think it can be better written so far.  It's based on how I currently interpret the source code.  An explicit description on how these directives behave when a "dependency" has already started in another runlevel should also be added.  Also no description on how virtual dependencies are treated vs. real ones yet.
need declares a hard dependency - "net" always needs to be started before this
service does.  It doesn't have to be in the same runlevel.
want is similar to need that it starts "coolservice" regardless if it's
in the same runlevel, but it doesn't matter if "coolservice" starts.
use is similar to need that it requires "dns", "logger", and "netmount" to
start but only if they're in the same runlevel.  We don't care if some of them
don't get started because they're not in the same runlevel.
before declares that we need to be started before another service just in case
the other service is in the same runlevel.
after declares that we need to be started after another service in case other
service is in the same runlevel.  The difference between this and use is
that this one doesn't create an explicit dependency.  So on calling stop,
the two are independent.

I looked at this issue again, and I'm no longer sure which directive requires a dependency to successfully start (when they are called to, and when calling them is applicable) before the calling service does.  It seems that only need requires a dependency to successfully start, but that doesn't make sense. use should do as well, and after should not.  I'm not sure about want.  All of them requiring a dependency to successfully start (when applicable) would also not make sense.
Anyway I think it should be explicitly stated if a directive requires a dependency to start successfully as well, like this one:
need declares a hard dependency - "net" always needs to be successfully
started before this service does.  It doesn't have to be in the same runlevel.
want is similar to need that it starts "coolservice" regardless if it's
in the same runlevel, but it doesn't matter if "coolservice" has successfully
started.
use is similar to need that it requires "dns", "logger", and "netmount" to
start but only if they're in the same runlevel.  We don't care if all or one
of them don't get started because they're not in the same runlevel, but we
do care that they successfully start if they are.
before declares that we need to be started before another service just in case
the other service is in the same runlevel.
after declares that we need to be started after another service in case other
service is in the same runlevel but we don't care if it successfully starts,
and we're not affected by its stop.
I think need can also be clarified further on how a service gets started
before it:
need declares a hard dependency - "net" always needs to be successfully
started before this service does.  The "net" service gets started if it hasn't
started yet regardless if the service is in the same runlevel, or if the
service is not declared anywhere.

repo: OpenRC/openrc


text:
DB Setup

The ticket is about setting up DB and defining npm to interact with the databases tables.

Setup docker+mysql sqlite. If we decide to chose any other database, update the docker accordingly.

Use a good javascript npm/library for interacting with database. Below npm can be used. It also supports migration.
http://docs.sequelizejs.com/

Acceptance criteria of the ticket is to run a sqlite mysql node and connect it with nodejs npm.

Select latest and stable version for docker sqlite image
Define docker compose.yml for sqlite.
Update package.json with appropriate (sqlite) npm package.
On terminal test the connections. (or dummy table updates.)

https://www.npmjs.com/package/sqlite

https://www.npmjs.com/package/@types/sqlite3

authors: abhayks1 deepesh-kn pgev

repo: OpenST/facilitator


text:
Change language via system settings

OpenSlides admins should change the language of an event via the OpenSlides configuration tab (system settings). Currently it's possible only via the value of "LANGUAGE_CODE" in settings.py.

This is a very old issue but I stumbled upon it when I looked for a way to set the language for all users. @ostcar I'm gonna answer your question about the advantage in this feature.
When I'm moderating a gathering of a small club of non-techies who all speak the same language:

often the users themselves don't understand why their browser is displaying all websites in the "wrong" language (aka not their native language) neither do they know how to change it.* I can't do user support during an event, but I could avoid this issue upfront by configuring OpenSlides to use the "right" language for everyone.

if I moderate a event with people who never used OpenSlides, I need to explain them where they have to click to get to agenda/motions/etc. This needs to be in the language in which we moderate the event and this needs to be in the same language for all users. Because otherwise chaos ensues.

The perfect solution would be if I could set a default language through settings.py and OpenSlides would give advanced usres the option to manually change it to the language of their choice through the web interface.
I'm not a fan of auto-detection tbh as I find it very confusing. Not all websites use it, so if you want to change the language, you can never be certain if the site itself has a language setting, if I need to change the browser setting or if there's just no way to change it.
Sorry for grave digging :-P
Cheers
Fred

authors: frederikheld ostcar

repo: OpenSlides/OpenSlides


text:
Add virtual scrolling to tables

Replaces most mat-tables with tables using the NGrid library, supporting
extremly performant virtual scrolling.
The ListViewBaseComponent have been extremly simplified.
All list-view code is now mich shorter and way less repitative
The group list and the workflow list have not been altered.
Works:

Fast virtual Scrolling without pagination
Click Filter
Search Filter
Sorting
Export filtered values (using click filters)
Export sorted values in correct order
Right-Click-new-tab
Hiding/showing columns by permission and screen size
Multi select
Auto Updates in MultiSelectMode keep the correct items selected
OsHeadBar shows the correct amount of data
Restore scroll position after navigation
Shared-Table Component
Clean-Up base-list-view
Motion List
Motion Block List
Motion Block Detail
User List
Agnnda List
Assignment List
MediaFile List
HistoryList (Also sorts using the repo as it should)

TODO:

Formulate filter predicates
Horrizontal Scrolling, if the screen get's too small.
Firefox has issues in the change detection

BUG:

Using the seach filter prevents the sorting from working.
NGrid currently has no way to get the filtered list
using search filter. Thus, search-filtered list cannot
be exported.

That should work. Layout can probably be enhanced in some views.
Current bugs, besides firefox, are mainly in the search filter behavior.
https://github.com/shlomiassaf/ngrid/issues/6

@emanuelschuetze can be tested. I updated the description of this PR.

"File to import not found or unreadable: ~@pebula/ngrid-material/theming."

that's odd. Perhaps some new updates I did not apply yet.

Travis currently reports, that the heap size is maxed out.
https://github.com/angular/angular-cli/issues/13734

I had this issue before. Maybe this helps: Look into our package.json from ng-high-memory. Usage:
npm run ng-high-memory -- build --prod.

Travis fixed by changing command in .travis.yml


text:
Can we add eight directions

Can we add eight directions, such as bottom left, top left, bottom right, and top right? Because some games are very convenient to use these directions

This might be possible after #724.

@TianMaiChengGhostRidder in the next release of the firmware, it will be possible to map multiple outputs, such as Down+Right, to one pin. This should satisfy your request.

authors: TianMaiChengGhostRidder bsstephan


text:
Added bin directory that contains scripts to build OVJ. Updated Readme

The included scripts are buildovj, makeovj, and whatsin

Do I need to update OpenVnmrj/OpenVnmrj to delete  the copied scripts? It'll be confusing to have 2 copies.

I was going to do that. I need practice doing simple things. I assume I should do it to the tim-developmen branch

Yes. Please work in that branch. We'all need to test then pull across later.

I forked OpenVnmrJ to the daniverson account. On the Oregon machine, I did
git clone ssh://daniverson@github.com/daniverson/OpenVnmrj.git
cd OpenVnmrJ
git checkout tim-developmen
git rm src/scripts/buildovj  src/scripts/makeovj  src/scripts/whatsin.sh
git push
On the github site, I selected the daniverson/OpenVnmrJ repo and selected
the tim-developmen branch. I saw the update.  I then clicked the "New pull
request" button. Everything seemed to work. I saw one pull request for
OpenVnmrJ/OpenvnmrJ.  I then wanted to add some .gitignore files to
suppress build artifacts from showing when one does git status.
I used git add to add them and then git push. Again, they showed up on
github in daniverson/openvnmrj. I clicked the "New pull request" again but
when I went to OpenVnmrJ/OpenVnmrJ, there is only one pull request with
both commits in it. I has hoping for two pull requests, each with a single
commit. Any idea what I did wrong?
On Mon, Jun 13, 2016 at 2:34 PM, Timothy Burrow notifications@github.com
wrote:

Yes. Please work in that branch. We'all need to test then pull across
later.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OpenVnmrJ/ovjTools/pull/2#issuecomment-225715773, or mute
the thread
https://github.com/notifications/unsubscribe/ANelBij5QjCCZ2s2_woBk4H6b-T-lYAvks5qLczbgaJpZM4I0qHE
.

authors: DanIverson timburrow

repo: OpenVnmrJ/ovjTools


text:
updated skills content

Updated install_skills to point to the ovos_skill_manager for more information, so we don't have to maintain osm.md in two locations. (separately I updated the readme.md with the up to date syntax.  Also removed old skills md files that aren't needed in community-docs.

I wonder if it should be the other way around.  OSM should be usable by the user and there needs to be good docs for that.  I don't think it is good when a new user has to switch between docs to find the basic information they need.  The tech docs could go into how it actually works instead of how to use it.

I can add more to the install_skills.md if we need, but having a osm.md in the docs that is identical to the readme.md in the repo seems redundant, and harder to keep them in sync.  As it is now, I have enough in the docs to figure out how to install osm, enable a skill store, and search for a skill.  And to get help for further options.  I think that's probably sufficient for the user docs without turning it in to a man page, and then if they need further information they can go to the readme.  We could also create a more detailed page in the technical docs.

Do I need to do anything to merge this?

authors: builderjer travellingtechie

repo: OpenVoiceOS/community-docs


text:
🛑 Text-to-Speech - Coqui 2 - Neon AI is down

In 3da38a1, Text-to-Speech - Coqui 2 - Neon AI (https://coqui.neonaialpha.com/status) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Text-to-Speech - Coqui 2 - Neon AI is back up in cc52300.

repo: OpenVoiceOS/status


text:
Consider confirmations for update commands

We could list the updates that will be triggered when running zos update, present them to the user, and have them confirm the action, since it is potentially destructive.

Dropping in favour of #1229

repo: OpenZeppelin/openzeppelin-sdk


text:
dev build issue after update; won't launch

All I did was grabbing the new repo via git, and my dev build now gives errors and won't launch. Both dev and main builds are the same version. Suggestions?

@Openarl I think you're the most qualified to take a look at this.

Does anyone have a working dev build (locally, ofc)? I could use your help.

Fixed it.

repo: Openarl/PathOfBuilding

license: mit


text:
Zero services should create a valid [null] SPI

If the epg bridge runs and there are zero services providing SPI information via RadioDNS, the process ends with a warning message but without writing an output file.
This has two implications:

At the first run, no file is written, and odr-dabmux will not start because the file for the packet data service is missing
If the SPI has been previously generated, it will never be updated to reflect that fact that no services are providing SPI

Therefore, the process should write a valid SPI file which contains zero services, rather than aborting without writing a file.

The issue is that the multiplex ECC and EID are required, and they're not currently read in from the odr-dabmux configuration file. The code needs to be refactored to read those in from the configuration file and pass them to the generator, rather than relying on copying out the ECC and EID of the first service found.

Fixed - code just committed

repo: Opendigitalradio/odr-radioepg-bridge


text:
LC: Add well diagrams to radio groups

overview
As a LC user, I would like some visual guidance when selecting well shape and bottom shape.
Acceptance Criteria

~Refactor RadioField component to accept RadioGroup.options type~
[ ] Change well bottom shape dropdown to radio group
[ ] Radio groups with SVG icons in label render as expected with mobile first styling

Design
https://app.zeplin.io/project/5c881cf3fc5f4d194cde50ee/screen/5d60258eff86179b0c092937

Ah missed something or had a funky merge, this needs to be fixed:

closed  via #4013

repo: Opentrons/opentrons


text:
Epic: PD performance pass

Some low-hanging fruit as a first pass to optimize PD performance

Closing this old ZenHub epic as stale. We've moved these things to Jira.

authors: IanLondon SyntaxColoring


text:
ci(workflows): upgrade action versions and ubuntu in workflows

Not sure scope yet, trying out some changes.

https://github.com/actions/runner-images/issues/6002

@y3rsh it looks like the runner is now using 3.10 instead of 3.7 to create the virtualenv which is breaking things:
Pipfile: /home/runner/work/opentrons/opentrons/api/Pipfile
Using /usr/bin/python3 (3.10.4) to create virtualenv...

now i'm not sure why that is, but i think that's what is breaking things. we shouldn't have to, and should not, change the code - would you mind reverting that commit?

@y3rsh it looks like this: https://github.com/opentrons/opentrons/pull/9708 now needs to be not opted out of by CI.
this is set in ci by .github/actions/setup/action.yaml. it's set by an action input that defaults to empty.
i think we should make either

(preferred) Change the action so that if the input is unset, it doesn't specify the environment override at all, and just calls make -C ${{ inputs.project }} setup rather than make -C ${{ inputs.project}} setup OT_VIRTUALENV_VERSION=, which will allow the default in the python.mk script to get set
change the action to have that input default to 3.7, which I don't love because then it's a second source of truth to python.mk, but should work

All builds created from this PR installed.

mac
windows
linux


text:
feat(hardware): add motor position flags to CAN messages

Overview
This PR changes the EncoderPosition messages into MotorPosition messages, and adds more details. It adds an enumerated field for motor position validity flags, and adds it to the payload of the MotorPositionResponse and MoveCompleted messages.
This PR needs to be merged at the same time as the matching ot3-firmware PR.
Changelog

Added motor position flags field definition
Changed Encoder Position messages to Motor Position messages
Added motor position flags to MotorPositionResponse
Added motor position flags to MoveCompleted
Updated tests

Review requests
Risk assessment
Low except the monorepo and firmware must all be updated at the same time to keep CAN messages in sync. The flags are not actually used for anything so far.

Nice!
How should we handle axes without an encoder? For example, the gripper Z motor does not have an encoder. What do you expect the position flag to show for the gripper Z axis?

If an axis doesn't have an encoder (gripper Z is the only one I think?), the flag for the encoder should never be set in firmware.
When the robot is deciding on whether an axis has to be homed, you have a few choices:

No flags are set --> need to home the axis
Step position is valid --> definitely don't need to home
Step is invalid but encoder is valid --> we can probably do some recovery action here

What's TBD is when to set the flag for the position if there's no encoder. The firmware technically doesn't know if a stall occurred, so we either:

Assume that the position is always good once it's been homed (and the driver hasn't been disabled)
Assume the position is always bad because it could stall at any time. Maybe set the flag as "good" after homing and clear it as soon as the motor moves from the home position.

IMO we should have some way for axes to say "i have an encoder" (maybe another flag in that byte?) that lets the software make decisions on it.
I think the flow looks like this:

if the stepper flag is valid, that's good, nothing has to happen
if the stepper flag is invalid, but the encoder flag is valid, refresh the stepper position from the encoder position (we have to add this)
if the stepper flag is invalid, and the encoder flag is invalid/not present (these look the same), then we gotta home

We shouldn't use these flags to detect anomalous or error cases - we should have asynchronous error messages for, for instance, "stall detected" that interrupt moves and indicate exceptional cases. This static data is just about reflecting what's true about the system right now, and if there's no encoder then the encoder position isn't valid.


text:
Remove Heap snippet

Google Analytics will do everything we need for now.
Let's remove Heap from;

index.html
public/index.html

[ ] https://github.com/OperationCode/operationcode_frontend/blob/master/public/index.html#L24

[ ] https://github.com/OperationCode/operationcode_frontend/blob/master/index.html#L23

authors: hollomancer sethbergman


text:
Implement HA clusters on AWS with kops

kops helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters from the command line.
Currently if the worker node dies, pods have nowhere to reschedule to, which has been causing site cyclical outages.

This should be fixed with the migration to the new kops cluster.

authors: hollomancer nellshamrell


text:
Test auth/connection messges

We prefer small, well tested pull requests.
Please refer to Contributing to Spinnaker.
When filling out a pull request, please consider the following:

Follow the commit message conventions found here.
Provide a descriptive summary for your changes.
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Add inline code comments to changes that might not be obvious.
Squash your commits as you keep adding changes.
Add a comment to @spinnaker/reviewers for review if your issue has been outstanding for more than 3 days.

Note that we are unlikely to accept pull requests that add features without prior discussion. The best way to propose a feature is to open an issue first and discuss your ideas there before implementing them.
https://devopsmx.atlassian.net/browse/OP-19081

This PR successfully triggered this build https://jenkins.opsmx.net:8181/jenkins/job/Dev-gate-forargo/78/

repo: OpsMx/gate


text:
Handle run pids for sysv systems

Why
Sysv customers reporting opsverse-agent dead but subsys locked
Root Cause
.run and pid lock mismatch. We're now takin pidof to write the runpid
Testing
We have a patch script that fixes already installed init scripts (so no need to re-install, which will squash configs). Tested on a running system with this branch:
$ curl https://raw.githubusercontent.com/OpsVerseIO/installers/bugfix/sysv-runpid/fixit-scripts/patch-sysv-runpid.sh | sudo bash -s
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   685  100   685    0     0   1991      0 --:--:-- --:--:-- --:--:--  1991
/etc/init.d/opsverse-agent already contains patch
patching /etc/init.d/prom-mongodb-exporter...
done.
patching /etc/init.d/prom-mysqld-exporter...
done.
$ sudo service prom-mysqld-exporter status
prom-mysqld-exporter dead but subsys locked
$ sudo service prom-mysqld-exporter restart
Stopping prom-mysqld-exporter
                                                           [  OK  ]
Starting prom-mysqld-exporter
                                                           [  OK  ]
$ sudo service prom-mysqld-exporter status
prom-mysqld-exporter (pid  4041) is running...

Bucket already has installer from branch copied

repo: OpsVerseIO/installers


text:
Support for SSH tunneling ?

Can we have SSH tunneling support as well?
I am currently using redbird with - https://www.npmjs.com/package/tunnel-ssh

+1

not sure I understand this use case well, could you elaborate more on it or provide an example?

For myself,  I'm looking for a http reverse proxy and a ssh reverse proxy, for my CoreOS Docker server.
So it would be great if Redbird could help me in both ways.

I am using Red Bird for this exact purpose- seems to work fine.

https://github.com/containous/traefik

My guess is that I am working on an identical usecase- trying to allow users to SSH into a Docker container based on domain name (a SSH Reverse Proxy).  It doesnt seem like there is an existing solution, so I am going to be implementing this in Red Bird.

@DerekTBrown aha, ok, I think I understand it now :)

Honestly, it doesnt look like RedBird is super conducive to this sort of implementation.  Nothing against RedBird, but it is designed as an HTTP Proxy alone.  I am working on a fork of RedBird which will implement all of RedBird's functionality, but in a more modular way.

We have a clone of redbird called redwire: https://github.com/metocean/redwire
It supports TLS and TCP proxying in a modular way. Worth looking at even if you're doing your own thing.

On 21/06/2016, at 12:06 PM, Derek Brown notifications@github.com wrote:
Honestly, it doesnt look like RedBird is super conducive to this sort of implementation. Nothing against RedBird, but it is designed as an HTTP Proxy alone. I am working on a fork of RedBird which will implement all of RedBird's functionality, but in a more modular way.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@DerekTBrown yes, the initial requirements for redbird where to be a very simple to setup reverse proxy for http. I will keep modularizing it overtime though according to my own needs.

@manast @tcoats having read over both projects, I think that they are both somewhat limited in their ability to become modular without breaking backwards compatibility.  I also think it is somewhat silly that you are both developing what are essentially identical pieces of software in parallel.
What I am going to try to do (as this is something I need for my production application anyway) is to pull together both your projects with a more modular construction, and include inbuilt support for a couple of features which are in the pipeline for RedBird/RedWire:

Remove Static HTTP/S Bindings
Configuration Hotloading
Official Docker Image (w/EncloseJS)
Let's Encrypt Support
Multiple Resolvers (https://github.com/OptimalBits/redbird/issues/11)
Wildcard / Multiple Routers (https://github.com/OptimalBits/redbird/pull/48)

It will not be syntactically the same, but will be substantially more modular in the long run.  It is going to take me a while to get to a stable version, but if you like, you can follow the project here:
https://github.com/DerekTBrown/redrouter

@manast @tcoats  I wrote the SSH Proxy component of my project just to demonstrate how the framework would work.  Would you be interested in me porting the HTTP/HTTPS bits from RedBird and RedRouter to my framework as the next step on the development roadmap?

authors: DerekTBrown gavinengel manast tcoats tusharmath

repo: OptimalBits/redbird


text:
What tokenizer should be loaded?

When I try the demo_detgpt.py after environment setup, I got below error:
(detgpt) admin@k8s:~/DetGPT$ python demo_detgpt.py --cfg-path configs/detgpt_tasktune_7b_coco.yaml
Initializing Chat
final text_encoder_type: bert-base-uncased
Some weights of the model checkpoint at bert-base-uncased were not used when initializing BertModel: ['cls.seq_relationship.bias', 'cls.predictions.decoder.weight', 'cls.predictions.bias', 'cls.seq_relationship.weight', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.bias', 'cls.predictions.transform.LayerNorm.weight', 'cls.predictions.transform.dense.bias']

This IS expected if you are initializing BertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).

This IS NOT expected if you are initializing BertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Model loaded from /home/itadmin/.cache/huggingface/hub/models--ShilongLiu--GroundingDINO/snapshots/a94c9b567a2a374598f05c584e96798a170c56fb/groundingdino_swinb_cogcoor.pth
=> _IncompatibleKeys(missing_keys=[], unexpected_keys=['label_enc.weight'])
/home/itadmin/anaconda3/envs/detgpt2/lib/python3.9/site-packages/torch/cuda/init.py:104: UserWarning:
NVIDIA A100-PCIE-40GB with CUDA capability sm_80 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the NVIDIA A100-PCIE-40GB GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/
warnings.warn(incompatible_device_warn.format(device_name, capability, " ".join(arch_list), device_name))

loaded detector
Loading VIT
Loading VIT Done
Loading Q-Former
Loading Q-Former Done
Loading LLAMA
Traceback (most recent call last):
File "/home/itadmin/hans/2d/DetGPT/demo_detgpt.py", line 198, in
model_llm = model_cls.from_config(model_config).to(cuda_llm)
File "/home/itadmin/hans/2d/DetGPT/detgpt/models/detgpt.py", line 278, in from_config
model = cls(
File "/home/itadmin/hans/2d/DetGPT/detgpt/models/detgpt.py", line 95, in init
self.llama_tokenizer = LlamaTokenizer.from_pretrained(llama_model, use_fast=False)
File "/home/itadmin/anaconda3/envs/detgpt2/lib/python3.9/site-packages/transformers/tokenization_utils_base.py", line 1795, in from_pretrained
raise EnvironmentError(
OSError: Can't load tokenizer for './output_models/vicuna-7b'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure './output_models/vicuna-7b' is the correct path to a directory containing all relevant files for a LlamaTokenizer tokenizer.

I have the same problem.
The download script doesn't download vicuna, so you need to download Meta's llama model and convert it to vicuna as explained in https://github.com/lm-sys/FastChat#vicuna-weights

Hi,
Thanks for your question and ardiya's reply!
The name ./output_models/vicuna-7b is a placeholder. It is expected to prepare the vicuna weights and tokenizer by yourself first following the instruction ardiya provided.
Hope this helps.
Thank you again!

authors: ardiya hanswang1 shizhediao

repo: OptimalScale/DetGPT


text:
ValueError: Tokenizer class BaichuanTokenizer does not exist or is not currently imported.

有没有好心的大佬可以解答一下疑惑，咱们这个框架是不支持baichuan嘛，因为我跑的时候遇到了这个问题ValueError: Tokenizer class BaichuanTokenizer does not exist or is not currently imported.

是支持的，可以试一下最新代码，如果有问题欢迎继续交流，谢谢

It's supported. You can give the latest code a try. If you encounter any issues, feel free to continue the discussion. Thank you.

This issue has been marked as stale because it has not had recent activity. If you think this still needs to be addressed please feel free to reopen this issue. Thanks

我用main的代码来跑也是提示这个错误

I think it is because Baichuan uses a remote tokenizer, as according to this issue (https://github.com/baichuan-inc/Baichuan2/issues/135). As a solution, you may use --trust_remote_code 1 option to turn on remote code trust, and add this argument to the following line.
https://github.com/OptimalScale/LMFlow/blob/main/src/lmflow/models/hf_decoder_model.py#L152
Hope that solves your issue 🙏

@shizhediao I also encountered the same problem, my version is 4.36.2; I'm using the latest code from baichuan2-7b-main.

@shizhediao I also encountered the same problem, my version is 4.36.2; I'm using the latest code from baichuan2-7b-main.

you should add --trust_remote_code 1 into scripts/run_finetune_with_lora.sh

but in my case , it will thow another error:
Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████| 2/2 [01:19<00:00, 39.51s/it]
Traceback (most recent call last):
  File "/app/LMFlow/examples/finetune.py", line 61, in <module>
    main()
  File "/app/LMFlow/examples/finetune.py", line 54, in main
    model = AutoModel.get_model(model_args)
  File "/app/LMFlow/src/lmflow/models/auto_model.py", line 16, in get_model
    return HFDecoderModel(model_args, *args, **kwargs)
  File "/app/LMFlow/src/lmflow/models/hf_decoder_model.py", line 330, in __init__
    model = get_peft_model(model, peft_config)
  File "/usr/local/lib/python3.10/site-packages/peft/mapping.py", line 116, in get_peft_model
    return MODEL_TYPE_TO_PEFT_MODEL_MAPPING[peft_config.task_type](model, peft_config, adapter_name=adapter_name)
  File "/usr/local/lib/python3.10/site-packages/peft/peft_model.py", line 947, in __init__
    super().__init__(model, peft_config, adapter_name)
  File "/usr/local/lib/python3.10/site-packages/peft/peft_model.py", line 119, in __init__
    self.base_model = cls(model, {adapter_name: peft_config}, adapter_name)
  File "/usr/local/lib/python3.10/site-packages/peft/tuners/lora/model.py", line 111, in __init__
    super().__init__(model, config, adapter_name)
  File "/usr/local/lib/python3.10/site-packages/peft/tuners/tuners_utils.py", line 93, in __init__
    self.inject_adapter(self.model, adapter_name)
  File "/usr/local/lib/python3.10/site-packages/peft/tuners/tuners_utils.py", line 217, in inject_adapter
    peft_config = self._prepare_adapter_config(peft_config, model_config)
  File "/usr/local/lib/python3.10/site-packages/peft/tuners/lora/model.py", line 373, in _prepare_adapter_config
    raise ValueError("Please specify `target_modules` in `peft_config`")
ValueError: Please specify `target_modules` in `peft_config`
[2024-01-25 10:10:25,445] [INFO] [launch.py:315:sigkill_handler] Killing subprocess 1752
[2024-01-25 10:10:25,446] [ERROR] [launch.py:321:sigkill_handler] ['/usr/local/bin/python', '-u', 'examples/finetune.py', '--local_rank=0', '--trust_remote_code', '1', '--model_name_or_path', '/tmp/Baichuan2-7B-Chat', '--dataset_path', '/tmp/data/wiki_cn/', '--output_dir', 'output_models/Baichuan2-7B-Chat', '--overwrite_output_dir', '--num_train_epochs', '3', '--learning_rate', '1e-4', '--block_size', '512', '--per_device_train_batch_size', '1', '--use_lora', '1', '--lora_r', '8', '--save_aggregated_lora', '0', '--deepspeed', 'configs/ds_config_zero2.json', '--fp16', '--run_name', 'finetune_with_lora', '--validation_split_percentage', '0', '--logging_steps', '20', '--do_train', '--ddp_timeout', '72000', '--save_steps', '5000', '--dataloader_num_workers', '1'] exits with return code = 1

I think it is because Baichuan uses a remote tokenizer, as according to this issue (baichuan-inc/Baichuan2#135). As a solution, you may use --trust_remote_code 1 option to turn on remote code trust, and add this argument to the following line:
https://github.com/OptimalScale/LMFlow/blob/main/src/lmflow/models/hf_decoder_model.py#L152
Hope that solves your issue 🙏

Hi @mawenju203 Please refer to this solution.

ValueError: Please specify `target_modules` in `peft_config`

As the error suggests, you will need to specify target_modules.  Take a look at this: https://stackoverflow.com/questions/76768226/target-modules-for-applying-peft-lora-on-different-models

ValueError: Please specify `target_modules` in `peft_config`

As the error suggests, you will need to specify target_modules. Take a look at this: https://stackoverflow.com/questions/76768226/target-modules-for-applying-peft-lora-on-different-models

Thank you . I have read this issue https://github.com/OptimalScale/LMFlow/issues/655#issuecomment-1772010562  , and it works

repo: OptimalScale/LMFlow


text:
Updated for latest versions of ORDS and APEX as-of 2018-10-05

Updated to:
-APEX 18.2
-ORDS 18.3

@maxime-tremblay Thanks for this. Can you please remove the .DS_Store file from the PR? I will add update the .gitignore file after this PR. I will leave @tschf to review and merge.

@fuzziebrain My bad, thought I had removed the file already. Just removed it.

authors: fuzziebrain maxime-tremblay

repo: OraOpenSource/OXAR


text:
[Bug]: [P1] Common accessibility issue - "Customize" accordion status is not vocalized

Prerequisites

[X] I have searched the backlog for duplicate or closed feature requests

Your test device
iPhone 14 Plus
OS Version
17.1.1
App version
v0.16.0
Describe the issue
For all components that include a "Customize" accordion, the status expanded/collapsed is not vocalized with Voice Over

Expected Behavior
Use a native DisclosureGroup

DisclosureGroup object won't be sued ebcause it is not the component we want ; we need a kind of bottom sheet and not a collapsable embeded view

@pylapp I think the hint is reversed, when sheet is opened, the state is correctly set as "opened" but the hint is "Tap twice to open".

repo: Orange-OpenSource/ods-ios


text:
Auto-send favorite local runes to the game [Idea/Feature request]

Blitz.gg app and OP.gg extension have an auto-import feature that automatically sends the most used runes per champion to the game, but RuneBook has a big potential other alternatives don't: local rune pages.
But wich rune page should Runebook send to the game if the user has many personalized local runes?
That can be solved with a "favorite runes" feature: the user can mark just one page as its favorite (one favorite per champion), and RuneBook will send that page automatically to the game when the champion is locked. Then, if the user feels like using alternative runes for a match in particular, they can choose them manually from the app and overwrite the auto runes just for that game.
If the user doesn't have a favorite rune page for a champion, they have to select their runes manually from the app or... maybe the app could send the most used runes for that champ (from op.gg or maybe a secondary local datebase)? Of course that would require that the auto-import feature could be turned on and off.

The favorite page feature was originally planned in the early stage of development. Then I changed my mind and discarded the idea, because I thought that the app shouldn't actively interact with the game client without requiring user's action.
Nowadays it seems Riot allows that kind of automation, but still I have no plan to add new functionalities to RuneBook. Thanks for your suggestion though.

authors: OrangeNote mugiritsu

repo: OrangeNote/RuneBook


text:
#7404 Users' own Media folder

Implemented what described on issue 7404
Manage Own Media permission, created Users/UserName folder that sounds as having some problems. Now creates Users/UserNameEncoded folder in order to prevent:
Media Folder name broken with special chars
Added interface for change the default behavior

Hi @LorenzoFrediani-Laser, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, DNFBOT;

authors: LorenzoFrediani-Laser dnfclas

repo: OrchardCMS/Orchard


text:
Potential missed ListingCreated events

Seen a few occurrences of this in prod recently.  I don't know if this is causing issues or is intentional.  Just looks weird to me.
[INFO]  dshop.utils.handleLog: Event ListingCreated for listing Id 1-001-2465
[DEBUG] dshop.utils.handleLog: Event is not for a registered dshop. Skipping.

The listing JSON does appear to be a Dshop listing:
{
  "__typename": "UnitListing",
  "schemaId": "https://schema.originprotocol.com/listing_3.0.0.json",
  "listingType": "unit",
  "category": "schema.forSale",
  "subCategory": "schema.clothingAccessories",
  "language": "en-US",
  "description": "Origin DShop Store",
  "media": [],
  "price": {
    "amount": "0",
    "currency": "fiat-USD"
  },
  "amount": "0",
  "currency": "fiat-USD",
  "acceptedTokens": ["token-ETH"],
  "commission": {
    "currency": "OGN",
    "amount": "0"
  },
  "commissionPerUnit": {
    "currency": "OGN",
    "amount": "0"
  },
  "requiresShipping": false,
  "unitsTotal": 1000
}

Could be from a custom deployment, which would make this sane and okay.  There's no DB entries matching this listing(may or may not be expected).  The numbers aren't really expected, however.

I wonder if this is a race condition:

A listing is created for a new shop on the front-end via MetaMask
Transaction get mined
The back-end listener may pick up the event faster than the front-end
In that case the front-end won't have updated listing_id in the shops table, which would explain why the listener does not find it...

The good news is that the logic does not process ListingCreated event (only Offer events are). See code.
One minor impact though is that we won't record that event in the DB which down the road could be useful. See code.

Now, I checked the DB and I don't see any row in the shops table associated with listing id 1-001-2465.
It's possible the user did not wait for the transaction to be mined before killer their browser tab running the dshop deployer, resulting in the front-end not registering the listing id with the back-end?

I'm actually seeing a lot of holes in the sequence of listing ids registered with the back-end in the shops table.
select id, created_at, listing_id from shops order by listing_id desc;
...
 328 | 2020-07-31 04:19:28.859+00 | 1-001-2488
 304 | 2020-07-31 02:33:14.842+00 | 1-001-2486
 297 | 2020-07-31 01:55:52.233+00 | 1-001-2480
 276 | 2020-07-31 00:47:10.941+00 | 1-001-2479
 292 | 2020-07-31 01:31:21.013+00 | 1-001-2478
 271 | 2020-07-31 00:35:05.692+00 | 1-001-2474
 280 | 2020-07-31 00:57:06.253+00 | 1-001-2473
 240 | 2020-07-30 23:30:04.903+00 | 1-001-2471
 194 | 2020-07-25 17:52:10.445+00 | 1-001-2469
 263 | 2020-07-31 00:06:46.916+00 | 1-001-2468
 242 | 2020-07-30 23:36:34.329+00 | 1-001-2466
 218 | 2020-07-30 23:14:25.186+00 | 1-001-2463
 211 | 2020-07-30 22:17:27.288+00 | 1-001-2460

This could indicate a bug in the front-end where it does not register the listing id with the back-end ?

Something odd.
These server logs indicates that there was a shop with listing_id 1-001-2476. Otherwise the Upsert event would not have happened (see this code).
I 2020-07-31T01:33:56.276293250Z [INFO]  dshop.utils.handleLog: Event ListingCreated for listing Id 1-001-2476
I 2020-07-31T01:33:56.280307432Z [DEBUG] dshop.utils.events: Upsert event...

And querying the DB confirms an event for listing id 2476 was inserted in the events table.
BUT when querying the shops table, I do not see any shop associated with that listing!
dshop=> select id, created_at, name from shops where listing_id='1-001-2476';
 id | created_at | name
----+------------+------
(0 rows)

This could indicate that after that event got inserted, the shop got updated and the listing_id deleted from the shop DB row?

Confirmed that listing id 2476, 2477, 2478 were created by the same address  starting with 0xde7245...
So that would explain the holes in the listing ids in the shops table for that range of listing Ids.
I wonder what causes that user to create 3 listings?
I'll check for other listing Id ranges.

The current mechanism of waiting for the tx to be mined, then updating the backend via the UI isn't great. Instead, we could do the following:

Add a listingCreatedTx column to the shops db table
Send the txHash and owner wallet to the backend from the UI as soon as we get it (ie don't wait for it to be mined)
Listener watches for ListingCreated events, and updates any shops in the db with matching tx + owner with the eventually mined listingId

Caveat: if the user 'speeds up' the transaction, a new txHash will be generated but the old txHash could still be mined first. For that reason we should probably have the ability to either a) monitor multiple txHashes for the same shop on the backend, or b) find the shop that has the same sellerWallet as in the ListingCreated event, but with no listingId yet, and update that.
The former is more complex but probably better, as users could conceivably try to create multiple shops in quick succession

I looked at another range of listing ids and it has a similar pattern.
Listing Ids range [1-991-2497, 1-991-2499].
All those 3 listings were created by the same shop (id 374).
It seems a pretty common pattern so worth putting in a fix.
I'll look at the backend piece and then we can integrate the front-end.

Lowering to P2 since now that we moved things off-chain, the listener is not involved for setting up a shop and orders processing.

Closing this code is not active in prod and therefore we don't have any new data to investigate on.

authors: franckc mikeshultz nick

repo: OriginProtocol/dshop


text:
Upgrade AAVE strategy to AAVE v2

Upgrade AAVE strategy to use AAVE v2.
Discussion for upgrade
We should plan on rolling this out as a new strategy address, just to guarantee a clean slate and that all addresses/state are correct. We'll remove the old strategy, then add this strategy.
Progress:

[x] Interface changes
[x] Mock changes
[x] Contract changes
[x] Tests pass
[x] Deployment written
[x] Deployment tested on fork with fork funds

Contract change checklist:

[x] Code reviewed by 2 reviewers. See template and example.
[x] Unit tests pass
[x] Slither tests pass with no warning
[x] Echidna tests pass if PR includes changes to OUSD contract (not automated, run manually on local)

Will write deploy script once we have the new deploy library running and merged.

Notes on AAVE Liquidity rewards:

Official Liquidity Mining Docs
Official Staking Docs
rewards contract: 0xd784927Ff2f95ba542BfC824c8a8a98F3495f6b5
stkAAVE: 0x4da27a545c0c5b758a6ba100e3a049001de870f5

1. Get rewards amount
rewards.getRewardsBalance(address[] calldata assets, address user)
2. Convert rewards into stkAAVE
rewards.claimRewards(address[] calldata assets, uint256 amount, address to)
3. Trigger cooldown
stkAAVE cannot be turned into AAVE without a five day cool down. Sending more funds in restarts the cool down, as does claiming rewards. Additionally, two days after the cool down unlocks, it locks again automatically. To restart the cool down clock:
stkAAVE.cooldown()
To find out your current cool down start time:
stkAAVE.cooldown.stakersCooldowns(address(this))
4. Convert to AAVE
When the time is right:
stkAave.claimRewards(address(this), type(uint256).max)

stkAave.redeem(address(this), stkAaveBalance)

All together
Because moving funds or claiming rewards resets the cool down, the order matters a little bit

First we convert stkAave.redeem to AAVE
Then we claim rewards from stkAave
Transfer AAVE to the vault to be sold
start the cooldown for the next round.

Testing out AAVE Staking
stkAave = Contract.from_explorer("0x4da27a545c0c5b758a6ba100e3a049001de870f5")
aave = Contract.from_explorer("0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9")
incentivesController = Contract.from_explorer("0xd784927Ff2f95ba542BfC824c8a8a98F3495f6b5")
VAULT = "0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70"
ADAI_V2 = '0x028171bca77440897b824ca71d1c56cac55b68a3'
ME = "0x4a49985b14bd0ce42c25efde5d8c379a48ab02f3"
FROM_ME = {'from': ME}

stkAave.cooldown(FROM_ME)
chain.sleep(stkAave.COOLDOWN_SECONDS()+100)
chain.mine()

cooldown = stkAave.stakersCooldowns(ME)
windowStart = cooldown + stkAave.COOLDOWN_SECONDS()
windowEnd = windowStart + stkAave.UNSTAKE_WINDOW()
currentTimestamp = chain.time()
currentTimestamp > windowStart and currentTimestamp < windowEnd

stkAaveBalance = stkAave.balanceOf(ME)
rewardLiquidationThreshold = 50
stkAaveBalance > rewardLiquidationThreshold

stkAave.redeem(ME, stkAaveBalance, FROM_ME)
stkAave.balanceOf(ME)

aaveBalance = aave.balanceOf(ME)
aave.transfer(VAULT, aaveBalance, FROM_ME)

pendingRewards = incentivesController.getRewardsBalance([ADAI_V2], ME)
incentivesController.claimRewards([ADAI_V2], pendingRewards, ME, FROM_ME)

Now we have tests, next up is deploy scripts.

Code for testing rewards
from world import *
from addresses import *
vault_core.totalValue()
OLD_AAVE_STRAT = AAVE_STRAT
NEW_AAVE_STRAT = "0xaB5E7B701B605f74AaC1b749Fd50715f0DEd7Bc5"
COMPOUND_STRAT = '0xD5433168Ed0B1F7714819646606DB509D9d8EC1f'
AAVE_INCENTIVES_CONTROLLER = "0xd784927Ff2f95ba542BfC824c8a8a98F3495f6b5"
ADAI = "0x028171bca77440897b824ca71d1c56cac55b68a3"
new_aave_strat = Contract(NEW_AAVE_STRAT)
incentives = Contract(AAVE_INCENTIVES_CONTROLLER)
stkAave = Contract('0x4da27a545c0c5b758a6ba100e3a049001de870f5')
aave = Contract('0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9')
adai = Contract(ADAI)
brownie.network.web3.provider.make_request('hardhat_impersonateAccount', ['0x830622bdd79cc677ee6594e20bbda5b26568b781'])
brownie.network.web3.provider.make_request("evm_snapshot", [])

new_aave_strat.checkBalance(DAI) / 1e18
vault_admin.reallocate(COMPOUND_STRAT, NEW_AAVE_STRAT, [DAI], [int(1000000*1e18)], {'from': GOVERNOR})
vault_admin.reallocate( NEW_AAVE_STRAT, COMPOUND_STRAT, [DAI], [int(1000000*1e18)], {'from': GOVERNOR})
vault_admin.reallocate(COMPOUND_STRAT, NEW_AAVE_STRAT, [DAI], [int(2000000*1e18)], {'from': GOVERNOR})
new_aave_strat.checkBalance(DAI) / 1e18

for i in range(1,30):
  print("---- DAY %d" %i)
  #brownie.network.web3.provider.make_request('evm_mine', [1627490205 + 86400 * i])
  brownie.network.web3.provider.make_request('evm_increaseTime', [86400])
  print("USDT %d" % (usdt.balanceOf(vault_core) / 1e6))
  print("STK %d" % (stkAave.balanceOf(NEW_AAVE_STRAT) / 1e18))
  print("DAI %d" % (new_aave_strat.checkBalance(DAI) / 1e18))
  print("Cooldown %d" % stkAave.stakersCooldowns(NEW_AAVE_STRAT))
  print("RB %d" % incentives.getRewardsBalance([ADAI], new_aave_strat))
  vault_admin.harvest(NEW_AAVE_STRAT, {'from':GOVERNOR})

#vault_admin.harvest(NEW_AAVE_STRAT, {'from':GOVERNOR})

@franckc, @tomlinton, @mikeshultz. This code is ready for review again, small changes to the contract and to the deploy script. I was able to run success path fork testing.

@tomlinton, could you take a look at the contract side of this when you have a chance?

Not sure if I previously suggested this, but any thoughts on maintaining the v1 strategy as is (in the codebase) and adding a new file for the v2 strategy stuff? Might be more pain than it is worth.

I think the reason I suggested the v1 vs v2 thing is that when I review the changes here I've got the blinders on with regard to how the rest of the strategy works because the stuff we originally had doesn't show up in the diff, e.g. checkBalance. Fortunately it's all reasonably simple.

Not sure if I previously suggested this, but any thoughts on maintaining the v1 strategy as is (in the codebase) and adding a new file for the v2 strategy stuff? Might be more pain than it is worth.

Yeah, maybe talked in Discord. I'd rather keep the codebase simple, and we can all ways get the old strategy back from git in the unlikely event that we need it.

Requirements
This PR moves from AAVE v1 to AAVE v2, and adds support for the AAVE v2 rewards.
Sheesh StkAAVE is a pain.
Deployment Considerations
AAVE v2 rewards collection requires that the collectRewardToken() method on the strategy be called by the vault on the correct times to hit the unstaking window. We may need a keeper contract to do this.
Internal State
No internal state is modified during operation. Contract storage slots are configuration. All dynamic state is looked up from external sources.
💡 If we were using a more recent solidity version, we could immutable all these configuration addresses into the contract, and save gas on everything the contract does.
Attack
AAVE very difficult to misuse.
Funds are only ever transferred out to the vault, or to the address specified by the vault.
Balances are a simple 1-1 mapping of aToken balances.
Logic
💡 We aren't handling collecting the small amounts of StkAAVE interest that could be generated from the week worth of StkAAVE we'll build up between converting it to AAVE. If AAVE reintroduces rewards mining, we can upgrade to support it.
Tests

[ ] Each logical branch has a test
[ ] Each require() has a test
[ ] Edge conditions are tested

Flavor
Could reorder methods for more standardization. Will do later though, if we do.
Overflow

[x] Never use "+" or "-", always use safe math
[x] Check that all for loops use uint256

Black magic

[x] Does not contain selfdestruct

[x] Does not use delegatecall outside of proxying

[x] (If an implementation contract were to call delegatecall under attacker control, it could call selfdestruct the implementation contract, leading to calls through the proxy silently succeeding, even though they were failing.)

[x] Address.isContract should be treated as if could return anything at any time, because that's reality.

Authentication

[x] Never use tx.origin
[x] Check that every external/public function should actually be external
[x] Check that every external/public function has the correct authentication

Cryptographic code
No crypto code used.
Gas problems

[x] Contracts with for loops must have either:

[ ] A way to remove items
[x] Can be upgraded to get unstuck
[x] Size can only controlled by admins

[x] Contracts with for loops must not allow end users to add unlimited items to a loop that is used by others or admins.

External calls

[x] Contract addresses passed in are validated
[x] Unsafe external calls. AAVE and trusted stables only for external calls
[x] Reentrancy guards on all state changing functions
[x] Malicious behaviors. If AAVE is malicious, problems ensue.
[x] Could fail from stack depth problems (low level calls much require success)
[x] No slippage attacks (we need to validate expected tokens received)
[x] Oracles? none
[x] Oracles, one of:

[x] No oracles
[ ] Oracles can't be bent
[ ] If oracle can be bent, it won't hurt us.

[x] Don't call balanceOf for external contracts to determine what they will do, when they instead use internal accounting?

Ethereum

[x] Contract does not send or receive Ethereum.
[x] Contract has no payable methods.
[x] Contract does not use msg.value

authors: DanielVF tomlinton

repo: OriginProtocol/origin-dollar


text:
Reference-type documentation

Currently there doesn't seem to be a complete reference listing all the commands and the operations they perform in a single place. The website has two buttons, "See the commands" and "View all commands", and both point to https://github.com/Originate/git-town#commands, which is more of a overview/summary -- albeit with links to more detailed pages, so that's a great start.
documentation/commands/ does contain a complete listing of the commands (perhaps the "View all commands" button should point to it), but one would have to open each page separately, and still those don't mention what exactly goes on behind the scenes.
The features/ directory does contain relevant information, like this, but it would be nice to be able to browse this documentation in a less contrived way.

Alternatively, the --dry-run option suggested in #659 could go a long way in providing this kind of information.

Thanks for the pointer, @waldyrious! I agree that the website didn't list all the commands properly. I have created #944 to document the commands new in 4.0 that weren't listed there. With this in place, the documentation on Github would be the place that documents all commands.
I will add pointers to the feature files that list the commands in a subsequent PR.

Thanks for such a quick reaction!

I will add pointers to the feature files that list the commands in a subsequent PR.

That'd be great :)

I have created #946 to create links to the Cucumber files that describe the steps from the command documentation.

authors: kevgo waldyrious

repo: Originate/git-town


text:
Support named storage provider

Currently, Saga state storage uses the default grain storage provider configured for Orleans. Using a named storage provider would allow for separate storage configuration, including potentially TTL configuration, which might help with issues like Infinite growth of state after saga completions #37. (Not sure if this could be done without being a breaking change.)

Would the preference be to add a custom [StorageProvider] attribute to SagaGrain and SagaCancellationGrain?
The trade off of this would be user would have to explicitly define the storage provider for that id.

Yes, that is what I was thinking.

authors: cbgrasshopper creyke


text:
ReadStateAsync throw stops creating grains when a GrainState changes and no longer

Some changes to GrainState will result in deserialization errors during the SimpleSQLStorageProvider's ReadStateAsync. The resulting throw on SimpleSQLServerStorage.cs line 147 causes a silo fault and stops creation of the grain until the database state is manually cleared (deleting rows from the KeyValueStore table).
Suggest suppressing the throw and ClearStateAsync on any GrainState that cannot be deserialized. Perhaps make the throw a config option.

do we have a unit test for this?

authors: amccool jeoffman