Flutter can receive touches even when hidden behind another native ViewController

I have an example at https://github.com/xster/flutter-test/tree/master/t33_animation_with_native
Even after the second view controller was presentViewController'ed, the FlutterViewController still passes events to Flutter.
cc @cbracken any ideas?

I have fixed with similar problems in the past. When displaying iOS native ViewController, taps on the edge was passed to the back Flutter.
So I wrapped FlutterViewController with UINavigationController.
let vc = FlutterViewController()
let nav = UINavigationController.init(rootViewController: vc!)
self.window.rootViewController = nav

and override FlutterAppDelegate's rootFlutterViewController, binaryMessenger and textures to return FlutterViewController.
I did not run the example, so if it is another problem, please ignore this comment.

Possible workaround: create OverlayEntry to block the input when VC is displayed.

This is unrelated to platform-views. It's ViewControllers that iOS itself inserts in its own hierarchy outside of the Flutter view hierarchy.

any update on this ?

https://github.com/flutter/flutter/issues/35784

Persists with master 1.21.0-6.0.pre.117

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-6.0.pre.117, on Mac OS X 10.15.6 19G73, locale en-GB)
    • Flutter version 1.21.0-6.0.pre.117 at /Users/nevercode/dev/flutter
    • Framework revision 7ec2d360bc (2 hours ago), 2020-07-29 23:25:38 -0700
    • Engine revision a9910e409c
    • Dart version 2.10.0 (build 2.10.0-1.0.dev 24c7666def)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/nevercode/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (6 available)
    • Redmi Note 7 (mobile)       • 6345c469                                 • android-arm64  • Android 9 (API 28)
    • Nevercode’s iPhone (mobile) • b668e524315069f3db3661ac11ff1f66afafebdb • ios            • iOS 13.6
    • iPhone 11 Pro Max (mobile)  • 55C8466B-5367-492B-8EFE-EC45D980571F     • ios            • com.apple.CoreSimulator.SimRuntime.iOS-13-6 (simulator)
    • macOS (desktop)             • macos                                    • darwin-x64     • Mac OS X 10.15.6 19G73
    • Web Server (web)            • web-server                               • web-javascript • Flutter Tools
    • Chrome (web)                • chrome                                   • web-javascript • Google Chrome 84.0.4147.105

• No issues found!

https://github.com/flutter/flutter/issues/62310 - another example project
https://github.com/flutter/flutter/issues/35784#issuecomment-516243057 - workaround

I did some investigation for #28335 by creating a native app that shows the camera. When the camera viewcontroller is shown, the iOS buttons are not clickable anymore, but touchesBegan is actually being called: https://github.com/renefloor/ios_camera_overlay_test/blob/main/cameratest/ViewController.m#L57-L63.
Why this is and how to possibly work around it is very well explained in this (closed) issue: https://github.com/flutter/flutter/issues/35784#issuecomment-516243057.
My proposal (with help from @Kavantix) would be to only use the touches when there is no presentedViewController, but I'm not sure if that would break anything existing.
https://github.com/flutter/engine/blob/master/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm#L934-L953
For example:
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    if(self.presentedViewController == nil){
        [self dispatchTouches:touches pointerDataChangeOverride:nullptr];
    }else{
        [super touchesBegan:touches withEvent:event];
    }
}

/cc @jmagman for thoughts on the above.

@renefloor's suggestion looks similar in concept to https://github.com/flutter/engine/pull/18544 (though I think isPresentingViewController instead of self.presentedViewController check).  @gaaclarke Can you think of any issues off the top of your head that would arise from not processing touches if isPresentingViewController is false?

@jmagman I'd have to play around with it but I'd check what happens when a UIView is placed on top of the FlutterView without a UIViewController, that might still be an issue.  You'd have to make sure to do this logic for all of the touches methods obviously.
An alternative would be to use something like an UIAdaptivePresentationControllerDelegate that sets UIView.userInteractionEnabled.  I think something like UIView.userInteractionEnabled is more robust than fiddling with the touches methods.  It's also something users can do without modifying the code of the engine.
I guess Apple didn't disable touch events for presenting view controllers because under certain circumstances they can still be partially visible?  It might be better if users set UIView.userInteractionEnabled on their own.

@gaaclarke if a UIView is placed on to the next responder shouldn’t be the FlutterViewController right?
But setting userInteractionEnabled to false could work, perhaps we could set that in viewDidDisappear?

Another thought, an easy/correct fix might be to move the touches* methods to the FlutterView from FlutterViewController.  Then it may interact more like we are expecting.

Yep, moving the touch handlers to the UIView fixes the issue.  I'll test it a bit more and think about it a bit more then put it up for review if I like it.

This PR would be a possible solution as well. It basically implements the first suggestion from this comment (that is pointed by @renefloor above ) I guess.

@ydag not really. That PR only fixes the problem for image_picker, but it is actually a problem for all viewcontrollers that are presented on top of a FlutterViewController.

I've found an edge-case in this behaviour which might be useful.
Simply, clicking-through only seems to occur on the topmost stack of the Flutter Navigator. If you tap the "back button" (through the overlay), subsequent taps do not make their way to the underlying Flutter app:
https://user-images.githubusercontent.com/46879/124589963-7fef3600-de52-11eb-89fe-3637c49f5b5e.mp4

@oodavid I found something similar, I could click multiple times on buttons, but when a button opened a dialog the clicks were not registered anymore. I think this is because flutter waits with the navigation while the view is not visible or something like that.
@gaaclarke how is your investigation going? Is there something we can help with?

Moving the touch events to the FlutterView worked at fixing the problem, but it broke gesture recognizers for platform views.  I've been out for a couple of weeks and haven't looked at it again.  I'm not sure if the gesture recognizers problem can be worked around.  I think there was some funky event forwarding going on.

@gaaclarke
Are you still working on that? We discovered this problem in our app. Unfortunately we don't have control over the displayed native UIViewController or its subviews and lifecycle. Any idea how we can workaround this problem?

We are currently testing following workaround, initial testing is promising as in, we can't reproduce the issue anymore. Not sure if it catches all cases or if will break something else. I will update if we notice something.
Subclass FlutterViewController and override following methods:
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    if (self.presentedViewController != nil) {
        return;
    }
    [super touchesBegan:touches withEvent:event];
}

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    if (self.presentedViewController != nil) {
        return;
    }
    [super touchesMoved:touches withEvent:event];
}

- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event {
    if (self.presentedViewController != nil) {
        return;
    }
    [super touchesEnded:touches withEvent:event];
}

- (void)touchesCancelled:(NSSet*)touches withEvent:(UIEvent*)event {
    if (self.presentedViewController != nil) {
        return;
    }
    [super touchesCancelled:touches withEvent:event];
}

Is there any solution that can be implemented without adjusting Flutter source code at the moment? Any example project showcasing this is appreciated.

@saibotma
Copy these classes in to your xcodeworkspace and modify Main.storyboard
<viewController id="BYZ-38-t0r" customClass="OVPFlutterViewController" sceneMemberID="viewController">
Archiv.zip

The issue is still open, and still happens in Flutter apps, and so we can see it has not been resolved in over 4 years. Which is somewhat disheartening for those of us that encounter it regularly.

In my case the click throughs are happening in the lower right corner on top of a CupertinoTabBar... which causes the underlying Flutter app's navigation state to change.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.4 21F79 darwin-x64, locale en-CA)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.68.1)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

Having the same problem.
When opening a InAppWebView on iOS, on a small area on the left side touch events are passed into the view behind the InAppWebView. This causes completely unexpected and random behaviour, as users can perform actions in a view behind without noticing.
Not sure why this is not a high priority issue.

