Crash on iOS when interacting with TextField, possibly related to embedded UIKit views

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
This issue is the same as https://github.com/flutter/flutter/issues/128846.
The previous issue is closed and cannot be commented on, so a new issue is being created.
Is this resolved in Flutter 3.13.5?
The original issue content is listed below.
In a prior version of my production iOS app:
1: Run the app in profile mode on a physical device (I used an iPhone 13 mini but the app has crashed on customer iOS devices of all different models, and on iPad as well).
2: Increase dynamic type size to 160%.
3: Tap on the text field to bring up the keyboard.
4: Tap the text field's icon (specified by TextField.decoration), which is within a gesture recognizer and hides the keyboard again.
5: Repeatedly and rapidly tap on the center of the text field's icon, and slowly move your finger to the right, from the center of the icon towards the text field. Try to move your finger no more than a few pixels at a time.
6: If the keyboard appears, repeat from step 4. Eventually, the app crashes before tapping close enough to the text field to focus it and display the keyboard.
I have not been able to reproduce this crash in anything less than my production app (it will not reproduce in any of the samples I created, see "code sample" for more information). I believe this is because the crashes are related to the use of the google_mobile_ads AdMob pub plugin. See the "code sample" section for more information.
https://github.com/flutter/flutter/issues/127789 looks related, but at present lacks some required information to be actionable.
Expected results
When following the steps to reproduce, I expect my app to hide and show the keyboard, to focus and unfocus the text field, but not to crash.
Actual results
The app crashes. I have attached the following below:
Console output from reproducing the crash in my production app.
A minimally-redacted, fully-symbolicated iOS crash report from a real production user where my app crashed due to this issue.
Code sample
As I said above, I cannot at the moment reproduce the issue with this code sample, only with my production app. However, this sample is intended to replicate as closely as possible the configuration of my production app, replacing the ad view with a web view. Please reference this code sample while reading the steps to reproduce.
Code sample
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

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

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

  @override
  State<MainApp> createState() => _MainAppState();
}

class _MainAppState extends State<MainApp> {
  final _controller = TextEditingController();
  final _focus = FocusNode();

  final _webViewController = WebViewController()
    ..loadRequest(Uri.parse("https://www.google.com"));

  @override
  void initState() {
    _controller.addListener(() {
      setState(() {});
    });
    super.initState();
  }