I'm having the same issue, it seems that the issue is still not fixed until now.
I use ModalBottomSheet (with the following options: take picture, select image, select from stockage, cancel) on ios to select an image, after opening the camera, when I click on an empty space between the capture and cancel button, the cancel in the modalBottomSheet behind the camera is pressed
I hope that there is a fix without editing flutter source code for that
here is my flutter doctor output, i'm on the latest flutter version
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.2, on macOS 12.6.2 21G320 darwin-arm64
(Rosetta), locale fr-MG)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✗] Chrome - develop for the web (Cannot find Chrome executable at
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Android Studio (version 2022.1)
[✓] VS Code (version 1.75.0)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

This catches me out every day. It's madness.

Issue reproduces on the latest versions of flutter.

recording
https://user-images.githubusercontent.com/88313112/221863169-813729b7-5b79-4d91-ba7c-f14d056412bd.MP4

minimal sample
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData.light(),
      darkTheme: ThemeData.dark(),
      themeMode: ThemeMode.system,
      home: const MyHomePage(title: 'Image Picker Sample'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  File? _image;
  final picker = ImagePicker();

  Future getImage() async {
    final pickedFile = await picker.pickImage(source: ImageSource.camera);

    setState(() {
      if (pickedFile != null) {
        _image = File(pickedFile.path);
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Image Picker Sample'),
      ),
      body: Center(
        child: _image == null
            ? const Text('No image selected.')
            : Image.file(_image!),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: getImage,
        child: const Icon(Icons.add_a_photo),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.7.5, on macOS 13.2.1 22D68 darwin-arm64, locale en-GB)
    • Flutter version 3.7.5 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c07f788888 (6 days ago), 2023-02-22 17:52:33 -0600
    • Engine revision 0f359063c4
    • Dart version 2.19.2
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[!] Android Studio (version 2022.1)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • Nexus (mobile)  • 00008020-001875E83A38002E • ios            • iOS 16.3.1 20D67
    • macOS (desktop) • macos                     • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)    • chrome                    • web-javascript • Google Chrome 110.0.5481.177

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

[!] Flutter (Channel master, 3.8.0-17.0.pre.38, on macOS 13.2.1 22D68 darwin-arm64, locale en-GB)
    • Flutter version 3.8.0-17.0.pre.38 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1d17caed66 (9 hours ago), 2023-02-27 23:11:38 -0500
    • Engine revision 002b3d7a24
    • Dart version 3.0.0 (build 3.0.0-277.0.dev)
    • DevTools version 2.22.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] Android Studio (version 2022.1)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • Nexus (mobile)  • 00008020-001875E83A38002E • ios            • iOS 16.3.1 20D67
    • macOS (desktop) • macos                     • darwin-arm64   • macOS 13.2.1 22D68 darwin-arm64
    • Chrome (web)    • chrome                    • web-javascript • Google Chrome 110.0.5481.177

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Thanks for the above detailed information!
(prepares for this to be marked as "off-topic")

@gingerbeardman Please read https://github.com/flutter/flutter/wiki/Issue-hygiene#do-not-add-me-too-or-same-or-is-there-an-update-comments-to-bugs, and our code of conduct. Continuing to deliberately make comments that are off topic is not consistent with the latter.

Thanks, I've just read it

Hi all, I am facing the same problem, however, it is complicated by the fact that my application presents a native View Controller that allows you to select a file. When closing a file, if the click was in the place where Flutter is listening to the Gesture Detector, the application crashes with an error
io.flutter.1.raster (10): "Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread."

https://github.com/flutter/flutter/assets/1540715/84bf055d-50e5-401f-9bf8-a73e5c6c65db

I run into this years-old problem regularly, the most recent time was yesterday.

@stuartmorgan any suggestions for a work-around until this gets ressolved, part of implementing a similar Camera view using the camera library?

Also facing this issue when using the camera from image_picker plugin

🎂 6 years

@GabrielAraujo
When using thrid-party-libs like image_picker you can use this workaround. The overlay created just before the camera ui controller is opened swallows all touch events during the process. After that the overlay is removed.
void _onTakeCameraPhoto(BuildContext context) async {
  //create a whole overlay to absorb touches when the camera ui is open
  final entry = OverlayEntry(
    builder: (context) => const AbsorbPointer(
      child: SizedBox.expand(),
    ),
  );

  Overlay.of(context).insert(entry);

  try {
    final picker = ImagePicker();

    final XFile? file = await picker.pickImage(source: ImageSource.camera);

    if (context.mounted) {
      //do something with the file
    }
  } catch (e, s) {
    //error handling
  } finally {
    //always remove the entry
    entry.remove();
  }
}

@bobekos thank you so much!

Also facing this issue when using the camera from image_picker plugin
i made a plugin to fix this case
https://pub.dev/packages/simple_picker
hope you're fun !!

This issue has been here since 2018 and its already ending 2024. Is there still no proper solution on Flutter's side?


_process_link_usage_line(s._link_usage_line,s): ValueError

Hi! I am doing a small trail on this API with the challenge data, the trainingset:
`reader = DatanetAPI(DATASET)
it = iter(reader)
sample = next(it)`
While I got the following issue:
`Traceback (most recent call last):
File "/proj/gnnet/WorkspaceYifei/GNNetworkingChallenge/DataExploration/datanetAPI.py", line 940, in iter
self._process_link_usage_line(s._link_usage_line,s)
File "/proj/gnnet/WorkspaceYifei/GNNetworkingChallenge/DataExploration/datanetAPI.py", line 1206, in _process_link_usage_line
link_stat["utilization"] = float(l[inetSize2+j*2])
ValueError: could not convert string to float: '0.309623,0.000000,999.554671,0.309623,0.000000,1.331939,8.000000,999.554671'
Error in the file: results_50_400-2000_0_24.tar.gz   iteration: 0`
Might I am doing something wrong here?

Hi,
Could you confirm that you are using the datanetAPI branch of the challenge2021?:https://github.com/BNN-UPC/datanetAPI/tree/challenge2021

My bad...I was working on 'master'...Thanks for the reply and let's close this...


chore(master): release 2.1.0

:robot: I have created a release beep boop
2.1.0 (2022-11-14)
Features

add wait4x apk (5b00624)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/docker-php-dev/releases/tag/v2.1.0 :sunflower:


Graceful shutdown of block device

Dear @oll3
I really like your nbd-async crate. The only feature i really missed is the option to do a graceful shutdown of the device so i can do any clean up tasks that i need to do before the app is terminated.
I also needed to schedule some periodic clean up jobs, the only way possible for me to use locks with mutex to be able to do clean up jobs internally, which I didn't like using locks because it means that normal read/write operations will always have to acquire the lock to operate.
So what I did was to introduce a control stream that i can send control messages over (this can be a tokio receiver), and it's up to the device to handle, those messages as needed.
I tried to be backward compatible as possible, you can see there is a minimal change to the example.
The deviec can then handle the control message (notify for janitor jobs) and shutdown (so it can gracefully shutdown)
Thanks

Hi @muhamadazmy and thank you for your kind words.
Since I haven't really used this crate for quite some time I think I will need some time to go through your PR. It sound reasonable, but not sure I understand what it does fully.
Would it be possible to add an additional example of how to utilize this shutdown?

Hi @oll3 I will update the PR with an example code on how to use it.
But for now if you wanna take a quick look at how i use it you can check it here
https://github.com/threefoldtech/qbd/blob/3b60e8806652fcb5f9dc1c6ee6e6294f02234b04/src/main.rs#L133
I basically create an mpsc channel and pass the receiver side as a stream to the serve_local_nbd function.
It means in another routine i can wait on signals (say hangup) and then push a Shutdown signal over the channel which will terminate the loop, and the function will return.
On return i can then do any clean up i need to do before exit.
I also can send other types of signals (Notify) that i can handle differently by the device implementation

Hi @oll3 I will update the PR with an example code on how to use it.
But for now if you wanna take a quick look at how i use it you can check it here
https://github.com/threefoldtech/qbd/blob/3b60e8806652fcb5f9dc1c6ee6e6294f02234b04/src/main.rs#L133
...

Ok, I think I understand it now, but not sure how I feel about it... Could something similar be achieved by braking serve_nbd it to smaller parts where the block device is only borrowed while processing a stream event instead? So that you could select on it externally and check if whatever shutdown condition you have is fulfilled.

It's not only about the shutdown, the PR title might be misleading. I can also send other control messages to the device that can then be received and handled by the BlockDevice implementation.
I am sorry but I didn't understand what you suggest to solve this. Breaking down serve_nbd to borrow the device instead of owning it will also mean that I can't access the device (since it's exclusively borrowed) to be able to call or modify it by any mean externally without introducing a lock (Mutex) which what i was trying to avoid from the start.
Also it might mean that the user of the crate need to know the internals of how it works so he/she can pull all the pieces together, no ? (I might have misunderstood you)
Hence I thought the best way to do this is to have the signal incorporated in the  server_nbd loop, when the control message is received (either shutdown or notify) the device control method will be called first, then if it was a shutdown the loop is terminated which will make the serve_nbd return.
Then whatever is needed to be done during the life time of the device, or on shutdown can be implemented by the device. Also support to send "control" jobs to the device over the same channel to do other stuff that is totally custom to the implementation.

It's not only about the shutdown, the PR title might be misleading. I can also send other control messages to the device that can then be received and handled by the BlockDevice implementation.

Yes, think I understand. Though I feel like that it's adding complexity that may be better to keep outside of the crate, if possible.
I was thinking something like below how the current example (mem) might look if it used this imaginary api.
Note that I think that the serve_nbd should be left as it is, so that in the normal case it's still easy to get up and running with the current api.
This would make the RequestStream public and add some methods to it:
async fn main() {
    let nbd_path = std::env::args().nth(1).expect("NDB device path");
    let mut dev = MemDev::new(512, 128);

    let (sock, kernel_sock) = UnixStream::pair().unwrap();
    let _server = attach_device(
        nbd_path,
        kernel_sock,
        dev.block_size,
        dev.num_blocks as u64,
        false,
    )
    .await
    .unwrap();

    let (shutdown_tx, mut shutdown_rx) = tokio::sync::mpsc::channel::<()>(1);
    let mut stream = RequestStream::new(sock);
    loop {
        let recv = shutdown_rx.recv();
        let serve = async {
            while let Some(result) = stream.next().await {
                stream
                    .process_request(&mut dev, result.unwrap())
                    .await
                    .unwrap();
            }
        };

        select! {
            _ = serve => {}
            _shutdown = recv => {
                // dev can be (mutally) accessed here since only borrowed in the 'serve' async block.
            }
        }
    }
}

Is this doable or do you think the control message approach is better?


specs: remove diff based L1 attributes tx

Description
This spec should generally be considered dead, it is much better
as a github issue since its gone stale and there are way higher priority
things. I introduced this early on to push forward the specs process and
it is no longer necessary.

Gooooood 🎉 🎉


Compile Active file is broken in some cases.

Brief Issue Summary
With a compile_commands.json like this:
...
  "command": "/usr/lib/ccache/cc -DIMGUI_USER_CONFIG=\"<NQimconfig.h>\"  -O2 -g -DNDEBUG   -o CMakeFiles/bla.dir/foo.c.o   -c /home/fred/src/foo/foo.c",
...

the button `Compile Active file` generate a bogus command.

/usr/lib/ccache/cc "<NQimconfig.h>" -O2 -g -DNDEBUG -o CMakeFiles/bla.dir/foo.c.o -c /home/fred/src/fred@Pecrennes:~/src/foo/build$ /usr/lib/ccache/cc "<NQimconfig.h>" -O2 -g -DNDEBUG -o CMakeFiles/bla.dir/foo.c.o -c /home/fred/src/foo/foo.c
cc: error: <NQimconfig.h>: No such file or directory

CMake Tools Log
[main] Configuring folder: foo
[cmake] Configuring done
[cmake] Generating done

Steps to reproduce

Unzip the simple project attached
configure it.
open the file foo.c from vscode
click Compile Active file

The problem comes from this in the cmakelist:
target_compile_definitions(bla PRIVATE IMGUI_USER_CONFIG=<NQimconfig.h>)

The command stored in build/compiled_commands.json is correct.  Everything is properly escaped.
make correctly execute this command:
/usr/lib/ccache/cc -DIMGUI_USER_CONFIG="<NQimconfig.h>"   -MD -MT CMakeFiles/bla.dir/foo.c.o -MF CMakeFiles/bla.dir/foo.c.o.d -o CMakeFiles/bla.dir/foo.c.o   -c ../foo.c

somehow, the command executed by Compile Active file is corrupted and this command is executed instead:
fred@Pecrennes:~/src/foo/build$ /usr/lib/ccache/cc "<NQimconfig.h>" -O2 -g -DNDEBUG -o CMakeFiles/bla.dir/foo.c.o -c /home/fred/src/foo/foo.c
cc: error: <NQimconfig.h>: No such file or directory

Platform and Versions

Operating System: Ubuntu 20
CMake Version: cmake version 3.13.3
VSCode Version: 1.51
CMake Tools Extension Version: 1.5.3
Compiler/Toolchain: gcc 9

foo.zip

Thank you for opening this issue and for providing a small contained repro, this helps so much with our investigation.

Possibly related with https://github.com/microsoft/vscode-cmake-tools/issues/1493 and possibly fixed by https://github.com/microsoft/vscode-cmake-tools/pull/1556. We'll verify and let you know.


Add Decorator syntax

Ported from https://github.com/Microsoft/TypeScript-Sublime-Plugin/issues/377
Hi,
I want to use decorators, but they mess up the syntax coloring.
Could support for decorators be added? Even if it is only to avoid messing up the rest of the code?
Currently, the decorators look odd, but when a parameter decorator is combined with a pair: method(@AdapterParam() {req, res}: AdapterData), the syntax is lost.

I wish I could send a pull request, but I can't seem to understand how the tmLanguage system works.
A patch for me locally would also be awesome (in case you don't want support for experimental features).
Thanks a lot!

+1

Also seeing this ...

pleeeeeeease

Btw the file in question (for VSCode) needed to modify is here:
C:\Program Files (x86)\Microsoft VS Code\resources\app\extensions\typescript\syntaxes\TypeScript.tmLanguage
it's not overly cryptic, but I'll try to modify this file and restart TS maybe it's not that hard to achieve

No sorry, I can't fix this because my problem is not decorator sign, it's something else! For some reason my connect (even without the @ sign) is big block of white:

@Ciantic, if you haven't fixed the problem yet, can you please paste your code here?

@anubmat I haven't found a fix yet, but colors sure are changing:

I added the @ sign to the arithmetic-operation, see that @ is now same color as + sign above.
		<key>arithmetic-operator</key>
		<dict>
			<key>match</key>
			<string>\*|/|\-\-|\-|\+\+|\+|%|@</string>
			<key>name</key>
			<string>keyword.operator.arithmetic.ts</string>
		</dict>

I just threw @ in the end for testing purposes.

I'm having a problem to find a code where it fails. I think I had it somewhere but if my connect example is working as expected I can't use it to test against. Do you @anubmat have some code which produces the error? Can you paste it as code and not a screenshot.

Thanks, but I meant can you paste your typescript code "as code" so that I can repro the error you are facing.

@anubmat that is the thing, I can't reproduce the error right now. I thought I had a error when I saw this big block of white produced by this:
declare var connect;
interface IProps {}

connect(
    (state): IProps => ({
        type: state.view && state.view.type || null,
    }),
    (): IProps => ({
        onClick: () => {
            console.log("whooot!");
            alert("whoot");
        },
    })
)

and I had @ sign before connect there, so I thought it was the reason, but above code probably works as expected and is mostly just white cause for other reasons.
I did however encounter bug with coloring and decorator sign somewhere, not sure where, so that is why I was asking for a code to reproduce too.

Yep, object literals and arrow functions are monochrome for now. See #115.

Note, there's a high-level grammar for ES6 Decorators here: https://github.com/wycats/javascript-decorators/blob/master/README.md

d0d1952 should handle this.


Check usage of pytest-timeout to prevent some tests from hanging the CI

See https://pypi.org/project/pytest-timeout/

I agree this is important to avoid the many hangs we're having in CIs lately.

Note: Maybe the script used for the debian package to retry the tests suit isf something fails could be useful too: https://salsa.debian.org/science-team/spyder/-/blob/master/debian/tests/run_pytest.py


[e2e]: container tag main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v28.0.46
Run: https://github.com/slsa-framework/example-package/actions/runs/4663479706
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.tag.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.tag.main.default.slsa3.yml
Trigger: push
Branch: v28.0.46
Date: Tue Apr 11 03:16:55 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/v28.0.47
Run: https://github.com/slsa-framework/example-package/actions/runs/4664660405
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.tag.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.tag.main.default.slsa3.yml
Trigger: push
Branch: v28.0.47
Date: Tue Apr 11 06:52:24 UTC 2023
Tests are passing now. Closing this issue.


Add meta tags for open graph and twitter to session show view

Fixes #212

Coverage increased (+0.08%) to 53.452% when pulling f950ee1ed585f661e2b0ae4cda994e04e5f19550 on aackerman:aackerman/session-seo into 5a0159769f5938652ee62932510bebee30366a9f on minnestar:master.


Pass pwd as a parameter in Upload.copyLauncher

This is needed for Mill 0.12 to pass T.workspace.
I didn't use the env variable here since this module is not Mill specific.
Note: This change is not binary compatible but source compatible.

Can you tag a new version with this change?
I'm updating the build of scala-cli


Don't upsert when Create Association

Your Question
Hi thanks for the great library!
I've looked for a while for the same question but haven't found anything. Is there a way to select a specific association instead of upserting when running Create on an associative model. I would like to make sure that gorm returns an error if it can't find the relevant foreign key rather than creating a new row.


Remove/Deprecate unused dumb shortcodes

like htmlcomment. that is really not needed ;) Let's not embarrass ourselves.

ok.


Some questions about training process

Hi, I'd like to ask some questions about the training process,

Do you use only one video card during training?
How much time does it take to train for an epoch?
In configs/train/3Dmatch.yaml, your batch_size = 8, num_worker = 16. I use a 3090 video card. When I use Batch_size = 2 and num_worker =4, I will report an error of insufficient video memory of the video card. Therefore, only batch_size = 1 can be used for training
Also, your max_epoch is 1500, so do you need to train for 1500 epochs?
Thank you very much for your help.

We use a single A100 80G for training. If you do not have enough gpu mem, just set batch_size to 1. We actually terminate the training around 15-20 epochs, which take 1-2 days on A100.


Cupertino icons are misaligned in latest beta

Steps to reproduce
While updating icons for https://github.com/flutter/tools_metadata, I noticed all of the Cupertino icons showed as modified. The ones I checked all appear to have shifted up slightly.
So I tried rendering an icon in a standard Flutter app with a border:
child: Container(
            decoration: BoxDecoration(border: Border.all(color: Colors.red)),
            child: const Icon(CupertinoIcons.xmark_shield_fill, size: 50),
          ),

And I see the same thing - the icon looks slightly too far up. This seems to have come up before at https://github.com/flutter/flutter/issues/66285 but that was fixed a long time ago and I can't see why it would have changed since. Both examples are using cupertino_icons 1.0.6.
Expected results
Icon should be centered in the box.
Actual results
Icon is too far up in the latest beta. In current stable it is centered.
Left: stable
Right: beta

Tested on macOS device.
Code sample
Code sample
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: Container(
            decoration: BoxDecoration(border: Border.all(color: Colors.red)),
            child: const Icon(CupertinoIcons.xmark_shield_fill, size: 50),
          ),
        ),
      ),
    );
  }
}