  void onSubmit() {
    setState(() {
      _focus.unfocus();
      _controller.text = '';
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(useMaterial3: true),
      home: Scaffold(
        resizeToAvoidBottomInset: false,
        body: Container(
          alignment: Alignment.center,
          padding: const EdgeInsets.all(16),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              TextField(
                controller: _controller,
                focusNode: _focus,
                decoration: InputDecoration(
                  icon: ExcludeSemantics(
                    child: GestureDetector(
                      onTap: onSubmit,
                      child: const Icon(Icons.add),
                    ),
                  ),
                  hintText: 'A long string for the hint text of the text field',
                  border: const OutlineInputBorder(),
                  contentPadding:
                      const EdgeInsets.only(left: 16.0, right: 36.0),
                ),
                textCapitalization: TextCapitalization.words,
                onSubmitted: (_) => onSubmit,
              ),
              SizedBox(height: 400),
              SizedBox(
                height: 100,
                child: WebViewWidget(controller: _webViewController),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.4, on macOS 13.4 22F66 darwin-arm64, locale en-US)
    • Flutter version 3.10.4 on channel stable at /Users/roysianez/Desktop/Bug/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 682aa387cf (8 days ago), 2023-06-05 18:04:56 -0500
    • Engine revision 2a3401c9bb
    • Dart version 3.0.3
    • DevTools version 2.23.1

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/roysianez/Library/Android/sdk
    • Platform android-33-ext5, build-tools 33.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    ✗ 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 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • 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.12+0-b1504.28-7817840)

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

[✓] Connected device (3 available)
    • Roy’s iPhone 13 (mobile) • 00008110-000C644802DB801E • ios            • iOS 16.5 20F66
    • macOS (desktop)          • macos                     • darwin-arm64   • macOS 13.4 22F66 darwin-arm64
    • Chrome (web)             • chrome                    • web-javascript • Google Chrome 114.0.5735.133

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

! Doctor found issues in 1 category.

Hi @b4tchkn
I re-visited #128846 and saw me there since the last time. I checked this issue again on my physical device (iPhone 7, iOS 15.7.9) but can't reproduce it (still stuck at step 5 to step 6). So if you can provide a recorded video for reproducing steps, it would be helpful.

Demo video when checking on Flutter master channel
https://github.com/flutter/flutter/assets/104349824/10b41f4b-4a89-409b-972d-ea842f73b0c8

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.13.5, on macOS 13.5 22G74 darwin-x64, locale en-VN)
    • Flutter version 3.13.5 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 12fccda598 (5 days ago), 2023-09-19 13:56:11 -0700
    • Engine revision bd986c5ed2
    • Dart version 3.1.2
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2022.2)
    • 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 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.5 22G74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 117.0.5938.62

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

• No issues found!

[!] Flutter (Channel master, 3.15.0-7.0.pre.2, on macOS 13.5 22G74 darwin-x64, locale en-VN)
    • Flutter version 3.15.0-7.0.pre.2 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master.
      Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master.
      Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2f56288a4e (2 hours ago), 2023-09-24 18:49:07 -0700
    • Engine revision 2daf5e7bb2
    • Dart version 3.2.0 (build 3.2.0-191.0.dev)
    • DevTools version 2.28.0-dev.12
    • 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 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2022.2)
    • 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 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.5 22G74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 117.0.5938.62

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

! Doctor found issues in 1 category.

I'm sorry.
I just observed the same error on my project Sentry before and was not able to reproduce it.
I would like to request a video recording from the original reporter of the issue, @roy-sianez , if possible.

@b4tchkn
It may be similar / related to https://github.com/flutter/flutter/issues/131999 that you can check and confirm.

@darshankawar
Thanks for responding.
What do you think #131999  has in common with this issue?
Is #128846 really solved?

I just observed the same error on my project Sentry before and was not able to reproduce it.

@b4tchkn Could you share the entire crash stack trace? If the log is too long, please save it into a file and attach it here.
Also, please provide the list of affected device info and the percentage occurrence of the crash. Thanks!

クラッシュ発生率は1.45%でした。
それぞれ発生が多い順でソートされています
デバイスのリスト
iOSのリスト

Crash rate was 1.45%.

List of iOS devices (in order of most frequent occurrence)

iPhone 8
iPhone 7
Phone SE (2nd generation)
iPhone XR
iPhone 11
iPhone 6s
iPhone SE (1st generation)
iPhone X
iPhone 13
iPhone 12

List of iOS versions (in order of occurrence)

iOS 16.5.1
iOS 15.7.7
iOS 15.7.6
iOS 16.3.1
iOS 16.1.1
iOS 16.2
iOS 15.5
iOS 14.8.1
iOS 16.5
iOS 15.6.1

StackTrace

@b4tchkn Please share the entire crash stack trace in text format instead of a screenshot for better investigation. Thanks!

@huycozy Sorry. Corrected stack trace to text format.
When I check https://github.com/flutter/flutter/issues/128846, the following stack traces are very similar, can I assume that this is the same problem?
Last Exception Backtrace:
0   CoreFoundation                	0x1c9c1948c __exceptionPreprocess + 160 (NSException.m:202)
1   libobjc.A.dylib               	0x1c2f05050 objc_exception_throw + 56 (objc-exception.mm:356)
2   CoreFoundation                	0x1c9da8420 _CFThrowFormattedException + 104 (CFObject.m:2235)
3   CoreFoundation                	0x1c9da4e1c -[__NSArrayM insertObject:atIndex:].cold.1 + 48 (NSArrayM.m:164)
4   CoreFoundation                	0x1c9c23764 -[__NSArrayM insertObject:atIndex:] + 888 (NSArrayM.m:164)
5   Flutter                       	0x101015420 flutter::IOSExternalViewEmbedder::SubmitFrame(GrDirectContext*, std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::SurfaceFrame, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter::SurfaceFrame>>) (in Flutter) + 5204
6   Flutter                       	0x1013bd800 flutter::Rasterizer::DrawToSurfaceUnsafe(flutter::FrameTimingsRecorder&, flutter::LayerTree&) (in Flutter) + 1308
7   Flutter                       	0x1013bda58 std::_LIBCPP_ABI_NAMESPACE::__function::__func<flutter::Rasterizer::DrawToSurface(flutter::FrameTimingsRecorder&, flutter::LayerTree&)::$_1, std::_LIBCPP_ABI_NAMESPACE::allocator<flutter::Rasterizer::DrawToSurface(flutter::FrameTimingsRecorder&, flutter::LayerTree&)::$_1>, void ()>::destroy_deallocate() (in Flutter) + 0
8   Flutter                       	0x1012c4ae8 fml::SyncSwitch::Execute(fml::SyncSwitch::Handlers const&) const (in Flutter) + 52
9   Flutter                       	0x1013bd174 flutter::Rasterizer::DrawToSurface(flutter::FrameTimingsRecorder&, flutter::LayerTree&) (in Flutter) + 264
10  Flutter                       	0x1013be9a0 std::_LIBCPP_ABI_NAMESPACE::__function::__func<flutter::Rasterizer::Draw(std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::Pipeline<flutter::LayerTreeItem>> const&, std::_LIBCPP_ABI_NAMESPACE::function<bool (flutter::LayerTree&)>)::$_1, std::_LIBCPP_ABI_NAMESPACE::allocator<flutter::Rasterizer::Draw(std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::Pipeline<flutter::LayerTreeItem>> const&, std::_LIBCPP_ABI_NAMESPACE::function<bool (flutter::LayerTree&)>)::$_1>, void (std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::LayerTreeItem, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter::LayerTreeItem>>)>::operator()(std::_LIBCPP_ABI_NAMESPACE::unique_ptr<flutter::LayerTreeItem, std::_LIBCPP_ABI_NAMESPACE::default_delete<flutter::LayerTreeItem>>&&) (in Flutter) + 240
11  Flutter                       	0x1013bdc98 flutter::Rasterizer::Draw(std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::Pipeline<flutter::LayerTreeItem>> const&, std::_LIBCPP_ABI_NAMESPACE::function<bool (flutter::LayerTree&)>) (in Flutter) + 416
12  Flutter                       	0x1013be680 std::_LIBCPP_ABI_NAMESPACE::__function::__func<fml::internal::CopyableLambda<flutter::Rasterizer::Draw(std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::Pipeline<flutter::LayerTreeItem>> const&, std::_LIBCPP_ABI_NAMESPACE::function<bool (flutter::LayerTree&)>)::$_0>, std::_LIBCPP_ABI_NAMESPACE::allocator<fml::internal::CopyableLambda<flutter::Rasterizer::Draw(std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::Pipeline<flutter::LayerTreeItem>> const&, std::_LIBCPP_ABI_NAMESPACE::function<bool (flutter::LayerTree&)>)::$_0>>, void ()>::operator()() (in Flutter) + 116
13  Flutter                       	0x1012c3120 fml::MessageLoopImpl::FlushTasks(fml::FlushType) (in Flutter) + 548
14  Flutter                       	0x1012c644c fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) (in Flutter) + 12
15  CoreFoundation                	0x1c9cd1c1c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28 (CFRunLoop.c:1797)
16  CoreFoundation                	0x1c9c92e64 __CFRunLoopDoTimer + 884 (CFRunLoop.c:2402)
17  CoreFoundation                	0x1c9c3c17c __CFRunLoopDoTimers + 284 (CFRunLoop.c:2560)
18  CoreFoundation                	0x1c9c8563c __CFRunLoopRun + 1940 (CFRunLoop.c:3120)
19  CoreFoundation                	0x1c9c89da0 CFRunLoopRunSpecific + 584 (CFRunLoop.c:3418)
20  GraphicsServices              	0x200faf998 GSEventRunModal + 160 (GSEvent.c:2196)
21  UIKitCore                     	0x1cbf1efd8 -[UIApplication _run] + 868 (UIApplication.m:3782)
22  UIKitCore                     	0x1cbf1ec50 UIApplicationMain + 312 (UIApplication.m:5372)
23  Runner                        	0x10003fbf8 main + 64 (AppDelegate.swift:5)
24  dyld                          	0x1e7407344 start + 1860 (dyldMain.cpp:1165)

Thanks for your update. Maybe related/similar: https://github.com/flutter/flutter/issues/134106

Closing as I think it is dup of https://github.com/flutter/flutter/issues/134106
If you could find any reliable way to reproduce this, please leave a comment at https://github.com/flutter/flutter/issues/134106


Update docs for node 8 LTS

See https://github.com/alphagov/govuk_prototype_kit/issues/459

Many thanks for this! You missed a few references, mind updating?


ui: add grouping of nodes according to metadata field(s)

in the k8s setup I would like to be able to group all nodes which have the same metadata value - for example in the bookinfo sample example I would like to group according to:
K8s.Labels.app

Such that all elements that have app=reviews are clustered together (pods, deployments, networkpolicy)

Closing, new WebUI will handle this
https://github.com/skydive-project/skydive-ui
Feel free to create feature request there


Tune Russian phrases a bit

:ru:

If using English is fine for Russian users then we can go with that!

wow @BonzaiThePenguin @rodionovd, did not notice this PR, please ignore mine.


add Hidden Leaders game

add Hidden Leaders game.
This was done as part of Hacktoberfest2022! #230

Thanks for contributing!


Adding modes for other combinations of shapes

Is it possible to add a mode that combines only 2 of the shapes (e.g. rectangle + triangle)?

I haven't dived into the code, but I'm assuming the combo mode puts all shapes in a bag and selects one either randomly or following a pattern. To allow what you've asked, you simply have to allow a custom bag, either by changing the argument format to support multiple shapes (instead of using 1 for mode 1, you use 1 for shape 1). An easier alternative, but less flexible and extensible, would be to assign a mode to each combination of shapes.
I'm not fluent in Go, and given that this probably involves replacing the "modes" for a collection of shapes, we'll have to wait.

Here is the code where the shapes are chosen, adding additional modes should be pretty trivial https://github.com/fogleman/primitive/blob/c0c2307296c54625b378f6d9b6b34597f0821e88/primitive/model.go#L160-L175

Cool! Thanks, I can play with that. I'll submit a pull request if I get anything useful.

It seems depends. Some alternative, the company says some may hang around until the URL in question is reused, which is usually "after a short period of time", though obviously that time can vary considerably. http://www.law-lib.com/law/law_view.asp?id=403793

I suppose we could support multiple -m arguments and use only those specified.

Can we have them weighted too? Like -m 1 -m 1 -m 2 would give 1 2/3 chance?

Weighting would be nice, but as for syntax, I'm not sure that is the best
option
On 27 Sep 2016 6:46 a.m., "lolilolicon"<EMAIL_ADDRESS>wrote:
Can we have them weighted too? Like -m 1 -m 1 -m 2 would give 1 2/3 chance?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fogleman/primitive/issues/10#issuecomment-249771933,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIrCpMzaXMWzCxjPkbpDfmX-Dba7W-fxks5quK23gaJpZM4KDP7F
.

Great minds think alike... After about the 20th image I generated, my next idea was to try combine 2 or 3 of the rendering modes. Very keen to see what "beziers + ellipses" would look like.
The weighted idea is also really nice, but I think it should be configurable; perhaps off by default (equal chances for modes) and then apply weighted by order of parameters with a -w parameter.
I'm having way too much fun with this, I need more!! 😁


Feature Request: Zmodem/lrzsz support

Summary of the new feature/enhancement
For terminals which support zmodem protocol (like Xshell), one can use lrzsz to upload and download files from remote server directly through ther terminal, or even drag and drop files to upload. It will be great if Windows Terminal can support this protocol.
Proposed technical implementation details (optional)
Unfortunately I cannot provide technical details. But I'd like to say thants for your great work.

Well, I just realize maybe it should be a powershell issue rather than window terminal? :flushed:

This is probably something a plugin could do, but I'm not going to keep it on our backlog since we're probably not going to get to it this side of 2021. :smile:

Here is a nice tool called trzsz that can achieve lrzsz-like effect in windows terminal

https://trzsz.github.io/ssh supports trzsz  ( trz / tsz ), similar to rz / sz.


Fix wrong path in favicons

Hi!
The favicons link gives a 404.
Should It have the path /favicons/favicon-**x**.png instead of only /favicon-**x**.png?
That's my first Pull Request ever so if I did something wrong please let me know.
Thank you :D

Hey @RafaelGoulartB
Thanks! Can you also fix the  path for android related favicons?

@LauraBeatris
Did you use some tool to make all this favicon in different formats?
I'm using this website https://favicon.io/favicon-converter/, but it don't give me all this favicons.

@RafaelGoulartB I use https://favicomatic.com/ a lot, it also transforms all the favicons to have a transparent background

@RafaelGoulartB Thanks! Merged 😄


Project: Minimalistic One Page Portfolio

Project addition to the library. PR is related to issue #2
info
A basic and minimalistic portfolio that can be hosted on basic github apges setup.
preview

Varient examples
Desktop
Mobile

MAGE / DOOM

all up and ready to be merged.


After deploy to Azure PDF text is unreadable

On my local generated PDF is correct however once I deploy it on azure here is the output

Same probleme here :
https://github.com/rdvojmoc/DinkToPdf/issues/159


Support Art direction with custom ArtDirectionImage component

📑 Description
In order to avoid cut-off hero images that are not useful on narrow screens, we need a way to support different images per viewport size. This implementation uses the Porsche Design System Breakpoints as flexible options to provide separate images per viewport width.
It does currently not work with the next-image-export-optimizer since the library does currently not support the getImageProps feature for image loading.
✅ Checks

[x] I have read and accept the Contributor License Agreement

@switchnollie I merged the CCB story into this branch and upgraded all dependencies (including the switch to the Contentlayer2 fork by @timlrx). Can you please add a hero image for the CCB story optimized for mobile devices :) ?
Thank you for adding this great feature!

@switchnollie Shall we pick up the work on this PR again?

Hey @itrich, unfortunately I'm currently completely covered with project work.. I'll let you know if I have some more capacity in the next PI


Instructions as one long ticker-tape instead of distinct step pages

What are the requirements for the project?
Students can't handle needing 2 instruction advancement methods, and there are too many variables for content creators to know whether or not a step will fit perfectly into one frame.  The need to scroll will become increasingly important as we include images/GIFs/Videos alongside the instructions that they relate to.
Is there a deadline or date this is needed by?
ASAP
Please share any existing references, screenshots, links, etc. here that will help us better understand your requirements

Students tend to click "Next" instead of scrolling when they see that there are more instructions to read.

Implemented with tutorial redesign.


Is there a way to change the time format of please, to 24 hours instead of 12?

I prefer seeing my time in the 24 hour format I've customized my time and date format in the .bashrc script however, please displays time in the 12 hour AM, PM style. I suspect the answer may be located in please.py but I'm not sure how to go about customizing the settings.  I know it's not really an issue, but if anyone knows how I could do what I want, I'd be very happy and grateful. Thanks.

Never mind, I think I may have found a temporary fix for displaying 24 hour time format. On line 196:83 of ~/.local/lib/python3.X.X/site-packages/please/please.py, I've made a backup copy of please.py and edited the file and I've changed %I to %H I'll find out if I'm correct in under four minutes.

#9
Gonna work on releasing the new update in the next few days.

Thank you NayamAmarshe, I appreciate that and thanks for the creative software.

v0.2 is out :)


Não entro no https://ethonline.io/

This is a fake web miner designed to scam you. Blacklisted in https://github.com/409H/EtherAddressLookup/commit/c735ccc9b3f5eb299b4a4c7f5e7cd98ec01de7fe


Send to img2img/inpaint

If an output that used this extension was sent to img2img/inpaint, could it stay enabled? Currently it doesn't.

I'm a bit confused, the txt2img page's "send to img2img" seems to just ignore most parameters regardless, even normal CFG Scale doesn't send over. The Png Info tab does send everything over as expected though.
Might be an upstream WebUI bug here?


Remove WithTransport from clientFacade

Resolves @mbarrien's feedback.

Remove WithTransport from templates/clientFacade since it adds to the complexity of generating the client. Instead, use SetTransport and return the client.

@mbarrien I wasn't able to add you as a reviewer - looking into how to change the perms around that. In the meantime please feel free to add your review!


Create Unit Tests for the project

Hello,
What do you think about adding unit tests to the project?
Now that it's an open source project, good practice and assurance would be to write tests, so we'd be guaranteed that future "pull requests" would not break any existing code (github supports it through pipelines, we can use a CI tool in the future) and we could just focus on in the code, question of quality and business rules.

The spring-boot has a good doc and provides some libs for it.

Of course!!!
It Will be a pleasure!


Missing dependencies in package.json

When used in a browser environment the library depends on:
window.nodeUtil.inherits
window.nodeEventEmitter
There are dependencies are not documented in package.json and therefore the code fails when these globals are not defined.

Hello @peterzen,
You closed the issue so I expect that you fixed it yourself.
I suppose you included src/async-polling.js in your HTML instead of the script built for the browser (in the dist directory).
Could you confirm this so that other users running into the same error will have a solution written in this issue?
Also, should the README provide more detailed explanations regarding this?

I noticed afterwards that the lib/ directory contains util.js and event-emitter.js which are loaded by dist/async-polling.js.  The issue I ran into was that the main entry in package.json points to the source file so the dependencies won't be loaded when the library is loaded via require('async-polling') using webpack in the browser environment.  (I'm guessing browserify users run into the same issue also.)
I found the below workaround to get around the problem:
require('async-polling/dist/async-polling');  // built module contains dependencies

window.AsyncPolling( ...options ...); // module variable is not exported when 'window' object is present

I think the UMD loader would provide a more portable way to detect the runtime environment (instead of the current method of detection):
https://github.com/umdjs/umd
I hope this helps!
Thank you,
Peter

Thank you for your feedback! It is much appreciated.
I will check this out and see if I can improve something to ease this. I am not even sure bower is still a thing today.


Bad server states reported when passive server joins

setup
stripeControl = new PassthroughClusterControl("stripe-1", activeServer, servers); // 1 active, 1 passive
stripeControl.waitForActive();
stripeControl.terminateOnePassive();

Nodes:
2016-12-09 18:15:59.596 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [], platform)
2016-12-09 18:15:59.596 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [platform], clients)
2016-12-09 18:15:59.596 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [platform], entities)
2016-12-09 18:15:59.596 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [platform], state)
2016-12-09 18:15:59.596 TRACE   --- [           main] o.t.m.s.monitoring.TopologyService      : [0] serverStateChanged(server1, ACTIVE)
2016-12-09 18:15:59.598 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [platform], fetched)
2016-12-09 18:15:59.602 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] serverDidJoinStripe(server2)
2016-12-09 18:15:59.602 TRACE   --- [           main] o.t.m.s.monitoring.TopologyService      : [0] serverDidJoinStripe(server2)
2016-12-09 18:15:59.603 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [], platform)
2016-12-09 18:15:59.603 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [platform], clients)
2016-12-09 18:15:59.603 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [platform], entities)
2016-12-09 18:15:59.603 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [platform], state)
2016-12-09 18:15:59.603 TRACE   --- [           main] o.t.m.s.monitoring.TopologyService      : [0] serverStateChanged(server2, UNINITIALIZED)
2016-12-09 18:15:59.603 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [platform], fetched)
2016-12-09 18:15:59.604 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [platform], state)
2016-12-09 18:15:59.604 TRACE   --- [           main] o.t.m.s.monitoring.TopologyService      : [0] serverStateChanged(server1, SYNCHRONIZING)
2016-12-09 18:15:59.604 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [platform], state)
2016-12-09 18:15:59.604 TRACE   --- [           main] o.t.m.s.monitoring.TopologyService      : [0] serverStateChanged(server1, ACTIVE)

test
stripeControl.startOneServer();
stripeControl.waitForRunningPassivesInStandby();

Nodes:
2016-12-09 18:16:00.991 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [], platform)
2016-12-09 18:16:00.991 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [platform], clients)
2016-12-09 18:16:00.992 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [platform], entities)
2016-12-09 18:16:00.992 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [platform], state)
2016-12-09 18:16:00.993 TRACE   --- [           main] o.t.m.s.monitoring.TopologyService      : [0] serverStateChanged(server2, UNINITIALIZED)
2016-12-09 18:16:00.993 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server2, [platform], fetched)
2016-12-09 18:16:00.993 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [platform], state)
2016-12-09 18:16:00.993 TRACE   --- [           main] o.t.m.s.monitoring.TopologyService      : [0] serverStateChanged(server1, SYNCHRONIZING)
2016-12-09 18:16:00.998 TRACE   --- [           main] o.t.m.e.s.s.ActiveCacheServerEntity     : [pet-clinic/pets] synchronize(42)
2016-12-09 18:16:00.999 TRACE   --- [           main] o.t.m.e.s.s.ActiveCacheServerEntity     : [pet-clinic/clients] synchronize(42)
2016-12-09 18:16:01.000 TRACE   --- [           main] IStripeMonitoringPlatformListenerAdapter: [0] addNode(server1, [platform], state)
2016-12-09 18:16:01.001 TRACE   --- [           main] o.t.m.s.monitoring.TopologyService      : [0] serverStateChanged(server1, ACTIVE)

I am expecting calls to serverStateChanged  with server2 and not server1, and also with PASSIVE, not ACTIVE since I already have an active.
CC @GaryWKeim @anthonydahanne
Blocking https://github.com/Terracotta-OSS/terracotta-platform/pull/229

Looks like addDownstreamPassive is not notifying to the right component about state changes.  I know we changed some of this in core to support passive to active communication through IStripeMonitoring but I think this is mimicking the other behavior where state changes are communicated via the platform information channel.  I think it is more correct to do this through IStripeMonitoring but need to confirm.

thank you @myronkscott  for taking care of this :-)


WrapMysqlModifySubqueryTransformation doesn't work for Unrelate with M2M relationship.

Hi all,
I am having troubles with defining M2M relationship with a join table (I have tables Users and Roles and User_Roles). I have built my database in way that ALL tables have "createdBy, createdDate, lastUpdatedBy, lastUpdatedDate" columns.
First, I had the same problem as in 1288 - Initially, I didn't have any "extra" fields, then relate command failed because those 4 are required columns and didn't have default values for createdBy and lastUpdatedBy. So I found that I have to add them as "extra" fields. But as the names are the same as for the related entities, it didn't work. So I had to use the "extra" definition as an object instead of an array, so I'd be able to use an alias for the property name.
And then Typescript started complaining that my Role entity doesn't have that property that I defined as an alias when using the relate command.
I fixed that by defining the join table's column alias as a Role model's property.
Everything seemed to work properly now. I was able to add a role to a user.
But a new problem came up when I wanted to remove a role from the user.
await user.$relatedQuery('roles')
  .unrelate()
  .where('roles.id', 1);

The user is an User model object. This line of code tries to execute this query:
DELETE FROM `user_roles`
WHERE  `user_roles`.`role_id` IN (SELECT `roles`.`id`
                                  FROM   `roles`
                                         INNER JOIN `user_roles`
                                                 ON `roles`.`id` =
                                                    `user_roles`.`role_id`
                                  WHERE  `user_roles`.`user_id` IN ( 1 )
                                         AND `roles`.`id` = 1)
       AND `user_roles`.`user_id` IN ( 1 );

So I tried the same query in the database directly and it failed with the same error:
Error Code: 1093. You can't specify target table 'user_roles' for update in FROM clause
I tried to replicate the issue with reproduction-template.js but there it worked properly, because the inner select command was wrapped in another select command (a solution that is easily found when googling that error message).
So I was wondering if I am using an older version, but I am using version 2.2.15. And I can see that this change is present in the code:
https://github.com/Vincit/objection.js/blob/2.2.15/lib/queryBuilder/transformations/WrapMysqlModifySubqueryTransformation.js
So what I am doing wrong that I'm still getting an error like that? It literally works when trying to reproduce but in my app it produces the wrong kind of SQL. Because of that, I'm not adding the reproduction code at the moment because i wasn't able to reproduce the problem.
Thanks in advance,
Veiko

what happens if you alias the related query ?

Hey @abedmurrar, I'm using MySQL 5.7.
And my knexfile content is pretty basic. There was an attempt to try to solve some UTC issues across MySQL/NodeJS and servers situated in different regions, but other than that, basic info:
import { Config } from 'knex';