Screenshots or Video
Beta:

Stable / Beta comparison:

Flutter Doctor output
Doctor output
[!] Flutter (Channel beta, 3.19.0-0.4.pre, on macOS 13.4 22F66 darwin-x64, locale en-GB)
    ! Warning: `dart` on your path resolves to /Users/danny/Dev/Dart SDKs/stable/bin/dart, which is not inside your current Flutter SDK checkout at
      /Users/danny/Dev/Google/flutter. Consider adding /Users/danny/Dev/Google/flutter/bin to the front of your path.
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[!] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    ! CocoaPods 1.12.1 out of date (1.13.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#updating-cocoapods for instructions.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.86.0)
[✓] VS Code (version 1.79.0-insider)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 2 categories.

Thanks for the detailed bug report @DanTup
This is also occuring on latest master along with beta and I think it similar to https://github.com/flutter/flutter/issues/140140 (but it seem to also occur on stable 3.16.4)
I'll label this issue as a regression since it works only on stable but not on beta and master.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.16.9, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.16.9 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 41456452f2 (12 days ago), 2024-01-25 10:06:23 -0800
    • Engine revision f40e976bed
    • Dart version 3.2.6
    • DevTools version 2.28.5
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.20.0-4.0.pre.35, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.20.0-4.0.pre.35 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 28904c0cd3 (3 hours ago), 2024-02-07 22:51:25 -0500
    • Engine revision 104804aa37
    • Dart version 3.4.0 (build 3.4.0-116.0.dev)
    • DevTools version 2.32.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

 beta flutter doctor

[!] Flutter (Channel beta, 3.19.0-0.4.pre, on macOS 12.2.1 21D62 darwin-x64,
    locale en-GB)
    • Flutter version 3.19.0-0.4.pre on channel beta at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b7e7d46a04 (6 days ago), 2024-02-02 08:21:06 -0600
    • Engine revision 98820f0a77
    • Dart version 3.3.0 (build 3.3.0-279.3.beta)
    • DevTools version 2.31.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 3BD8F2FF-FDB5-4074-8C91-54F99C79156D • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     •
      macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript •
      Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

CC @MitchellGoodwin

@LongCatIsLooong
I'm trying to determine if it makes sense for IDEs to surface these updated version of the icons. Would you know if this change is expected or not?

This behavior changed with https://github.com/flutter/flutter/commit/f2b74725c588f6636a2c718909a23620b8b80617
@LongCatIsLooong

The glyphs don't seem to be vertically centered within the EM box

The font from this commit seems to be properly center-aligned: https://github.com/flutter/packages/blob/5884f5096e1eddd0f42fd19cc869d0b543fd0822/third_party/packages/cupertino_icons/assets/CupertinoIcons.ttf (I think the package version is version: 1.0.0-dev.3) this can be used as a workaround while I work on a fix.

Duplicate of https://github.com/flutter/flutter/issues/140140.


Create a new ClientInfo if none is provided.

Fixes #2161.

Codecov Report

Merging #2289 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #2289   +/-   ##
=========================================
  Coverage     86.75%   86.75%
  Complexity     5134     5134
=========================================
  Files           452      452
  Lines         20400    20400
  Branches       2190     2190
=========================================
  Hits          17699    17699
  Misses         1930     1930
  Partials        771      771

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 31c19ea...631db94. Read the comment docs.

Ping on this - can it be merged?

@lukesneeringer Ping?

@lukesneeringer Ping?

@googleapis/api-compiler can someone look at this? It's still a problem for us.

@googleapis/toolchain can someone look at this? It's still a problem for us.


Detection failed : Resource not found

After selecting an image,  I get  Detection failed : Resource not found

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

ID: 751ccff2-59c4-e2e4-8a64-d90b195c89ac
Version Independent ID: 6c696aa8-9226-737e-94fe-1f0697e88038
Content: Tutorial: Detect and frame faces in an image with the Android SDK - Azure Cognitive Services
Content Source: articles/cognitive-services/Face/Tutorials/FaceAPIinJavaForAndroidTutorial.md
Service: cognitive-services
Sub-service: face-api
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

@rajurajvijay619 please provide us with the link to the documentation you are following so we can better assist.

I will go ahead and close this out. If you still have questions please open a new issue directly on the document you are following and we will take a look.

The issue was closed too soon!
Anyway this is the tutorial I was following:  https://docs.microsoft.com/en-us/azure/cognitive-services/face/tutorials/faceapiinjavaforandroidtutorial

No worries. I have reopened and directed to the correct engineer to investigate.

@rajurajvijay619 Hi, do you have a support plan at this moment? I just tried and I have no challenge for this tutorial. I would highly recommend you to go to Help + Support to live trouble shooting.

@rajurajvijay619
We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.

@YutongTie-MSFT
I have been trying to diagnose the same issue with no success. I was wondering if you could share the solution to the problem if it was ever solved?


Refactor the NiFi deployment code ( python )

Current state: NiFi deployment code has multiple python files. which are used by Ansible code to deploy NiFi.
Current Functionalities

Upload Nifi template and import the template into NiFi instance ( UI )
Create parameter context along with parameters
Start/Stop/Enable/Disable the processor.
Configurable Connections between Processor groups

Proposed solution:
Refactor  all the NiFi deployment python code into one single Python module / File as NiFi Utils.
what is the current reality, what is missing?
why the enhancement required?
How to do the enhancement?
when can finish the enhancement?

what is the current reality, what is missing? --> currently we have multiple python files to deploy the nifi,
why the enhancement required?--> For scalability
How to do the enhancement? --> Merging all the python codes as nifi_utility.py
when can finish the enhancement? --> Sep 8th

on Sept 6th i worked on generalising the function for all the functionalities.
on Sept 7th deveops team told me that from ansible is not able to call the function, so i worked on that which the ansible will call with the arguments and completed.

Completed


Error generating client according to schema with "State" type. error CS0101

Is there an existing issue for this?

[X] I have searched the existing issues

Product
Strawberry Shake
Describe the bug
If the schema is of type State, an error occurs during compilation:
error CS0101: The namespace "MyNameSpace" already contains a definition for "State".
The type cannot be renamed. I am a consumer of this scheme.
Steps to reproduce

Schema with the "State" type

    schema {
        query: Query
    }
    type Event {
        idd: ID!
        type: String!
        productId: ID
        Result: State!
    }
    enum State {
        SUCCESS
        FAIL
    }
    type Events {
        nodes: [Event!]
        totalCount: Int!
    }
    input EventFilterInput {
        productId: ID
    }
    type Query {
        Events(filter: EventFilterInput!): Events
    }

Query:
query GetEvents($filter: EventFilterInput!) {
    Events(filter: $filter) {
        totalCount
        nodes {
            type
            productId
            Result
        }
    }
}

Compilation of the project.

Relevant log output
StrawberryShake.CodeGeneration.CSharp.Analyzers/StrawberryShake.CodeGeneration.CSharp.Analyzers.CSharpClientGenerator/GraphQLClient.StrawberryShake.cs(369,17): error CS0101: Пространство имен "MyNameSpace" уже содержит определение для "State".
         StrawberryShake.CodeGeneration.CSharp.Analyzers/StrawberryShake.CodeGeneration.CSharp.Analyzers.CSharpClientGenerator/GraphQLClient.StrawberryShake.cs(365,32): error CS0538: "State.IEventFilterInputInfo" в явном объявлении интерфейса не является интерфейсом.

Additional Context?
No response
Version
12.16.0

Just come across this too, a GraphQL endpoint we use also defines a State enum and as soon as you query a field that uses that enum, SS can no longer generate a client.

But I need my type State.


feat: Adding no matches found feature in search button.

What feature?
In the projects section, When the user tries to search for the option which is not present in the website , he or she gets the result as "No matches found"  below the search bar.
Add screenshots
Right now it shows nothing when there is no such project.

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

yeah, we need to show text message nothing found like this.


Each step in the stepper should have the option to be lazily rendered
What is the current behavior?
Currently every step is initialized when the stepper is loaded
What is the use-case or motivation for changing an existing behavior?
Inactive steps can have logic that fetches data or does some work that isn't relevant to the current step.
Currently there isn't any mention of how to achieve this in the stepper. However it can be done via <ng-container *ngIf="condition">, not sure if there are any side effects.
<mat-horizontal-stepper>
  <mat-step>
    <ng-container *ngIf="condition">
      ...
    </ng-container>
  </mat-step>
</mat-horizontal-stepper>

The expansion panel supports lazy rendering "officially" https://material.angular.io/components/expansion/overview#lazy-rendering
<mat-expansion-panel>
  <mat-expansion-panel-header>
    This is the expansion title
  </mat-expansion-panel-header>

  <ng-template matExpansionPanelContent>
    Some deferred content
  </ng-template>
</mat-expansion-panel>

Why is there a difference? If the <ng-container> is a perfectly fine solution why doesn't the expansion panel do it the same way? Why is there no mention of lazy rendering in the stepper doc?
 I tried a number of approaches but they don't seem to be supported by the current implementation.

Here's a nice (related) example of using ng-container *ngTemplateOutlet inside of *ngIf and *ngFor.

It would be really cool if its supported out of the box

Is there any update on when feature will be available?

@matthiaswelz  I have a linear form like below. How can i implement your approach in this?
<mat-horizontal-stepper [linear]="true" #stepper [selectedIndex]="0">
  <mat-step [stepControl]="step1.stepFormGroup">
    <ng-template matStepLabel>Step 1</ng-template>
    <app-step-one #step1></app-step-one>
  </mat-step>
  <mat-step [stepControl]="step2.stepFormGroup">
    <ng-template matStepLabel>Step 2</ng-template>
    <app-step-two #step2 ></app-step-two>
  </mat-step>
  <mat-step [stepControl]="step3.stepFormGroup">
    <ng-template matStepLabel>Step 3</ng-template>
    <app-step-three #step3 ></app-step-three>
  </mat-step>
  <mat-step>
    <ng-template matStepLabel>Done</ng-template>
    You are now done.
    <div>
      <button mat-button matStepperPrevious>Back</button>
    </div>
  </mat-step>
</mat-horizontal-stepper>

If i try to add <app-step-one #step1></app-step-one> inside ng-container with *ngIf then i am unable to get [stepControl]="step1.stepFormGroup" from working.

Is there any update?

I tried @matthiaswelz solution, but it still seems to be loading all 3 components. I can verify this by removing the 2nd & 3rd components and watch the load time of the first step go down from 10 seconds to 2 seconds. The components in each of my three steps are not huge, but not trivial either.

@akvaliya A workaround that I haven't tried:

Create step1FormGroup, step2FormGroup, and step3FormGroup in the parent component you have here.
Pass them down to app-step-one, ... etc.

Yup, not so clean. Also: not sure if a FormGroup must be initialized when constructed or not, but it must, then it's even not-cleaner, as the parent component will now know too much about the children.

You can use use  to load content of steps and in routes' file, use lazy loading for loading modules in each step

matthiaswelz no longer works. On material 9 and there still seems to be no way to implement this.

Next level of @matthiaswelz's workaround in order to get the collapse animation right: Render the previous step 225ms longer.
<mat-vertical-stepper (selectionChange)="selectionChange($event)">
  <mat-step #step1>
    <ng-container *ngIf="renderStep('default') || renderStep(step1)">
      ...
    </ng-container>
  </mat-step>
  <mat-step #step2>
    <ng-container *ngIf="renderStep(step2)">
      ...
    </ng-container>
  </mat-step>

private _renderStep: CdkStep[] = [];
renderStep(step: CdkStep | 'default'): boolean {
  // workaround for https://github.com/angular/components/issues/12817#issuecomment-457314797
  return step === 'default' ? this._renderStep.length === 0 : this._renderStep.includes(step);
}
selectionChange(event: StepperSelectionEvent) {
  this._renderStep.push(event.selectedStep);
  // see https://github.com/angular/components/blob/master/src/material/stepper/stepper-animations.ts
  setTimeout(() => this._renderStep = [event.selectedStep], 225);
}

It looks like a duplicate of #12339, which has been closed due to the merge of the #15817.
@crisbeto, Btw, this feature will only be available in version 11.3.0, right?

Duplicate of #12339

@jelbourn #12339 is "locked due to inactivity" meaning it's completely dead


Add an option to disable Mouse Without borders while in fullscreen games/applications

Description of the new feature / enhancement
Simple request, I would like to have an option to disable mouse without borders in fullscreen games, as even in fullscreen games my mouse jumps to the other system and i lose control of the game.
Scenario when this would be used?
When gaming in fullscreen, so you don't lose control of your primary machine while gaming.
Supporting information
I honestly don't know how to record this, sorry!

Yes, due to this problem everytime I go into "some" games I have to disable mouse without borders. The amount of games that keep mouse cursor in the middle of the screen is very few, most of them lets Windows' mouse be free. One of the games I've seen that doesn't interfere with mouse without borders is CS2, in that game you can simply press ESC to go into resume menu and then you can send your mouse to other device. Doing this to all fullscreen games may not be ideal though, what I think is that there should be a setting in mouse without borders menu that we can specify the processes. When any of the processes in this list is focused, mouse without borders shouldn't do its job.

@TheJoeFin  I would categorize it as a bug to be fixed rather than an enhancement.


Can not bind to "GoBack" and similar keyboard accelerator buttons

Describe the bug
I am trying to bind the GoBack and GoForward buttons (aka VK_BROWSER_BACK and VK_BROWSER_FORWARD) in an UWP project.
When using the GoBack, GoForward and possibly other similar keys on a KeyboardAccelerator in XAML a XamlParseException with the message of Failed to create a 'Windows.System.VirtualKey' from the text 'GoBack'. is thrown. Furthermore if the accelerator is added in the code-behind, it does not work.
Steps to reproduce the bug
Create a new blank page UWP project.
    <Grid>
        <StackPanel>
            <Button x:Name="GoBack" Content="Go Back" Click="GoBack_Click">
                <Button.KeyboardAccelerators>
                    <KeyboardAccelerator Modifiers="Menu" Key="Left"/>
                    <KeyboardAccelerator Key="GoBack"/>
                </Button.KeyboardAccelerators>
            </Button>
        </StackPanel>
    </Grid>

Remove the "GoBack" accelerator to get past the exception.
namespace GoBack
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();

            GoBack.KeyboardAccelerators.Add(new KeyboardAccelerator() { Key = Windows.System.VirtualKey.GoBack });
            GoBack.KeyboardAccelerators.Add(new KeyboardAccelerator() { Key = Windows.System.VirtualKey.Escape });
        }

        private async void GoBack_Click(object sender, RoutedEventArgs e)
        {
            var dialog = new MessageDialog("You clicked Go Back");
            await dialog.ShowAsync();
        }
    }
}