const knexFile = {
  development: {
    client: 'mysql',
    connection: {
      host: process.env.MYSQL_HOST,
      user: process.env.MYSQL_USER,
      password: process.env.MYSQL_PASSWORD,
      database: process.env.MYSQL_DATABASE,
      port: process.env.MYSQL_PORT,
      timezone: 'UTC',
      dateStrings: false,
    },
    pool: {
      min: 2,
      max: 10,
      afterCreate: (connection, callback) => {
        connection.query('SET time_zone = "+00:00"', (err) => callback(err, connection));
      },
    },
    migrations: {
      directory: '../../backend/db/migrations',
    },
    seeds: {
      directory: '../../backend/db/seeds',
    },
  },
  migrations: {
    extension: 'ts',
  },
} as Config;

export = knexFile;

When I tried with the reproduction-template.js, I tried with both SQLite and MySQL and both worked properly.

@vsamma it looks like a similar issue to what I had in https://github.com/ovos/objection.js/pull/3

PR updated for objection v3 https://github.com/ovos/objection.js/pull/11


compilation_context.external_includes not handled

Bazel has a feature called external_include_paths which makes external headers be included via -isystem instead of -I or -iquote, thereby suppressing compiler warnings on them (which one typically wants as one cannot act upon them).
However, when enabling this feature, DWYU loses information about those headers, and complains that they are not provided.
I believe this is because, when the feature is active, the headers are now placed in compilation_context.external_headers, instead of compilation_context.quote_headers.
Probably this needs to be handled here:
https://github.com/martis42/depend_on_what_you_use/blob/2312079ba3a09747c104f18066676c410f79c7bf/src/aspect/dwyu.bzl#L68
I.e. system_includes should contain both cc.system_includes + cc.external_includes.

Seems reasonable to me. The next weeks I am blocked, but at some point in December I will have tine tis project and implement this.

@carlosgalvezp
The requested feature has been implemented. Please note, for this to work Bazel >= 7.0.0 is required.