Expected behavior
Escape and Alt+left works, but the back button does not. Expected all to work.
Screenshots
No response
NuGet package version
No response
Windows app type

[X] UWP
[ ] Win32

Device form factor
Desktop
Windows version
Windows 11 (21H2): Build 22000
Additional context
Visual Studio 17.3.3

Can confirm the same in WASDK 1.2

Up

The same issue occurs for us on our UWP app.
We have a DependencyProperty with VirtualKey type and when set GamepadX, it's successfully validated by Intellisense into Visual Studio XAML designer but on runtime we have the same XamlParseException.
We have bypass this issue with another approach (the value of our VirtualKey prop is set in code behind) but the point is
Why have enums if they cannot be used directly in XAML ?

Still same in App SDK 1.4..
Seems like a minor fix really...


Illegal quoting in line 1. (CSV::MalformedCSVError) but loads OK in LibreOffice/GoogleSheets

I'm trying to track down an issue with a CSV file where if I load the raw file as I received it from a PayPal download I get a illegal quoting online one error however if I truncate the large file and only load the first say 50 lines I do not get this malformed CSV error illegal quoting online one error and the contents load as expected.
I've also been able to take that file loaded in Libra office then save it as a CSV it strips out many unnecessary quotes around fields and the CSV loads as expected without error. Another difference between the two different files other than removed quotes is original CSV is UTF-8-BOM while copy is UTF-8 (so says NotePad++). I've tried encoding:'UTF-8-BOM' but get same error
I would like to figure out what the issue is but need some help tracking down the error, is it a problem with the file or the lib? How can I track down exactly which quote what character or whatnot in the original CSV file is causing the error so I can track down what's wrong?
Thanks for the help!
C:\Users\Brad Krane\Documents\src\csv-quote>ruby -v
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x64-mingw-ucrt]
C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:955:in `parse_quotable_robust': Illegal quoting in line 1. (CSV::MalformedCSVError)
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:894:in `block in parse_quotable_loose'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:129:in `block in each_line'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:105:in `each_line'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:105:in `each_line'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:855:in `parse_quotable_loose'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:338:in `parse'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:2365:in `each'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:2365:in `each'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:2400:in `to_a'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:2400:in `read'
        from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:1578:in `parse'
        from (irb):6:in `block in <top (required)>'
        from (irb):6:in `open'
        from (irb):6:in `<main>'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/irb-1.4.1/exe/irb:11:in `<top (required)>'

Could you share a CSV file that reproduces this problem?

If I can do so privately somehow and trust you to destroy the information. Unfortunately the CSV file is full of personally identifiable information name, address, email, phone number, and some other info.

After some more testing it could be the UTF-8-BOM doing head file.csv > trunc.csv (as opposed to save as with NP++) the error is preserved I'll see if I can replace any personal information and get you a copy that has the error

Actually I was able to get failure with the first line alone using head -1 > trunc3.csv from the OG file please see the attached.
trunc3.csv

Thanks.
Could you also provide a Ruby script that reproduces this case?

Microsoft Windows [Version 10.0.19042.1586]
(c) Microsoft Corporation. All rights reserved.
C:\Users\Brad Krane\Documents\src\csv-quote>ruby -v
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x64-mingw-ucrt]
C:\Users\Brad Krane\Documents\src\csv-quote>irb -v
irb 1.4.1 (2021-12-25)
C:\Users\Brad Krane\Documents\src\csv-quote>irb
irb(main):001:0> require 'csv'
=> true
irb(main):002:0>
irb(main):003:0> File.open('trunc3.CSV')   { |f| CSV.parse(f,  ) }
C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:955:in parse_quotable_robust': Illegal quoting in line 1. (CSV::MalformedCSVError)         from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:894:in block in parse_quotable_loose'
from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:53:in block in each_line'         from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:50:in each_line'
from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:50:in each_line'         from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:855:in parse_quotable_loose'
from C:/Ruby31-x64/lib/ruby/3.1.0/csv/parser.rb:338:in parse'         from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:2365:in each'
from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:2365:in each'         from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:2400:in to_a'
from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:2400:in read'         from C:/Ruby31-x64/lib/ruby/3.1.0/csv.rb:1578:in parse'
from (irb):3:in block in <top (required)>'         from (irb):3:in open'
from (irb):3:in <main>'         from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/irb-1.4.1/exe/irb:11:in <top (required)>'
from C:/Ruby31-x64/bin/irb:33:in `load'
... 1 levels...
irb(main):004:0>

Thanks.
Could you try File.open('trunc3.CSV', encoding: "BOM|UTF-8") {|f| CSV.parse(f)}?

Hi,
Thanks, it works as expected! I thought that I was probably making a
mistake in the encoding. I tried encoding: 'UTF-8-BOM' and looked around to
no avail. Thanks for the correct string vey much appreciated!
Cheers,
On Sun, Apr 17, 2022 at 8:13 PM Sutou Kouhei @.***>
wrote:

Thanks.
Could you try File.open('trunc3.CSV', encoding: "BOM|UTF-8") {|f|
CSV.parse(f)}?
—
Reply to this email directly, view it on GitHub
https://github.com/ruby/csv/issues/242#issuecomment-1100975185, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKVXOPSM7KATLJEQJKRWLVFSSMBANCNFSM5SN3MRYA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Brad


Question on Altering Layout

Hi, Again --- Love, love, love this project. Amazing work!
I want to change the layout of the today/back/next toolbar so that back and next are arrows before and after the date. Then Today becomes its own button. The goal is to free up some real estate for custom addition of filters.
Part of me wants to leave the calendar as is and just add filters at top, but the OCD part wants it all to align together in a nice flow.
Anyway, if I wanted to redo the layout of the toolbar, what would you suggest I do? Should I fork your code and alter it, or is there an open avenue for me to hide the tool bar, and just create a custom toolbar that calls the same events your toolbar does? Is that feasible?

Hi, thanks for the kinds words :)
Probably the correct API is to allow the Toolbar to be properly pluggable, but right now the best ou can set toolbar={false} on the calendar to not render the built-in one. Then you can hook up your own toolbar fairly easily.
you will need to hook into onNavigate and onView and have your buttons set the view and date props on the calendar. There is also BigCalendar.label() for generating the same date label on the built in toolbar.

Thanks, I'll give it a whirl! :)

Hi @Georgette were you able to achieve a specific toolbar, and is there a better way now to do it, like hide the previous and next buttons and style today button?

Yes, I ended up with the approach of hiding theirs and using their set of functions to hook into my own. That project I was working on that I used this module in has been completed and handed off about a year ago so -- I haven't visited this module since, I'm afraid.


Add dependencies: pytest-order and pytest-ordering

add in test.pytest.yml
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install pytest pytest-order pytest-ordering
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

done
https://github.com/obervinov/_templates/pull/17/commits/bc336149ceeb40c5959e1d77cf4406ba5085f16c


Update free-courses-hi.md

Added a ReactJS course in hindi by 6 Pack Programmer.
What does this PR do?
Adds a youtube playlist for ReactJS in hindi.
For resources
Description
A playlist for ReactJS in hindi.
Why is this valuable (or not)?
The tutor uses daily life examples for better understanding.
How do we know it's really free?
It's on youtube.
For book lists, is it a book? For course lists, is it a course? etc.
It's a video course
Checklist:
Read our contributing guidelines.
Search for duplicates.
Include author(s) and platform where appropriate.
Put lists in alphabetical order, correct spacing.
Add needed indications (PDF, access notes, under construction).
Used an informative name for this pull request.
Follow-up
Check the status of GitHub Actions and resolve any reported warnings!

Looks Good To Me!

use #10502


added Victory Pioneers International School

Dears at JetBrains
Please accept my request to add Victory Pioneers International School to the list of recognized educational institutions.
Thank you and best regards,
Ahmed

@ahmedmeid Dear Ahmed, your pull request merged. Thank you!


KeyInfo.getCurveName() returns null for EdDSA keys

Apparently ECUtil.getCurveName(key.getCurveOID()) does return null.

I can confirm, that ECUtil cannot yet resolve the OID <IP_ADDRESS>.4.1.11591.15.1 to ed25519.
This is rather trivial to patch though.
What troubles me a bit more is that I think I mixed up curves and algorithms over curves.
In order to create an XDH key, I use XDHCurve._X25519, which returns "X25519" for getName().
This value is then being fed to BCs key generator to generate the key. So far so good.
When I feed the generated key into KeyInfo.getCurveName though, I get back "curve25519".
This link suggests that X25519 is not a curve, but an algorithm.
Therefore I might have to rethink key generation design to get rid of this confusion.
@wiktor-k can you clarify that I'm wrong/right? :P

X25519 is an algo built on top of curve25519 (XDH in XDHCurve relates to ECDH). You can think of X25519 as something used for encryption while curve25519 for signing.
I've verified that with stack overflow that is, of course, the source of all knowledge: https://crypto.stackexchange.com/questions/84430/difference-between-x25519-vs-ed25519 :)

I worked around this for now by renaming XDHCurve -> XDHSpec and introducing getCurveName :P


Transmit Function

will consist two main methods:

routine transmition - sending 1 bit for successful operating system flow
anomalous transmition - sending data package of the anomaly messurement

close - not relevant anymore .
objectives changes


[HOLD for payment 2024-04-03] [Simplified Collect][Taxes] Create EditTaxNamePage

Implement this section of the Simplified Collect: Taxes doc
cc @kosmydel @filip-solecki

@luacmartins Could I take over this one?

Seems like we have a draft PR

@kosmydel could you leave a comment so I can assign you to the issue please?

:)

Lets consolidate on this one https://github.com/Expensify/App/issues/37794 since a single PR resolved 4 issues


screen-message: 0.25 -> 0.26

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/screen-message/versions.
meta.description for screen-message is: "Displays a short text fullscreen in an X11 window"
meta.homepage for screen-message is: "https://www.joachim-breitner.de/en/projects#screen-message"
meta.changelog for screen-message is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

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

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

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

found 0.26 with grep in /nix/store/4l258lz71lwa86paxfq01771jriif4lk-screen-message-0.26

directory tree listing: https://gist.github.com/55242e5503d64e348d08c886e14f09d1

du listing: https://gist.github.com/1b27ef10e996325be50837f4afa89bf1

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

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
screen-message

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4l258lz71lwa86paxfq01771jriif4lk-screen-message-0.26 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A screen-message https://github.com/r-ryantm/nixpkgs/archive/1f91c33cb663ce0a8c96ddb9fa58843475d5f864.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4l258lz71lwa86paxfq01771jriif4lk-screen-message-0.26
ls -la /nix/store/4l258lz71lwa86paxfq01771jriif4lk-screen-message-0.26/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

screen-message

Maintainer pings
cc @fpletz for testing.

Works on Wayland/Gnome Shell (x86_64-linux).


Query param of type Date does not get serialized using the date format specified in Defaults

The following method in RestServiceClassCreator gets used to generate code that in turn serializes query params:
    protected String toStringExpression(JType type, String expr) throws UnableToCompleteException {
        if (type.isPrimitive() != null) {
            return "\"\"+" + expr;
        }
        if (STRING_TYPE == type) {
            return expr;
        }

        if (type.isClass() != null &&
            isOverlayArrayType(type.isClass())) {
          return "(new " + JSON_ARRAY_CLASS + "(" + expr + ")).toString()";
        }
        if (type.isClass() != null &&
            OVERLAY_VALUE_TYPE.isAssignableFrom(type.isClass())) {
          return "(new " + JSON_OBJECT_CLASS + "(" + expr + ")).toString()";
        }

        return String.format("(%s != null ? %s.toString() : null)", expr, expr);
    }

Params of type Date fall through to the toString() call instead of using the date format specified by org.fusesource.restygwt.client.Defaults.

@aponyrko
I created a PR against your repo to add a JUnit test: https://github.com/aponyrko/resty-gwt/pull/1
A big thanks for your fix, I was working on this exact ticket before seeing you've already fixed it :)

Hi,
We have an issue related to this development. There used to be a bug (Defaults date formatter ignored, which is addressed by this PR). Now, the date is correctly formatted, but with outer quotes.
See java.util.Objects.toString() => JSONString.toString() => JsonUtils.escapeValue()
Thus, the sent request contains the String ""2018-03-08T00:00:00.000+0100"" instead of "2018-03-08T00:00:00.000+0100".
I think its a real regression introduced by this commit.

@StevenDieu
I confirm the issue, I've added a JUnit test to illustrate it.
Will try to fix it this week.


Transfer process: Consumer does not receive information about failed transfers

Description
Fix for upstream bug https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/issues/1242
Acceptance Criteria

[ ] Upstream bug is closed

Tasks

Pending decision in upstream issue

Closing as it will be tracked in upstream https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/issues/1242


Update scalafmt-core to 2.1.0

Updates org.scalameta:scalafmt-core from 2.0.1 to 2.1.0.
Release Notes/Changelog
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: semver-minor

Codecov Report

Merging #711 into develop will decrease coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #711      +/-   ##
===========================================
- Coverage    89.67%   89.65%   -0.03%
===========================================
  Files          112      112
  Lines         8938     8938
  Branches       325      325
===========================================
- Hits          8015     8013       -2
- Misses         923      925       +2

Impacted Files
Coverage Δ

...ala/com/twitter/algebird/ApproximateProperty.scala
72% <0%> (-10%)
:arrow_down:

...src/main/scala/com/twitter/algebird/Interval.scala
84.34% <0%> (-1.74%)
:arrow_down:

.../src/main/scala/com/twitter/algebird/ExpHist.scala
95.55% <0%> (-1.12%)
:arrow_down:

.../main/scala/com/twitter/algebird/BloomFilter.scala
94.24% <0%> (+0.88%)
:arrow_up:

...c/main/scala/com/twitter/algebird/MapAlgebra.scala
75.89% <0%> (+0.89%)
:arrow_up:

.../main/scala/com/twitter/algebird/Applicative.scala
61.76% <0%> (+2.94%)
:arrow_up:

...ain/scala/com/twitter/algebird/AdaptiveCache.scala
77.77% <0%> (+5.55%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 09c6a3d...2f011fa. Read the comment docs.


Update French locale with metadata strings

As a side note: capitalization on metadata labels is not well suited to French strings (mirador.css#L1377). E.g. "Etablissement De Conservation" looks a bit strange.

FYI, @regisrob, I had to revert this until there is a fix to the build with i18next in Mirador.


lldpd: 1.0.13 -> 1.0.14

Description of changes
Update version.

Changes

Add configure commands to alter inventory TLVs (lldpd/lldpd#508)

Fix:

Update seccomp rules for newer kernel/libc (lldpd/lldpd#488)
Correctly handle an interface whose index has changed (lldpd/lldpd#490)
Don't send VLANs when there are too many (lldpd/lldpd#501)

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 182677 run on x86_64-linux 1

1 package built:

lldpd


Explain this fork in README

This will redirect curious Roc newcomers back to the core repo.

Closing for staleness


Logout button is invisible in dark mode due to fixed color

This can be fixed by using material icon as dependency or using svg image as jsx element


Disable user input when conversation stops

Is it possible somehow to disable user input when conversation stops?

Not with the standard implementation.


[Proposal] Using the original update command for NPM/Yarn/PNPM

Use the NPM/Yarn/PNPM update command.

I guess it's better to use the npm install -g {NPM|Yarn|PNPM}


poc for object API

This is a proof of concept for a higher level API for nodes that will aggregate fields and components and their fields into a single object. This would be used as an API for views and custom views, and potentially more of the app.

Going to roll this into the table view


Handle show address on Receive feature

Describe the task
Handle show address on Receive feature
Actual : Show address according to Bitcoin address " bc1q"
Expect :

With BTC : Show address "bc1q"
With BRC-20 and Rune : Show address "bc1p"

Version test :

http://<IP_ADDRESS>:8900/s/B72ANWoCZEZ8Bgt
(Firefox): http://<IP_ADDRESS>:8900/s/Q35pEEJNA5XbZzf
Validation passed in case :
Install/Update version
Show BTC address, show Brc-20, RUNE address


Add a suffix(while:) method

The standard library includes prefix and suffix methods that take a number of elements or an index, but only a prefix method that takes a predicate. We should add a suffix(while:) method to match prefix(while:) for bidirectional collections.

Hi I would like to take this issue!  where should I add suffix(while:) methods?

Hi I would like to take this issue!  where should I add suffix(while:) methods?

Please open a PR against this package. It probably makes sense to add a new file, say Sources/Algorithms/Suffix.swift, and add your implementation there.

Please open a PR against this package. It probably makes sense to add a new file, say Sources/Algorithms/Suffix.swift, and add your implementation there.


DP - Updating vendor specific queue numbers and scheduler weights in all QoS/DP scripts.

DP - Updating vendor specific queue numbers and scheduler weights in all QoS/DP scripts.

Update Queue number changes
Update Scheduler weight as there is a weight limit of 100

Pull Request Functional Test Report for #1689 / 5e1f42e319bef01d95ee95371536f063844b11b1
No tests identified for validation.

Hi Greg,
Please update this file with D35 queue names.
https://github.com/openconfig/entity-naming/blob/main/internal/juniper/juniper.go#L114
i.e revert this pull request https://github.com/openconfig/entity-naming/pull/20/files
Thanks,
Charan

/gcbrun

/gcbrun

/gcbrun

@mojiiba, there's a bit of a complicated reason why there are two deviations with the same meaning. It's a rare case where we need to sometimes pull the deviation value from a flag and sometimes from the metadata proto. I agree they should converged to one, but then we also need to document how we handle similar cases in the future. @prinikasn and I were discussing it right before she went OOO. If we can hold our nose on that one for another week, I can make sure it is top priority for her when she returns.

Sorry, my comment about unblocking merging this internally should have been on another PR. This one looks good to go.


:sparkles: Feat: Add maxPriorityFeePerGas and maxFeePerGas

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1198  👈
#1197
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @roninjin10 and the rest of your teammates on  Graphite


Need setting to restrict user from finishing projects with empty custom fields.

Describe the bug
Need new setting on Settings page, to restrict user from finishing project when there any custom field is empty.

I thing Finish means Complete Here

If any status change action comes to automation in future ,
this setting will be ignored by automation.

Problem : Multiple Status Change Process will take much longer time

New Setting in Project
"Force Project Custom Fields"

Right now only Project and Project-Service types of custom fields are mandatory, And rest is optional.
On Completed stage allows user to change custom fields and then user can move it to finished/review stage. @vinpahilwani @mitulpanch


Improve error messages

Expected Behavior
Improved error messages informing what exactly happened. Without that it is really hard to guess what is wrong when a new event is created.
Actual Behavior
An exception with a generic message is thrown:
Google.GoogleApiException: 'Google.Apis.Requests.RequestError Invalid resource id value. [400] Errors [Message[Invalid resource id value.] Location[ - ] Reason[invalid] Domain[global]
I was guessing that the issue was something related with the "Location" field, but after struggling for more than 5 hours I found that the issue is related to the Id.
Thanks to this link: https://gitlab.openminds.be/mirror/odoo/commit/052bc3880534e45f168f396005e7cfc3edad0490
Steps to Reproduce the Problem

Try to insert an event to google calendar with an Id that contains '-'. (Guid.NewGuid().ToString(), for instance).

Specifications

.NET version: Google.Apis.Calendar.v3 version <IP_ADDRESS>9

I'm not sure If I opened this issue on the right place. If not, please let me know where I can open it. Thanks


Redis adapter

Publish offline messages, simulate subscription exceptions, set to retry 100 times, and disconnect the subscription end when sending 10 times,
When the subscriber reconnects, the subsequent retry message cannot be received and the message is lost

Please create a reproduction code.

// static-service.js
const { ServiceBroker } = require("moleculer");
const ChannelsMiddleware = require("@moleculer/channels").Middleware;
const broker = new ServiceBroker({
namespace: "test",
nodeID: "test1",
transporter: "TCP",
middlewares:[ChannelsMiddleware({
adapter:"redis://<IP_ADDRESS>:6379"
})]
});
// Start the Moleculer broker
broker.start();
broker.repl();
setInterval(() => {
broker.sendToChannel("order.created", {
id: 1234,
items: "test"
});
}, 100);
// Start the service to serve static resources
const serviceSchema = {
name: "subscriber",
channels: {
"order.created": {
group: "mygroup",
redis: {
minIdleTime: 1000,
claimInterval: 1,
startID: "0"
},
maxRetries: 100,
handler(payload) {
console.log(payload);
throw new Error;
}
}
},
}
broker.createService(serviceSchema).then();
// send 10 times
broker.destroyService("subscriber").then(()=>{
setTimeout(()=>{
// then create new Service, Remaining transmission times data loss
broker.createService(serviceSchema);
}, 10000);
});

How to ensure that data in pending is not lost after destroying the service

@putty-kang
The default value for moleculer channels configuration for redis.startID is "$" which means pick up only new messages.  You will need to store and manage this value if you want to pick up messages that may have come in while service was down.
Starting point when consumers fetch data from the consumer group. By default equals to $, i.e., consumers will only see new elements arriving in the stream. More info here

@icebob
const pubClient = this.clients.get(this.pubName);
// 1. Delete consumer from the consumer group
// 2. Do NOT destroy the consumer group
// https://redis.io/commands/XGROUP
return pubClient.xgroup(
"DELCONSUMER",
chan.name, // Stream Name
chan.group, // Consumer Group
chan.id // Consumer ID
);
================================================================================
This code results in the loss of unconsumed messages in the reconnecting extension after the service is disconnected

@icebob
You need to first check if there is a message in the ending, and then delete the corresponding consumer

const pubClient = this.clients.get(this.pubName);
let pending = await pubClient.xpending(
chan.name,
chan.group,
"-",
"+",
10 // Max reported entries
);
if(!pending) {
// 1. Delete consumer from the consumer group
// 2. Do NOT destroy the consumer group
// https://redis.io/commands/XGROUP
return pubClient.xgroup(
"DELCONSUMER",
chan.name, // Stream Name
chan.group, // Consumer Group
chan.id // Consumer ID
);
}

Repro example and the proposed fix are here: https://github.com/moleculerjs/moleculer-channels/commit/8c3eb6e5c64cad27d75e5479f38c7a97b4e18cd4