Finalize WASM and zig-0.12.0 support (see #50)

[ ] add WebGL2 and WebGPU shaders
[ ] fix WebGPU support
[ ] fix pacman.zig
[ ] fix kc85.zig
[ ] ...?

@kassane fyi 👆

@kassane fyi 👆(PR into master to keep track of what I'm adding... e.g. the black screen samples are working now...

Amazing!

Now with a shell.html which fills the whole client area :)

KC85 emulator running in browser (wasn't supported before, but quite trivial now):

On: https://github.com/floooh/sokol-zig/pull/51/commits/a2e4b461d6a78ab4f542e2aef391bde424175173
Does this do a recursive dependency lookup on libsokol?
For example, if you had any examples that used cimgui, would it link it directly to sokol so that emcc would pull both of them?

The idea is that one would additional C library compile steps (like cimgui) to the top-level module (same as happens with the sokol C library), and the Emscripten linker step would pick those up automatically.
I don't actually know whether it's fully recursive, but for the cimgui case, I wouldn't add that dependency to the sokol module, but to the 'Zig main module'.
I haven't actually tested it though, only made sure that it discovers the sokol library dependency.

Whoop whoop!

@floooh Been tracing through these changes as I look to move my own sokol-based engine to work with wasm. If the intention is that sokol is being comsumed as a wasm module directly (DLL-like), is it sufficient to use wasm32-freestanding or does sokol always require the intermediate emscripten step (and hence the build.zig template here) for the EM_JS() stuff you mentioned in another thread?

@kkukshtel yeah, you'll need to compile the sokol C library as wasm32-emscripten, and link the final executable (or WASM 'DLL' I guess) with the Emscripten linker.
Decoupling the sokol headers from Emscripten is currently not feasable unfortunately (since even without the use of EM_JS, it would require writing our own browser API shims and/or parts of the Emscripten helper functions).


scalar x matrix (4x4) using NEON SIMD intrinsics

Scalar: 27 sec
NEON: 17 sec

missing changes to Makefile, also Makefile has weird tabs.


Cross-compilation from Windows 10 to Ubuntu 16.04

System information

TensorFlow version: TF r1.12.0 if possible
Doc Link: N/A

Describe the documentation issue
I can't find any official tutorial on how to cross-compile Tensorflow on the main platforms other than the less-than-descriptive official tutorial to cross-compile for the Pi. I'm not sure if this is more of a Doc issue than a Feature request but I was looking for any help compiling for Ubuntu 16.04 from a Windows 10 machine. Since there are quite a bunch of error-prone steps to cross-compiling, as there are many options to configure and files to write in a specific way, I would really benefit from some guidance, even if minimal. There are a few tutorials on Medium, but those dont't target the same platforms and/or are old.
Is this something that could be added to Tensorflow's website ?
We welcome contributions by users. Will you be able to update submit a PR (use the doc style guide) to fix the doc Issue?
No, unless I manage to do it myself.

Any update on the question ? Not sure what that status means

Hi @mat100payette!
We are checking to see whether you still need help in this issue . Have you checked this thread for installation in Ubuntu ? link1,link2.Thanks!


Add GitHoard app

GitHoard makes it easy to quickly clone Git repositories.
https://github.com/jojobyte/githoard

Thanks!


dynamically sized worker pool - wish of new feature

We can set the number of worker threads, but it would also be nice to set a start/max number of threads.  Perhaps specifying a start size for the pool and a max size.  If all workers are busy, create a new worker thread and add to the pool, up to a max size.
One could also imagine pool that could decrease in size, but I am not sure if that is necessary.

I think to remember that the default pool size is the number of CPU cores times 2 which seems to be reasonable for unblocking code. But for worker threads the dynamically sized worker pool makes sense to me, especially if you have more long running tasks to be executed than the number of worker threads. So I like the idea.
:+1:

It is possible to set the size of the worker pool size using VertxOptions (or the CLI).
How is that different ?

Btw, what happens at the moment when all worker threads are busy and another blocking code gets triggered?

The current API for setWorkserPoolSize says: "Set the maximum number of worker threads to be used by the Vert.x instance". So the worker thread pool seems to be dynamic already^^

@leolux there will always be a max size whatsoever.
If all worker threads are busy, it means you have a problem that is either you have a wrong initial max size or what triggers the worker execution happens too often (i.e if it's an http server, then it means you handle more requests than you can).

I agree. Physical resource limits cannot be outrun by a high number of threads. So the question every software architect has to consider is how to handle high traffic load without wasting too many resources. I think this discussion would lead to the art of modern software design :)

Yes, you can set the limit of max threads already.  But, vertx does something that  bit unexpected.  The first time you call executeBlocking it creates/uses thread: vert.x-worker-thread-1.  Then the next time it creates (or uses) another thread: vert.x-worker-thread-2.  I would expect that vert.x-worker-thread-1 would be reused, and vert.x-worker-thread-2 would only be created if vert.x-worker-thread-1 were in use.
This way it only creates threads as necessary.  Currently, it seems to create/use threads in a round robin fashion (up until the max) regardless if any of the threads are busy.
I don't think this is a ig deal, but it seems that one of the major goals of vertx is to limit the number of OS threads.  This seems like a sensible place to do just that.

@AdamMcM there is this open issue https://github.com/eclipse/vert.x/issues/1539 that would allow to provide an SPI for executor service for worker threads, this sound more like what you want to achieve ?

an allowing to pass an executor service might work fine.  Thanks for pointing out this option


[feature request]the name length of dummy interface should be under 15 chars.

What would you like to be added:
As we known, yurthub component will create a dummy interface on nodes, and end user can configure the name for this dummy interface by parameter --dummy-if-name.
At the same time,  the name length of network interface should be under 15 bytes, some discussion information can be found here: https://stackoverflow.com/questions/24932172/what-length-can-a-network-interface-name-have
so we need to add a dummy interface name length check in the following validate function, if the length of options.HubAgentDummyIfName is more than 15, an error will be returned.
https://github.com/openyurtio/openyurt/blob/74b0a474deee7a2305d679c3eeb270fb6245d24b/cmd/yurthub/app/options/options.go#L143
others
/kind feature

Hey @rambohe-ch,
I'm new to this project.
This seems like a simple feature if I'm not wrong, a simple if check on the property and an error raised if violated.
Let me know if I'm on the right track. I would like to work on this issue.

Hey @rambohe-ch, I'm new to this project.
This seems like a simple feature if I'm not wrong, a simple if check on the length of the property and an error raised if violated.
Let me know if I'm on the right track. I would like to work on this issue.

@8rxn Thanks for your response, yes, you are right, you need to add a simple if check only in the above Validate func.

/assign

/assign @8rxn


Reduce frezon price

About the PR
Reduces the price of frezon gas.
50 mols of frezon can be made from one mol of tritium, and so without adjusting the price pretty ridiculous sums of money can be made in cargo.
I considered reducing the amount of frezon producible, but all of the atmos players that I surveyed prefered a price decrease instead of a yield decrease, so give them what they want.
Why / Balance

We don't want this to happen:

2/2 atmos techs I surveyed preferred reducing price over reducing yield, so give them what they want.

12,000 credits for a full canister of freson.. 0.3 is too little... I suggest raising it to 1.8-2 credits per mole, it turns out 80,000 credits for a full canister

12,000 credits for a full canister of freson.. 0.3 is too little... I suggest raising it to 1.8-2 credits per mole, it turns out 80,000 credits for a full canister

300k credits is still far too much, Atmos job is not to invalidate salvage.

Not every atmos is this pro, just think about newbies, I join wizden servers and see NOONE who can make at least full canister of frezon, Believe me, I play on wizden servers everyday and got 51 hours in there, noone could do it except of me and the guy I taught how to make trit and frezon. Just imagine it would be hard for newbies, most atmoses will just give up making frezon after seeing this pr

making frezon should be either for teg loops or for the funy, not to invalidate an entire department 30m into the round

Damn, so now there's literally no reason to learn atmos past turning on a couple of pumps to turn on distro

Damn, so now there's literally no reason to learn atmos past turning on a couple of pumps to turn on distro

Or making a very potent poison, but it's too blatant.


feat: upgrade to typeorm v0.3.0

Update to be able to use typeorm >v0.3.0 and @nestjs/typeorm >v8.1.0.
BREAKING CHANGE: must use at least node v14, typeorm v0.3.0 and
@nestjs/typeorm v8.1.0
Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Type of change

Please select the options that are relevant.

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

Checklist:

[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works

@jifeon The public api of the library will remain the same.  Instead I will be making backwards compatible changes (when needed). For now. nothing changes when using it.


MNOWFREE Sophie Rain Spiderman Viral Leaks Video On Social Media X Twitter[1380K]

1 minute ago Sophie Rain Spiderman, MNOWFREE Sophie Rain Spiderman Viral Leaks Video On Social Media X Twitter[1380K]

Sophie Rain Spiderman's latest video has rapidly gained traction across various social media platforms, captivating audiences and igniting extensive discussions. This talented digital creator has garnered significant attention for her engaging content, particularly her recent Spiderman-themed video, which has gone viral. Viewers are actively seeking out where to watch the full video, with many turning to platforms like Instagram, Twitter (X), and Discord for access.
As the excitement surrounding Sophie Rain Spiderman continues to build, fans are sharing their reactions and enthusiasm online. The viral success of her video underscores the influential role social media plays in elevating creators to prominence. With her distinctive style and innovative approach, Katherinne has quickly established herself as a noteworthy figure in the digital arena, leaving audiences eager to learn more about her upcoming projects and content.

FG

vf

bnbn


[pkg/util/log] Fix a race condition at startup

What does this PR do?
Turn the "pkg/util/log".Logger variable from a raw pointer *DatadogLogger to an atomic pointer atomic.Pointer[DatadogLogger].
Get rid of "pkg/util/log".bufferLogsBeforeInit because it contained exactly the same thing as Logger == nil.
Motivation
Our end-to-end tests are currently very flaky because the standalone dogstatsd process is regularly crashing at startup.
Each time there is a crash, the dogstatsd logs are always showing a fatal error: sync: Unlock of unlocked RWMutex error in pkg/util/log.
Here are the full stack traces of such a fatal error that happened at pkg/util/log/log.go:481:

ci-25049919-4670-kind-cluster

Here are two other examples of such a fatal error that happened at pkg/util/log/log.go:450:

ci-25045405-4670-kind-cluster
ci-25038804-4670-kind-cluster

fatal error: sync: Unlock of unlocked RWMutex

goroutine 232 [running]:
sync.fatal({0x1adf24f?, 0x953f25?})
    /usr/local/go/src/runtime/panic.go:1031 +0x1e
sync.(*RWMutex).Unlock(0xc000690d20)
    /usr/local/go/src/sync/rwmutex.go:209 +0x4a
github.com/DataDog/datadog-agent/pkg/util/log.logFormat(0x0?, 0x0?, 0xc000959e98, {0x1aeb60b, 0x25}, {0x0, 0x0, 0x0})
    /go/src/github.com/DataDog/datadog-agent/pkg/util/log/log.go:481 +0x16d
github.com/DataDog/datadog-agent/pkg/util/log.Infof({0x1aeb60b, 0x25}, {0x0, 0x0, 0x0})
    /go/src/github.com/DataDog/datadog-agent/pkg/util/log/log.go:626 +0xee

By looking at the code, it seems that the Logger global variable can be concurrently written by the SetupLogger function here: https://github.com/DataDog/datadog-agent/blob/fb0bad2f98964e5f2c47cd975844b3d147466b83/pkg/util/log/log.go#L56-L57
and be read by the Log function here: https://github.com/DataDog/datadog-agent/blob/fb0bad2f98964e5f2c47cd975844b3d147466b83/pkg/util/log/log.go#L441-L442
or by the logFormat function here: https://github.com/DataDog/datadog-agent/blob/fb0bad2f98964e5f2c47cd975844b3d147466b83/pkg/util/log/log.go#L473-L474
The evidences that the crashes come from a race with SetupLogger are the following:
In the dogstatsd logs, we can see:
2023-12-13 17:15:31 UTC | DSD | INFO | (comp/core/workloadmeta/store.go:498 in startCandidates) | workloadmeta collector "podman" could not start. error: component workloadmeta-podman is disabled: Podman not detected
2023-12-13 17:15:25 UTC | DSD | INFO | (pkg/util/log/log.go:626 in func1) | 3 Features detected from environment: kubernetes,cri,containerd
2023-12-13 17:15:25 UTC | DSD | INFO | (pkg/util/kubernetes/kubelet/kubelet_client.go:289 in checkKubeletConnection) | Successful configuration found for Kubelet, using URL: https://<IP_ADDRESS>:10250

Whereas the file, line number and function are correct for the first and third logs, the second log coming from pkg/config/env/environment_detection.g:L124 is said to come from pkg/util/log/log.go:626 but from an anonymous function func1 !
This is the sign that there’s an extra frame in the call stack due to the queuing on an “early” log inside logsBuffer.
And what is super interesting is that this … Features detected from environment … log is supposed to be emitted only once at the dogstatsd startup.
And if we look at all the dogstatsd logs here, we can see that there’s a perfect match between:

when the … Features detected from environment … log is logged twice instead of once (check the host and timestamp) and
when there is a fatal error: sync: Unlock of unlocked RWMutex error.

Additional Notes
In this PR, I didn’t try to be smart and revisit the locking strategy. I only mechanically replaced the raw pointer *DatadogLogger by an atomic pointer atomic.Pointer[DatadogLogger] for the Logger variable because its accesses were not guarded by any mutex.
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
I didn’t manage to have a reproducer that triggers the error as often as in our end-to-end tests, but I still managed to reproduce the error in a relatively short period of time with this:
truncate -s 0 /tmp/dogstatsd.log; while true; do echo -n .; DD_LOG_FILE=/dev/null DD_URL=http://localhost:8042 timeout 1 bin/dogstatsd/dogstatsd start > /tmp/dogstatsd.log 2>&1; grep 'Unlock of unlocked RWMutex' /tmp/dogstatsd.log; done

It starts dogstatsd in a loop.
Each time it starts fine, it prints a dot ..
And when there is an error it also prints Unlock of unlocked RWMutex.
Here is what I got with a dogstatsd built from main:

We can see that I managed to reproduce the error quite a few times.
And here is what I got with this PR:

I haven’t been able to see any error anymore.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

I know someone asked about removing that lint to enable that lib again, but it doesn't look like they did

@dustmop I’ve switched to go.uber.org/atomic as a replacement for sync/atomic in https://github.com/DataDog/datadog-agent/pull/21573/commits/f552c1ce69dc636eb2a70703b00e2bc83495be03.

/merge

/merge


feat: New target sql.glaredb

Close #3658
TODO:

[x] External DB tests
[ ] Update bindings
[ ] Create issue for prql-vscode (Like #2837)

Does glaredb have a stable rust interface? That would be a much simpler integration than with an external container?
I don't see it anywhere in the docs. But it is written in rust!

Does glaredb have a stable rust interface? That would be a much simpler integration than with an external container?
I don't see it anywhere in the docs. But it is written in rust!

We don't have a stable api, but definitely something we can look at adding (https://github.com/GlareDB/glaredb/issues/1916).
Rationale for that is glaredb started as a client/server db implementing the postgres protocol. But we started to "work backwards" when we recognized more the local use cases (and pushed out the CLI/Python stuff for local workflows).

Does glaredb have a stable rust interface? That would be a much simpler integration than with an external container?

Considering that glaredb is based on datafusion, which takes a long time to build, I feel it would be better to connect to a container that can shorten build time, reuse the Postgres protocol, and keep the code short.

test test_rdbms ... FAILED

failures:

---- test_rdbms stdout ----
thread 'test_rdbms' panicked at 'error retrieving column 1: error deserializing column 1: failed to fill whole buffer', /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-postgres-0.7.10/src/row.rs:151:25
stack backtrace:
   0: rust_begin_unwind
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:593:5
   1: core::panicking::panic_fmt
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/panicking.rs:67:14
   2: tokio_postgres::row::Row::get
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-postgres-0.7.10/src/row.rs:151:25
   3: integration::connection::external_dbs::<impl integration::connection::DbProtocol for postgres::client::Client>::run_query
             at ./tests/integration/connection.rs:134:42
   4: integration::test_rdbms::{{closure}}::{{closure}}::{{closure}}
             at ./tests/integration/main.rs:352:36
   5: core::result::Result<T,E>::and_then
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/result.rs:1319:22
   6: integration::test_rdbms::{{closure}}::{{closure}}
             at ./tests/integration/main.rs:351:28
   7: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/panic/unwind_safe.rs:271:9
   8: std::panicking::try::do_call
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:500:40
   9: __rust_try
  10: std::panicking::try
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:464:19
  11: std::panic::catch_unwind
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panic.rs:142:14
  12: insta::runtime::with_allow_duplicates
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/insta-1.33.0/src/runtime.rs:613:14
  13: integration::test_rdbms::{{closure}}
             at ./tests/integration/main.rs:344:9
  14: insta::glob::glob_exec::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/insta-1.33.0/src/glob.rs:106:13
  15: insta::settings::Settings::bind
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/insta-1.33.0/src/settings.rs:510:9
  16: insta::glob::glob_exec
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/insta-1.33.0/src/glob.rs:105:9
  17: integration::test_rdbms
             at ./tests/integration/main.rs:335:5
  18: integration::test_rdbms::{{closure}}
             at ./tests/integration/main.rs:314:17
  19: core::ops::function::FnOnce::call_once
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/ops/function.rs:250:5
  20: core::ops::function::FnOnce::call_once
             at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

failures:
    test_rdbms

./tests/integration/connection.rs:134:42 is this:
https://github.com/PRQL/prql/blob/fb6dd86465304ac9ab53a46adbd05a394649a3f9/crates/prql-compiler/tests/integration/connection.rs#L134

Hmmm ......I don't know why but it seems that GlareDB is not type compatible with rust-postgres and therefore cannot run tests related to numeric types?

Due to the incompatibility with rust-postgres mentioned above, it does not seem to be able to pass all the tests at this time.
So for now, I'm letting all tests skip.
Can we merge them anyway?


Allow named operations to be run with custom parameters

Currently when you run a NamedOperation you can set a custom view. This is applied to all operations in the named operation chain that don't have a predefined view. This doesn't work very well and does provide enough flexibility for users to configure parts of the named operation such as filtering values.
We should remove the ability provide a view in the NamedOperation class - i.e remove "implements OperationView".
Instead we need to add allow users to do something like:
new NamedOperation.Builder()
    .name("1-hop")
    .input(new EntitySeed("vertex1"))
    .parameter("maxCount", 10)
    .parameter("minStartDate", "01/01/2017")
    .build();

The "1-hop" named operation could have an operation defined similar to:
new GetElements.Builder()
                .view("redEdge", new ViewElementDefinition.Builder()
                        .preAggregationFilter(new ElementFilter.Builder()
                                .select("count")
                                .execute(new IsLessThan(${maxCount}))
                                .select("startDate")
                                .execute(new IsMoreThan(${minStartDate}))
                                .build())
                        .build()
                .build();

So named operations need to have custom parameters that will be resolved when it is executed. The parameters should also be able to have default values and a description.

Merged into develop


Add registrationLD command

This PR adds registrationLD command.

Coverage remained the same at 100.0% when pulling 0f2c995ce497e97c31470142ede3c44098c23710 on fisuda:feature/registrationLD into 4c16450e8111a50523f72a3299b344cf12bcb0cc on lets-fiware:main.


[Core] Implement DoT haste scaling for Cataclysm

Added a new APL to query the DoT frequency. This should allow for easy checks (Remaining Time < DoT Frequency) to allow re-applying DoTs without clipping them.
All player DoTs should be affected by haste and thus automatically be affected by the patch
The tick that gets carried over to the new dot also profits from the new snapshots - see sources in the commit

Todo

Further reasearch if all DoTs in general are affected by these changes or if there are exeptions and how HoTs behave

Dots by melee classes are not hasted iirc (dk for example)

Yeah I should have been more specific.
Right now this change applies to all DoTs that have AffectedByHaste set to true. So this should not be the case for DK or physical DoTs.
Albeit small, the total duration of the DoT that gets rebuffed is extended by the next tick time. I'm just unsure if this now applies to Melee DoTs like deep wounds. In WoTLK it would just refresh the duration and keep the tick timer form the last DoT without the total duration being extended, right?


Remove zaza utils

Removed all zaza_utils we have single file for all juju interaction.
Every juju operation works in async
utils/**  package unit tests not yet included
utils/**  package type checking ignored
includes the changes in #7

Left some points to be addressed.
I think this change is too big to also include the analyze part. I think we should split this PR with the changes from sync to async and then add the analyze part.

Yes it is a big change however analyze part is a single file addition, this will not make it easier to review if we separate it to a new mr.

These changes are now included at #12 with the removal of zaza_utils, turn the interaction with juju async and the analyze module.


Update config.ts

Added the word "easy" to ignore list.

lgtm!

Yes, I'm doing that!

lgtm!

Yes, I'm doing that!

Only easy is required for the config according to their docs

https://github.com/retextjs/retext-equality/blob/main/rules.md

Only easy is required for the config according to their docs

https://github.com/retextjs/retext-equality/blob/main/rules.md

Only easy is required for the config according to their docs

https://github.com/retextjs/retext-equality/blob/main/rules.md

Okay, thank you! I'm doing the required changes.

Only easy is required for the config according to their docs

https://github.com/retextjs/retext-equality/blob/main/rules.md

Okay, thank you! I'm doing the required changes.

Looks good 👍

Thank you!😀

Looks good 👍

Thank you!😀


Cannot open file in 2nd pane

Let's say I have only 1 file open in a pane. If I then go to the Obsidian file explorer, hover over another file, then hold Cmd (⌘) and click on it in order to open it in a 2nd pane next to the 1st one, it does not happen. What I do get is that a 2nd copy of the popover occurs over the 1st popover.
I also tried left-clicking the 2nd file to be open, but left-click is dead.

Check out https://github.com/nothingislost/obsidian-hover-editor/releases/tag/0.2.0. It should resolve this issue.

I have Hover Editor 0.1.2 installed via BRAT, but clicking on Check for updates in the plug-in settings does not update HE.

@HEmile thanks, that works. This is the 1st time I do it this way.


Sessions disappearing from UI

This happens when the open saved session mappingsstill contain the window ID so the extension still thinks the window is open. These mappings are pruned whenever the storage changes.

Duplicate of #102.


[6.0] Concurrency: Minor fixes for isolation checking

Description: Adding some new assertions on main exposed bugs where isolation checking was looking at captures before they were computed, or before they could be computed because the AST was not yet type checked. Other than doing repeated work from visiting children unnecessarily, the only real issue here was that if you had a closure nested inside of another closure inside a stored property initializer, we didn't diagnose non-Sendable captures in -swift-version 6 mode.
Scope of the issue: I discovered these problems myself while fixing on something else but it would've come up eventually.
Tested: There's a new test case that used to work but wasn't covered by existing tests (top-level computed property in script mode) and a test case that did not diagnose correctly (the nested closure in initializer thing).
Risk: Low.
Reviewed by: @hborla

@swift-ci Please test

@swift-ci Please test macOS


Forget password option

I could not see a forget password option, can you please implement it ?

You're right, thanks!
It will be added shortly.

Password reset has been implemented in https://github.com/delight-im/PHP-Auth/commit/f3ca69010fe83eeb6cebe3c514e7b43c2d961c68, https://github.com/delight-im/PHP-Auth/commit/53e1a5c1fc09a7315e41298dbc1a56b93731ea28 and https://github.com/delight-im/PHP-Auth/commit/31ae1357404e844a512be02b19c149626549f56a.
You might find the updated documentation helpful when using this feature: https://github.com/delight-im/PHP-Auth/commit/d527a82bfa434617a9b96525eac5e62621e27e91


Refactored npm package to retrieve state changes in hooks components and send them to Chrome extension

Description:

Refactored npm package to retrieve state changes in hooks components and send them to Chrome extension.

Changes I Made:

Refactored linkFiber.js to grab Fiber root through React DevTools instead of npm package. First step in transition out of using an npm package.
Fixed errors with hooks components states not being properly passed to extension.
Implemented an indexed structure in masterState.js to keep setState() and dispatch() functions for changing component states, and added indexes to snapshots to track them.
Refactored tree.js to simplify creation of state snapshots, and solved problems with creating streamable copies of functions and circular objects.
Refactored timeJump.js to use new index structure in masterState.js.

How to Test:

Extension works the same as previous versions, but now you should see hooks components states in tree chart.
Testing is needed for apps using setState components that load and unload the components.

MERGE:
Refactored npm package to retrieve state changes in hooks components and send them to Chrome extension #23


Redstone clock only ticks once

MC 1.12.2
Cyclic 1.9.13
Single player.
Maybe I misunderstand. But setting the clock to work on redstone signal and placing a lever on it. The clock only ticks once. It looks like it ticks visually but nothing happens. I have a dropper placed next to it and that only drops 1 item when I first turn the lever on.

I saw your situation when the clock and lever were all touching.  But if the clock is just in "always on" state, it works.
Also it works as shown here if i add some distance between them. Therefore I think the lever must be also powering the hopper indirectly, (sometimes redstone does weird things and powers things 2 blocks away.)

Good to know; I can work around that. Thnx.

I had the same issue with a harvester it seems (I therefore wrongly added a reply to #580). Placing a lever directly on a harvester also disables the hopper underneath it. I haven't tried it yet; but I am hoping I can resolve this using the new wireless transmitter/receiver blocks (awesome additions btw).


Syntax Requires Change

I installed this package to work with my Jekyll projects, and was quite impressed. However, for any syntax other than Markdown, it seems I have to change it first to Markdown Extended. Is there any workaround for this?
Before

After

I find it quite confusing as to why I must change the syntax of my HTML file to Markdown Extended to make this wonderful package work.
Thanks in advance!

HTML isn't one of the default extensions for this package. To do what you want, do this:
view > syntax > Open all with extension as > Markdown extended


barline missing, alter and accidentals doesnt include arabic quarter notes

hello,, i have notice the barline is not included.. and the quarter notes will raise an exception since its alter value is double and the alter type in the parser is int.
i modified the code.. how i can upload the modifications here ?

sorry,, if forgot to say congrats for the nice work.. it is really nice library. thx

Hi @ahmedabuomar, send me a pull request

You can find documentation here : https://help.github.com/articles/creating-a-pull-request/

Hi @vdaron, sorry for being late. I will make a pull request now.

Hi @ahmedabuomar , I do not see any pull request... sorry


Move API to v1beta1

E-Z review

LGTM.

I am merging this in order to cut the 0.1.0-rc1 release, per our consensus in the October 9, 2017 SIG call.


Broken on open

When opening GriddyCode the window does not have the minimize, window, and close buttons. Nothing loads and music does not play.
To reproduce, I guess just open the program.....
I expected for the program to open and run normally

OS - Windows
Version - 11 22H2

The buttons were removed, it’s not a bug that they don’t exist.
You have to turn on the music in GriddyCode settings.

Could you run the program via the command line? I.e. "./GriddyCode.exe"

Me too but now is fixed

Closing as it's probably <v1.0.4

Closing as it's probably <v1.0.4
It is the version available at the time of issue opening,
It does say debug though, I don't know if that has anything to do with it.

Could you share a picture of your settings? The version should be there


Fix uploading large files

Why
Large files fail to upload from strapi to cloudflare images because they exceeded maxBodyLength:
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Error [ERR_FR_MAX_BODY_LENGTH_EXCEEDED]: Request body larger than maxBodyLength limit

How

update axios to latest ^1.4.0
use newer axios' detection of multipart/form-data to facilitate uploading large files
remove dependencies on form-data and stream
implement strapi plugins' uploadStream callback

@sanjay-io any chance we could get this merged? :)

ah, yes, thanks for the nudge @0xsven, will review and cut off a release later today.

@exchgr @0xsven should see the changes in version 4.2.0, sorry for the delay by a day!

woo, thank you very much!


Adding example and documentation for a full sized rootfs.

We have some work that requires a more complete boot image than minbase provides. By changing the variant line into a variable, those wanting a standard distribution can do so. I put an example command commented out for reference.

Does it make more sense to always generate and include in the bintray push structures?

That would be great for us. I was thinking there might be some reluctance to include it on every build for the project.
It would be a trivial push on my end to make it built by default.

:+1:  from me

my thought process would be: always build it so 1) there is a canonical 'build' for general use that includes both, 2) there is less chance of rot in the unbuilt images. Then, if someone is consuming the technology and wants to optimize and remove stuff they don't need, they can do so in their own build space.
My thoughts only though, though I can say I've spent way more wasted hours trying to track down/fix bit rot and "where DID this binary come from" than waiting for on image builder :)

I will send an update with it automatically built.

PR now is setup so that a full rootfs/squashfs would be built alongside the minbase one.


MyEnv has no attribute config on development

Resolves: https://github.com/threefoldtech/jumpscaleX/issues/602
Description
fix type object 'MyEnv' has no attribute 'config' for installer on developemt
that was caused by calling config before setting it

Added path to _generate to generate for module-install:
https://github.com/threefoldtech/jumpscaleX/pull/650/commits/4c21dd980b34bbe11d64b0652a9b6abe136ed27e


Phase emission

Added another StateDistribution as we discussed in the meeting. In figure 6, made a new function for plotting, but commented it out, so now it is the default. If you think it is ok we could merge it now, and after merging Shakthi's branch of figures, made the changes to it.

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

In the file lineage/Analyze.py:

Line 74:1: E265 block comment should start with '# '
Line 87:80: E501 line too long (104 > 79 characters)
Line 88:80: E501 line too long (116 > 79 characters)
Line 89:80: E501 line too long (104 > 79 characters)
Line 90:80: E501 line too long (116 > 79 characters)
Line 98:80: E501 line too long (106 > 79 characters)
Line 112:26: W292 no newline at end of file

In the file lineage/LineageTree.py:

Line 61:13: E122 continuation line missing indentation or outdented
Line 62:13: E122 continuation line missing indentation or outdented
Line 63:13: E122 continuation line missing indentation or outdented
Line 63:80: E501 line too long (87 > 79 characters)
Line 70:13: E122 continuation line missing indentation or outdented
Line 71:13: E122 continuation line missing indentation or outdented
Line 72:13: E122 continuation line missing indentation or outdented
Line 72:80: E501 line too long (96 > 79 characters)
Line 73:80: E501 line too long (85 > 79 characters)
Line 74:80: E501 line too long (85 > 79 characters)
Line 108:1: W293 blank line contains whitespace
Line 109:38: W291 trailing whitespace
Line 110:25: E701 multiple statements on one line (colon)
Line 111:13: E701 multiple statements on one line (colon)

In the file lineage/StateDistribution.py:

Line 149:24: W292 no newline at end of file

In the file lineage/StateDistribution2.py:

Line 1:80: E501 line too long (122 > 79 characters)
Line 8:80: E501 line too long (152 > 79 characters)
Line 9:80: E501 line too long (186 > 79 characters)
Line 19:80: E501 line too long (137 > 79 characters)
Line 20:80: E501 line too long (136 > 79 characters)
Line 22:80: E501 line too long (87 > 79 characters)
Line 23:80: E501 line too long (89 > 79 characters)
Line 24:80: E501 line too long (89 > 79 characters)
Line 26:80: E501 line too long (116 > 79 characters)
Line 27:80: E501 line too long (82 > 79 characters)
Line 31:80: E501 line too long (86 > 79 characters)
Line 32:80: E501 line too long (99 > 79 characters)
Line 33:80: E501 line too long (113 > 79 characters)
Line 34:80: E501 line too long (115 > 79 characters)
Line 35:80: E501 line too long (109 > 79 characters)
Line 36:80: E501 line too long (114 > 79 characters)
Line 37:80: E501 line too long (120 > 79 characters)
Line 40:80: E501 line too long (92 > 79 characters)
Line 41:80: E501 line too long (119 > 79 characters)
Line 43:80: E501 line too long (178 > 79 characters)
Line 43:179: W291 trailing whitespace
Line 44:80: E501 line too long (136 > 79 characters)
Line 46:80: E501 line too long (105 > 79 characters)
Line 54:80: E501 line too long (127 > 79 characters)
Line 74:9: E303 too many blank lines (2)
Line 76:57: E251 unexpected spaces around keyword / parameter equals
Line 76:59: E251 unexpected spaces around keyword / parameter equals
Line 77:61: E251 unexpected spaces around keyword / parameter equals
Line 77:63: E251 unexpected spaces around keyword / parameter equals
Line 77:80: E501 line too long (85 > 79 characters)
Line 78:57: E251 unexpected spaces around keyword / parameter equals
Line 78:59: E251 unexpected spaces around keyword / parameter equals
Line 79:61: E251 unexpected spaces around keyword / parameter equals
Line 79:63: E251 unexpected spaces around keyword / parameter equals
Line 79:80: E501 line too long (85 > 79 characters)
Line 82:80: E501 line too long (115 > 79 characters)
Line 83:80: E501 line too long (112 > 79 characters)
Line 88:80: E501 line too long (156 > 79 characters)
Line 92:80: E501 line too long (89 > 79 characters)
Line 107:80: E501 line too long (114 > 79 characters)
Line 108:80: E501 line too long (127 > 79 characters)
Line 109:80: E501 line too long (128 > 79 characters)
Line 114:80: E501 line too long (132 > 79 characters)
Line 128:80: E501 line too long (135 > 79 characters)
Line 138:80: E501 line too long (83 > 79 characters)
Line 148:80: E501 line too long (118 > 79 characters)
Line 152:5: E265 block comment should start with '# '
Line 157:80: E501 line too long (101 > 79 characters)
Line 159:80: E501 line too long (95 > 79 characters)
Line 163:80: E501 line too long (105 > 79 characters)

In the file lineage/figures/figure6.py:

Line 23:5: E303 too many blank lines (2)
Line 23:80: E501 line too long (263 > 79 characters)
Line 24:80: E501 line too long (252 > 79 characters)
Line 26:80: E501 line too long (422 > 79 characters)
Line 28:80: E501 line too long (411 > 79 characters)
Line 36:80: E501 line too long (126 > 79 characters)
Line 60:1: W293 blank line contains whitespace
Line 63:1: W293 blank line contains whitespace
Line 78:80: E501 line too long (104 > 79 characters)
Line 84:1: W293 blank line contains whitespace
Line 85:80: E501 line too long (104 > 79 characters)
Line 90:1: W293 blank line contains whitespace
Line 94:1: W293 blank line contains whitespace
Line 124:80: E501 line too long (241 > 79 characters)
Line 127:1: E265 block comment should start with '# '
Line 130:80: E501 line too long (125 > 79 characters)
Line 155:80: E501 line too long (107 > 79 characters)
Line 156:80: E501 line too long (107 > 79 characters)
Line 182:80: E501 line too long (104 > 79 characters)
Line 187:1: W293 blank line contains whitespace
Line 192:49: E261 at least two spaces before inline comment
Line 193:51: E261 at least two spaces before inline comment
Line 237:80: E501 line too long (397 > 79 characters)
Line 241:1: E303 too many blank lines (3)
Line 241:80: E501 line too long (253 > 79 characters)
Line 248:80: E501 line too long (98 > 79 characters)
Line 258:80: E501 line too long (97 > 79 characters)
Line 259:80: E501 line too long (95 > 79 characters)
Line 270:80: E501 line too long (97 > 79 characters)
Line 271:80: E501 line too long (95 > 79 characters)
Line 282:80: E501 line too long (97 > 79 characters)
Line 283:80: E501 line too long (95 > 79 characters)
Line 294:80: E501 line too long (94 > 79 characters)
Line 304:80: E501 line too long (93 > 79 characters)
Line 305:80: E501 line too long (91 > 79 characters)
Line 316:80: E501 line too long (93 > 79 characters)
Line 317:80: E501 line too long (91 > 79 characters)
Line 328:80: E501 line too long (93 > 79 characters)
Line 329:80: E501 line too long (91 > 79 characters)
Line 338:1: E265 block comment should start with '# '
Line 340:80: E501 line too long (410 > 79 characters)
Line 347:80: E501 line too long (98 > 79 characters)
Line 348:80: E501 line too long (124 > 79 characters)
Line 351:80: E501 line too long (80 > 79 characters)
Line 357:80: E501 line too long (97 > 79 characters)
Line 358:80: E501 line too long (95 > 79 characters)
Line 360:80: E501 line too long (98 > 79 characters)
Line 361:80: E501 line too long (98 > 79 characters)
Line 363:80: E501 line too long (80 > 79 characters)
Line 366:80: E501 line too long (154 > 79 characters)
Line 369:80: E501 line too long (100 > 79 characters)
Line 370:80: E501 line too long (98 > 79 characters)
Line 371:80: E501 line too long (100 > 79 characters)
Line 372:80: E501 line too long (98 > 79 characters)
Line 374:80: E501 line too long (101 > 79 characters)
Line 375:80: E501 line too long (101 > 79 characters)
Line 376:80: E501 line too long (101 > 79 characters)
Line 377:80: E501 line too long (101 > 79 characters)
Line 379:80: E501 line too long (80 > 79 characters)
Line 382:80: E501 line too long (170 > 79 characters)
Line 385:80: E501 line too long (100 > 79 characters)
Line 386:80: E501 line too long (98 > 79 characters)
Line 387:80: E501 line too long (100 > 79 characters)
Line 388:80: E501 line too long (98 > 79 characters)
Line 390:80: E501 line too long (105 > 79 characters)
Line 391:80: E501 line too long (105 > 79 characters)
Line 393:80: E501 line too long (80 > 79 characters)
Line 399:80: E501 line too long (94 > 79 characters)
Line 400:80: E501 line too long (124 > 79 characters)
Line 403:80: E501 line too long (80 > 79 characters)
Line 409:80: E501 line too long (93 > 79 characters)
Line 410:80: E501 line too long (91 > 79 characters)
Line 412:80: E501 line too long (98 > 79 characters)
Line 413:80: E501 line too long (98 > 79 characters)
Line 415:80: E501 line too long (80 > 79 characters)
Line 418:80: E501 line too long (146 > 79 characters)
Line 421:80: E501 line too long (96 > 79 characters)
Line 422:80: E501 line too long (94 > 79 characters)
Line 423:80: E501 line too long (96 > 79 characters)
Line 424:80: E501 line too long (94 > 79 characters)
Line 426:80: E501 line too long (101 > 79 characters)
Line 427:80: E501 line too long (101 > 79 characters)
Line 428:80: E501 line too long (101 > 79 characters)
Line 429:80: E501 line too long (101 > 79 characters)
Line 431:80: E501 line too long (80 > 79 characters)
Line 434:80: E501 line too long (162 > 79 characters)
Line 437:80: E501 line too long (96 > 79 characters)
Line 438:80: E501 line too long (94 > 79 characters)
Line 439:80: E501 line too long (96 > 79 characters)
Line 440:80: E501 line too long (94 > 79 characters)
Line 442:80: E501 line too long (105 > 79 characters)
Line 443:80: E501 line too long (105 > 79 characters)
Line 445:80: E501 line too long (80 > 79 characters)
Line 446:45: W292 no newline at end of file

In the file lineage/figures/figure7.py:

Line 22:80: E501 line too long (266 > 79 characters)
Line 23:80: E501 line too long (252 > 79 characters)
Line 30:80: E501 line too long (126 > 79 characters)
Line 54:1: W293 blank line contains whitespace
Line 56:32: E231 missing whitespace after ','
Line 57:1: W293 blank line contains whitespace
Line 60:1: W293 blank line contains whitespace
Line 66:80: E501 line too long (92 > 79 characters)
Line 68:80: E501 line too long (96 > 79 characters)
Line 71:1: W293 blank line contains whitespace
Line 72:80: E501 line too long (108 > 79 characters)
Line 78:1: W293 blank line contains whitespace
Line 94:1: W293 blank line contains whitespace
Line 99:1: W293 blank line contains whitespace
Line 103:1: W293 blank line contains whitespace
Line 105:80: E501 line too long (102 > 79 characters)
Line 106:80: E501 line too long (96 > 79 characters)
Line 107:1: W293 blank line contains whitespace
Line 111:1: W293 blank line contains whitespace
Line 113:53: E231 missing whitespace after ','
Line 113:80: E501 line too long (113 > 79 characters)
Line 113:84: E231 missing whitespace after ','
Line 114:53: E231 missing whitespace after ','
Line 114:80: E501 line too long (111 > 79 characters)
Line 114:84: E231 missing whitespace after ','
Line 115:1: W293 blank line contains whitespace
Line 143:80: E501 line too long (241 > 79 characters)
Line 146:80: E501 line too long (253 > 79 characters)
Line 153:80: E501 line too long (98 > 79 characters)
Line 163:80: E501 line too long (97 > 79 characters)
Line 164:80: E501 line too long (95 > 79 characters)
Line 166:80: E501 line too long (98 > 79 characters)
Line 167:80: E501 line too long (98 > 79 characters)
Line 175:80: E501 line too long (97 > 79 characters)
Line 176:80: E501 line too long (95 > 79 characters)
Line 178:80: E501 line too long (99 > 79 characters)
Line 179:80: E501 line too long (99 > 79 characters)
Line 187:80: E501 line too long (97 > 79 characters)
Line 188:80: E501 line too long (95 > 79 characters)
Line 190:80: E501 line too long (103 > 79 characters)
Line 191:80: E501 line too long (103 > 79 characters)
Line 199:80: E501 line too long (94 > 79 characters)
Line 209:80: E501 line too long (93 > 79 characters)
Line 210:80: E501 line too long (91 > 79 characters)
Line 212:80: E501 line too long (98 > 79 characters)
Line 213:80: E501 line too long (98 > 79 characters)
Line 221:80: E501 line too long (93 > 79 characters)
Line 222:80: E501 line too long (91 > 79 characters)
Line 224:80: E501 line too long (99 > 79 characters)
Line 225:80: E501 line too long (99 > 79 characters)
Line 233:80: E501 line too long (93 > 79 characters)
Line 234:80: E501 line too long (91 > 79 characters)
Line 236:80: E501 line too long (103 > 79 characters)
Line 237:80: E501 line too long (103 > 79 characters)


Grading scale detail view

In the grading scale you have bars representing how many students got which amount of points.
It would be convenient if you click on a bar that it shows you which student correspond to that bar.

Please take a swing @amelsmajic


Financial Connections implementation

Is your feature request related to a problem? Please describe.
We got a feature request in the Flutter Stripe repo for the  Collect a Financial Connections account flow. Are there any plans to implement this?

@charliecruzan-stripe is this something that will be released soon?

Hi! Yes, we're planning on prioritizing this over the next couple weeks


fix broken link into MD repo, minor typo fixes

The broken link was my fault, due to reorganization of the MD repo a few months ago.  Fixed.

Thanks for keeping an eye out!


Update Genome assembly quality control (update 2)

Changes to be made after proofreading by Christophe Klopp and Delphine Naquin:

[x] Slide 7: introduce L50 in addition to N50, talk about contig size distribution
[x] Slide 21: missing realignment of sequences on contigs to check that no pieces are missing. You can also look at the coverage along the contigs to see if there are areas that are more or less covered, indicating areas in multiple copies in the sequences but not in the assembly.

Let me know when the proofreading is done and I can merge :)

It's done, thanks :)


Graphics issues on 4K monitor

For starters:
I did get this to work on a Thinkpad X1 laptop.  Awesome!
On my desktop:
Linux Mint 20
GPU: NVIDIA GP106 [GeForce GTX 1060 6GB]
Wine 8.0
Direct X 9 enabled
Fusion 360 will run, but the interface is too small to be usable.  The data panel works, but menus like file open do not - they just flash and then disappear.
Additionally, when exiting Fusion 360, around a dozen Windows processes are left open on the system.    I'm  not sure if that is related or not (and it's something I can live with if it means running F360 natively!).
I have set the HiDPI mode on F360, it doesn't seem to have any effect.
If I try to change the Wine DPI setting, it does fix the UI scaling issues but the data panel won't load, making it impossible to open projects (since the menu dialogs like file open don't work either).
I have HiDPI set in Mint's settings: Mint really struggles without it on a 4K screen.  I did try various combinations of resolutions, fractional scaling, and disable HiDPI scaling, but nothing seems to help.
Any ideas or things I can try?

Here it is with Wine's DPI scaling turned up.  The grey space on the left is where the data panel should be.

Also tried with OpenGL - the UI is completely br

OK more notes:  I was on the Nvidia 470 driver, which is definitely not supported here.
I updated to the 525 driver.  It isn't perfect, but it's a huge improvement.  The file open dialog is working, and the data panel is functional (barely, but enough to scrape by).
If anyone has any tips to clean up the remaining glitches, I'm happy to try them out.  But I've got enough functionality working now to do what I need to do (and this is so much better than running in a VM I almost can't believe it!).  Feel free to close if you wish!

I find I need to go to the open menu twice to get a dialog box to pop up. Don't know why but it does open after that.

So my 4k monitor is supported under Autodesk Fusion in Wine if you make the following adjustments in Wine:


simps integrater does allos unordered x without warning

The simpson integrater does allow unorderd x, however there's no warning that these are not handled correctly.
`from scipy.integrate import simps
print(simps([1,3,2], [1,3,2]))
print(simps([1,2,3], [1,2,3]))`
These give two different results, while according to (my interpretation of the) description they should agrre. So please either change the description and/or throw an error/warning or handle this appropriately (with probably throwing an additional warning).

This is another situation where it's worth having a small util function somewhere to see if an array is (strictly) monotonic


Bug fixes for issue #544 discussion

These are bug fixes for the issues raised in the discussion at https://github.com/ipython/ipywidgets/issues/544
cc: @SylvainCorlay @jasongrout

Thanks!