The keyboard of other apps affected the flutter app

When I use the keyboard from another app, it affects my flutter app, so far only found on the iPhoneX physical device. This happens with SingleChildScrollView as well as any ListView.

Video

https://user-images.githubusercontent.com/32004335/202367311-1c3747f4-f036-4e6f-aec5-fbcd76302fad.MP4

Code Sample

Scaffold(
      body: Flex(
      direction: Axis.vertical,
      children: <Widget>[
        Expanded(
          child: Container(
            child: Stack(
              children: <Widget>[
                SingleChildScrollView(
                   child: Column(
                         children: <Widget>[
                              ...
                         ],
                   ),
                 )
              ],
            ),
          ),
        ),
      ],
    ),
);

flutter doctor -v

! Doctor found issues in 1 category.
[✓] Flutter (Channel stable, 3.3.5, on macOS 13.0 22A380 darwin-x64, locale zh-Hans-CN)
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d9111f6402 (4 weeks ago), 2022-10-19 12:27:13 -0700
    • Engine revision 3ad69d7be3
    • Dart version 2.18.2
    • DevTools version 2.15.0
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Platform android-33, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    ! CocoaPods 1.10.1 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

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

[✓] Android Studio (version 2021.3)
    • 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.13+0-b1751.21-8125866)

[✓] 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)

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

[✓] VS Code (version 1.73.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • iPhoneX • xxxxxxxxx • ios            • iOS 12.2 16E227
    • macOS (desktop)      • macos                                    • darwin-x64     • macOS 13.0 22A380 darwin-x64
    • Chrome (web)         • chrome                                   • web-javascript • Google Chrome 107.0.5304.110

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

Hi @islinjj, please provide a completed and minimal reproducible code sample so that we may verify this.
Also, the latest Flutter stable is 3.3.8 and the master is 3.6.0. Please try upgrading them and retry to see if this issue still reproduces. Thank you!

Hi @islinjj, please provide a completed and minimal reproducible code sample so that we may verify this. Also, the latest Flutter stable is 3.3.8 and the master is 3.6.0. Please try upgrading them and retry to see if this issue still reproduces. Thank you!

Hi @huycozy , I tried versions 3.3.8 and 3.6.0 and had the same problem.
class TestPage extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => _TestPageState();
}

class _TestPageState extends State<TestPage> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Flex(
        direction: Axis.vertical,
        children: <Widget>[
          Expanded(
            child: Stack(
              children: <Widget>[
                SingleChildScrollView(
                  child: Column(
                    children: <Widget>[
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                      _buildTest(),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }

  Widget _buildTest() {
    return Padding(
      padding: const EdgeInsets.only(bottom: 10.0),
      child: Container(
        padding: const EdgeInsets.symmetric(horizontal: 15.0, vertical: 12.0),
        color: Colors.white,
        child: Container(
          child: Row(
            children: <Widget>[
              Container(
                height: 19,
                child: const VerticalDivider(
                  width: 5.0,
                  thickness: 5.0,
                  color: Colors.green,
                ),
              ),
              Expanded(
                child: Container(
                  padding: const EdgeInsets.only(left: 10.0),
                  child: Text(
                      'test',
                      overflow: TextOverflow.ellipsis,
                      style: AppFontStyle().body1().regular),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

@islinjj thanks for testing on Flutter versions. But I can not reproduce this issue on my devices:

iPhone 14 Pro Max, iOS 16.0 (emulator)
iPhone 7, iOS 15.7

Maybe the issue only reproduces on specific devices or specific OS versions.
Also, I find there is an open issue that looks similar to this: #53565. Please take a look at https://github.com/flutter/flutter/issues/53565#issuecomment-606436854. And it seems to be happening on iOS below 14 (https://github.com/flutter/flutter/issues/53565#issuecomment-673449124). Can you retry on another device/iOS version to see if the issue still persists?

@huycozy , So far, I've only found it on the iPhone X, which OS version 12.2

Hi @islinjj, does this issue happen on the Flutter default sample project (counter app)? Or is it only reproducible with app containing a scrolling view?

Hi huycozy, this happens even if you are not using a scrolling view. So I think it will happen on the flutter default sample project.

在 2022年11月19日，上午12:09，huycozy @.***> 写道：

Hi @islinjj, does this issue happen on the Flutter default sample project (counter app)? Or is it only reproducible with app containing a scrolling view?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Hi @huycozy, I tried the Flutter default sample project, which also had problems, so I think it not only reproducible with app containing a scrolling view.

@islinjj thanks for confirming. My colleague with his iPhone XS (iOS 16.0) also cannot reproduce this issue. Maybe the issue only occurs on OS version 12.2.
Labeling this issue for further investigation from the team.
May be related/similar: #53565

@huycozy, it is similar to #53565. But no solution now.

@vashworth this seems related to the keyboard task you are working on?

Perhaps we should ignore the keyboard dismissal completion callback if we didn't see a begin callback (that would have happened when another application was in the foreground)?

Interesting idea. Though for add-to-app, flutter may not receive the "begin" if engine is not setup yet.

This does seem related to my keyboard task. I will add it to my fix list.


Functions: Add Functions extension

it will take another 6 months to merge :trollface:

This extension is buggy in interpreter. It is because of wrong usage of stackFrame and util.yield().

it will take another 6 months to merge :trollface:

why

it will take another 6 months to merge :trollface:

7*

it will take another 6 months to merge :trollface:

why

if you know, you know

Closing PR:

Unreliable with clones
Doesn't work reliably in the interpreter
I'd much rather just use global custom reporters/blocks, in the very distant future


Update package.json

Summary
We moved the package.json into the utils folder but one yarn command still had a path with /utils which caused the action to break

👏

the support labels issue is because we moved the package.json at one point but the file path to the script didnt get updated, @LizBaker fixed it. 🥳


support users who don't want to use vscode

This is going to be easier than I thought!
https://containers.dev/supporting#devcontainer-cli
@coretl I just found this and it looks promising

Do we use any of the extras for the dev container?
This allows us to maintain those in a single place and be nice and DRY.

fair enough, should we also run CI using this too?

Where CI does run up a generic IOC container it does not run it as a devcontainer. It will run the runtime mode and use an ec command to do so - therefore we don't need this for CI (thankfully)


update git workflows to only include go versions still supported

Spotted that all the go versions that we are including in the git workflows are old and no longer going to be supported with new releases, I've updated the list of go-versions in the workflows to just feature 1.17.x and 1.18.x

We should probably update the go.mod version to a more recent version of golang as well while we're at it. go1.18.3 is the latest.

@toddgaunt-gs - done!


Could you please share the pre-trained model ?

Hey @CaptainEven ,
Thank you! for your great contribution. I'm trying your FairMOTVehicle code and the model is training.
Could you please share the pre-trained model for this repo?

@hardik0 A pre-trained model of MCMOT with backbone HRNet18(bilinear up-sample replaced with deconv) is published in readme.


Shoot failed to be created waiting ingress LB to be ready

How to categorize this issue?

/area quality
/kind bug
/priority normal
What happened:
Sometimes, shoots with enabled ingress addon failed to be created because the respective LB service does not get public IP because there is no nodes in the cluster. This behavior depends on the cloud provider, for example it is observable on GCP, for
What you expected to happen:
The shoot to be successfully created.
How to reproduce it (as minimally and precisely as possible):
Create a GCP shoot with ingress addon enabled.
Anything else we need to know?:
Environment:

Gardener version: v1.7.1
Kubernetes version (use kubectl version):
Cloud provider or hardware configuration: gcp
Others:

/assign

The logs from the cloud controller manager
I0717 10:54:38.238981       1 service_controller.go:350] Ensuring load balancer for service kube-system/addons-nginx-ingress-controller
I0717 10:54:38.239509       1 event.go:274] Event(v1.ObjectReference{Kind:"Service", Namespace:"kube-system", Name:"addons-nginx-ingress-controller", UID:"5227875b-dea6-4af8-a441-670f06e598ae", APIVersion:"v1", ResourceVersion:"644", FieldPath:""}): type: 'Normal' reason: 'EnsuringLoadBalancer' Ensuring load balancer
I0717 10:54:38.239546       1 event.go:274] Event(v1.ObjectReference{Kind:"Service", Namespace:"kube-system", Name:"addons-nginx-ingress-controller", UID:"5227875b-dea6-4af8-a441-670f06e598ae", APIVersion:"v1", ResourceVersion:"644", FieldPath:""}): type: 'Warning' reason: 'UnAvailableLoadBalancer' There are no available nodes for LoadBalancer
E0717 10:54:38.550543       1 gce_loadbalancer.go:156] Failed to EnsureLoadBalancer(shoot--lfoo--bar, kube-system, addons-nginx-ingress-controller, a5227875bdea64af8a441670f06e598a, europe-west1), err: cannot EnsureLoadBalancer() with no hosts
E0717 10:54:38.550618       1 service_controller.go:255] error processing service kube-system/addons-nginx-ingress-controller (will retry): failed to ensure load balancer: cannot EnsureLoadBalancer() with no hosts
I0717 10:54:38.550756       1 event.go:274] Event(v1.ObjectReference{Kind:"Service", Namespace:"kube-system", Name:"addons-nginx-ingress-controller", UID:"5227875b-dea6-4af8-a441-670f06e598ae", APIVersion:"v1", ResourceVersion:"644", FieldPath:""}): type: 'Warning' reason: 'SyncLoadBalancerFailed' Error syncing load balancer: failed to ensure load balancer: cannot EnsureLoadBalancer() with no hosts
I0717 10:55:58.550929       1 service_controller.go:350] Ensuring load balancer for service kube-system/addons-nginx-ingress-controller
I0717 10:55:58.551424       1 event.go:274] Event(v1.ObjectReference{Kind:"Service", Namespace:"kube-system", Name:"addons-nginx-ingress-controller", UID:"5227875b-dea6-4af8-a441-670f06e598ae", APIVersion:"v1", ResourceVersion:"644", FieldPath:""}): type: 'Normal' reason: 'EnsuringLoadBalancer' Ensuring load balancer


Question - HD textures

Hello,
Please keep following the project! It looks very good. 😊
I hope the project doesn't fall asleep and maybe other developers will join.
I am really unhappy about the state of VCMI. 😕
Do you think it will be possible to load higher resolution textures (from the official HD) in the future?
So a kind of texture pack support. Textures that are not available in high resolution can either be added by fans or scaled up using xBRZ, for example.
To create the hd version that Heroes III really deserves.
Unfortunately my c/c++ skills are not sufficient to assist in a game development.

Do you think it will be possible to load higher resolution textures (from the official HD) in the future?

yeah, I did such an experiment: created 4x upscaled Titan sprite with NN, and set 200% Windows scale. It worked just fine (did not check how it well scales/perfomance).
So, in short, it already ready for hidpi for battle window.
But, it do not automagically will use hidpi in every UI element, so still a lot of work to do (I at least want to double resolution eveywhere work fine).
And yet, that was all about technical answer.
I'm not sure if I support importing textures from Ubi HD, if that also bring new copyright challenges.

Unfortunately my c/c++ skills are not sufficient to assist in a game development.

I do not need new C++ developers right now, I need more testers/motivators, who write me and ask:
"Hey! Where are new features? When battle features all finihsed? when you start adventure map? I'm waitiing" and so on :)

I hope the project doesn't fall asleep and maybe other developers will join.

I hope too. I was stale for an year (I have some personal issues). Now I work on it VERY partial-time (like, 1 day/month). Current goal - finish all game mechanics related to battle (won't return again except gazillion bugfixes in the future).
After that - continue work ion adventure map (at this point it only my local branch with only hero sprite moving and that's it)

Also , looks like you from German, right? I also would appreciate translations contribution ;)

I have updated my bio text, added Discord-id there, if you wish to ask something more, you're always welcome to ask in person!

Hey! Where are new features? 😀
A possibility to activate hidpi in the future would be great. But i think there are more important things first. 😀
Actually, in terms of copyright, it shouldn't make any difference whether the end user extracts the files from Heroes III Complete or Heroes III HD. The rights are held by UBI anyway.
Yes, of course i would support a german translation. but it would be best to do it when there are not so many changes in the texts for the time being.

Yes, of course i would support a german translation. but it would be best to do it when there are not so many changes in the texts for the time being.

No problem. Also, I understand lack of motivation to do so in half-finished (ok, 5%-finished tbh) project.
Just to clarify - I don't think there is any reason to wait for translation of game objects (units etc) - they won't change anyway. If there will be format file change for translation - it's only developer problem.
At least I would appreciate to test things - add a few lines here and there and look if there are any problems.
You know, German have longer lines in average than Russian and English - so it's a common problem to have text crop wherever it goes.
Besides, thanks again for your interest, that motivates me to spent more that 1day/1month for this project. I hope.


How to initialize parameter of mx.sym.RNN in Orthogonal mode?

mx.sym.RNN accepts one single parameter vector then passes it to CuDNN's RNN interface. It's unclear that which parts of this vector correspond to those weights and biases in RNN. Neither MXNet nor CuDNN's documents provide a hint to the layout of this vector. So how could I apply orthogonal initialization to the RNN's weights?

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Added option to use AWS bundled ca cert Fixes #171

Coverage increased (+0.003%) to 97.338% when pulling a49118f7d8cadd0df387e6d8a569228e636e8600 on mattgartman:cert-bundle-fix into 8bc38354848de3373fbdb2180914473359280b7b on dtan4:master.

Coverage increased (+0.003%) to 97.338% when pulling f9e7d91d98739f11ce5fb706cf3aafb3c7e16f61 on mattgartman:cert-bundle-fix into 8bc38354848de3373fbdb2180914473359280b7b on dtan4:master.

Sorry for late review 🙇 IMO aws- prefix is unnecessary, the same as region, profile.

Coverage decreased (-0.9%) to 96.42% when pulling ffad1a61e0d0e49a51ff100c995fadcc85fafed3 on mattgartman:cert-bundle-fix into 8bc38354848de3373fbdb2180914473359280b7b on dtan4:master.

ugh was working on another branch to add lambda support, must have committed to the wrong branch.

Coverage increased (+0.01%) to 97.347% when pulling b4e24b383e1e6655c5af4ac41e4d6aa382c880c0 on mattgartman:cert-bundle-fix into 8bc38354848de3373fbdb2180914473359280b7b on dtan4:master.

ok, all better.. removed aws- prefix..

Coverage increased (+0.01%) to 97.347% when pulling e76583051cb5c84e36de599aa51b95e87f440433 on mattgartman:cert-bundle-fix into 8bc38354848de3373fbdb2180914473359280b7b on dtan4:master.

Just one more thing, please update README. There is still --aws-use-bundled-cert.

Coverage increased (+0.01%) to 97.347% when pulling 2a17a6fc0e30f6a6d021773dd9b60f4e90b794c0 on mattgartman:cert-bundle-fix into 8bc38354848de3373fbdb2180914473359280b7b on dtan4:master.

Coverage increased (+0.01%) to 97.347% when pulling 21f027fafe63d6f25e2ede432ddfbc903ab7af73 on mattgartman:cert-bundle-fix into 8bc38354848de3373fbdb2180914473359280b7b on dtan4:master.

LGTM 👍 Thanks ❗

Thanks @dtan4!  Sorry for making you triple check this.

No problem 👌 ❗


Set Max Token for Generation Using Graph functionality

Describe your problem
How can I allow for more tokens when generating a response for example when using GPT-4o using the graph flow functionality?

Disable max_token in 'Generate' settings, otherwise, optimize prompt.


This plugins will black you mqtt client message function...

For example, if you try webhook server slow responses the result needs 1 sec.
The all client push data or any of event action will slow more 1 sec.
Please refactored this plugin as a none-block. or no waiting.....

Hi, @SDpower we will check it later. Thanks for your feedback!

Same problem here. Is this issue fixed already?
When looking at the traffic in Wireshark, the POST requests are delayed and the timing offset will keep increasing.

Same problem here. Is this issue fixed already?
When looking at the traffic in Wireshark, the POST requests are delayed and the timing offset will keep increasing.

No, I think there focus on rule service.

@SDpower is this trivial solution? Just asking I am not familiar with erlang.


customerCreation -> ifRequired throws error in Stripe dashboard

When creating a session with customerCreation -> ifRequired
let session = try await req.stripe.sessions.create(
                                                           ...
                                                           customerCreation: SessionCustomerCreation.ifRequired,
                                                           ...
                                                           expand: nil)

Stripe dashboard logs show the following:
invalid_request_error - customer_creation
Invalid customer_creation: must be one of if_required or always

I guess it expects a string like if_required and not ifRequired (like in SessionPaymentMethodCollection.ifRequired)

@leonidas-o See #217


feat: add features: filter and fold

Added breaking changes, which are not necessarily desired:

Maybe from is always nullable
Maybe#map is the same as .chain(x => fromNullable(fn(x)))
Added fold/match to Maybe
Added filter to Maybe

This is NOT ready to merge, and if it's in the right direction, will continue working on it (just didn't want to waste time if it's  a no-go)

The PR looks really great. But, could I ask you to split it on the several PRs feature-by-feature? Because, some of the features I would like to merge right now, and some of them I would like to discuss.


the Wrong word

"Verison 1.1" should be "Version 1.1"

I think this can be closed. GitHub search does not reveal any string matching Verison in this project: https://github.com/search?utf8=✓&q=org%3AEOSIO+Verison&type=

Agreed, my recursive grep against the repo didn't yield anything either.


Banbye support

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS>. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and am willing to share it if required

Region
Europe
Example URLs
https://banbye.com/watch/v_ytfmvkVYLE8T
Description
New popular video site, unsupported yet
Verbose log
./yt-dlp https://banbye.com/watch/v_ytfmvkVYLE8T
[generic] v_ytfmvkVYLE8T: Requesting header
[redirect] Following redirect to https://banbye.com/en/watch/v_ytfmvkVYLE8T
[generic] v_ytfmvkVYLE8T: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] v_ytfmvkVYLE8T: Downloading webpage
[generic] v_ytfmvkVYLE8T: Extracting information
ERROR: Unsupported URL: https://banbye.com/en/watch/v_ytfmvkVYLE8T

Here is a problem with BanBye support on some their videos, an example below:
I:\Programy\yt-dlp.exe --list-formats https://banbye.com/watch/v_kb6_o1Kyq-CD [BanBye] Extracting URL: https://banbye.com/watch/v_kb6_o1Kyq-CD [BanBye] v_kb6_o1Kyq: Downloading JSON metadata ERROR: [BanBye] v_kb6_o1Kyq: Unable to download JSON metadata: HTTP Error 404: Not Found (caused by <HTTPError 404: 'Not Found'>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Same error appears on loading yt-dlp with no parameters on this video.

https://banbye.com/watch/v_kb6_o1Kyq-CD

It happens on all videos with a hyphen (-) in the ID.
What does work, is copying the video URL via right-click and feed that to yt-dlp.
But then it saves as 480 [480].mp4...
yt-dlp -vU --ignore-config "https://vod.banbye.com:31005/video/v_kb6_o1Kyq-CD/480.mp4"
[debug] Command-line config: ['-vU', '--ignore-config', 'https://vod.banbye.com:31005/video/v_kb6_o1Kyq-CD/480.mp4']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[876b70c8e] (zip)
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.4.0-156-generic-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg N-111711-gd295b6b693-Nico-20230808 (fdk,setts), ffprobe N-111711-gd295b6b693-Nico-20230808, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.07.22, mutagen-1.46.0, secretstorage-3.3.3, sqlite3-2.6.0, websockets-11.0.3, xattr-0.9.6
[debug] Proxy map: {}
[debug] Loaded 1863 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: d66b5383fd468d11b0400e423e6db8704cc0f5fcfd3db28e06d0e821ceb3a546
yt-dlp is up to date<EMAIL_ADDRESS>[generic] Extracting URL: https://vod.banbye.com:31005/video/v_kb6_o1Kyq-CD/480.mp4
[generic] 480: Downloading webpage
[debug] Identified a direct video link
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 480: Downloading 1 format(s): mp4
[debug] Invoking http downloader on "https://vod.banbye.com:31005/video/v_kb6_o1Kyq-CD/480.mp4"
[download] Destination: 480 [480].mp4
[download] 100% of   88.91MiB in 00:00:08 at 10.24MiB/s

@pukkandan

@mm1992 @nicolaasjan could one of you open a new issue about this, please?

Done, see #7895


CMD mode does not support operations using CTRL + D to select multiple words..

CMD mode does not support operations using CTRL + D to select multiple words..

What is CMD mode?

Using CTRL + D to select multiple words is not supported in Command mode


Setup Coverage

See #4 .

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


has no attribute 'broadcast_dim_like'

Describe the bug
A clear and concise description of what the bug is.
/usr/local/lib/python3.8/dist-packages/onediff/infer_compiler/backends/oneflow/deployable_module.py:38 - Exception in forward: e=AttributeError("module 'oneflow._C' has no attribute 'broadcast_dim_like'")
Your environment
OS
Linux ubuntu
OneDiff git commit id
OneFlow version info
Run python -m oneflow --doctor and paste it here.
How To Reproduce
Steps to reproduce the behavior(code or script):
The complete error message
Additional context
Add any other context about the problem here.

What example/ code are you running?

Any updates on this one? I have the same issue

Same issue here: https://github.com/siliconflow/onediff/issues/855


Update messages.po

Thank you for your translation contributions. We use crowdin - https://crowdin.com/project/chia-blockchain - to manage all translations. Can you copy these there and close this?


base-href-rewrite-plugin error - Plugin "baseHrefRewrite" of type "undefined" is not found, can not store config

🐞 Bug report
Description
Following the guide here: https://github.com/scullyio/scully/tree/main/libs/plugins/base-href-rewrite I'm trying to add the base-href-rewrite-plugin for all routes.  Running npm run scully fails with Plugin "baseHrefRewrite" of type "undefined" is not found, can not store config.
🔬 Minimal Reproduction

import { ScullyConfig, setPluginConfig } from '@scullyio/scully';
import { baseHrefRewrite } from '@scullyio/scully-plugin-base-href-rewrite';

const defaultPostRenderers = ['seoHrefOptimise', baseHrefRewrite];
setPluginConfig(baseHrefRewrite, { href: '/diehl-with-software/' });
export const config: ScullyConfig = {
  projectRoot: './apps/web/src',
  projectName: 'web',
  outDir: './dist/static',
  defaultPostRenderers,
  routes: {
    '/blog/:slug': {
      type: 'contentFolder',
      slug: {
        folder: './blog',
      },
    },
  },
};

💻Your Environment
Angular Version:

@angular-devkit/architect         0.901.9
@angular-devkit/build-angular     0.901.0
@angular-devkit/build-optimizer   0.901.0
@angular-devkit/build-webpack     0.901.0
@angular-devkit/core              9.1.9
@angular-devkit/schematics        9.1.9
@angular/cdk                      9.2.4
@angular/cli                      9.1.0
@angular/material                 9.2.4
@ngtools/webpack                  9.1.0
@schematics/angular               9.1.9
@schematics/update                0.901.0
rxjs                              6.5.4
typescript                        3.8.3
webpack                           4.42.0

Scully Version:

"@scullyio/init": "0.0.28",
    "@scullyio/ng-lib": "0.0.27",
    "@scullyio/scully": "0.0.99",

🔥 Exception or Error

npm run scully

><EMAIL_ADDRESS>scully /Users/rpd10/Projects/github.com/diehl-with-software
> scully

/Users/rpd10/Projects/github.com/diehl-with-software /Users/rpd10/Projects/github.com/diehl-with-software
0.0.93
Plugin "baseHrefRewrite" of type "undefined" is not found, can not store config
npm ERR! code ELIFECYCLE
npm ERR! errno 15
npm ERR<EMAIL_ADDRESS>scully: `scully`
npm ERR! Exit status 15

I puhsed a new version of the plugin to pm. @rpd10 can you give that a try?

Thanks, that worked perfectly for me!


Check for null price on change request

Fixes #255.  A null price can be returned from the API on a change request, when this happens in indicates that the order was a market order.  The problem currently is that there is no check to ensure that the price is not null, and passing a null price to BigNumber will cause an uncaught exception.

Any change message where the price is null indicates that the change message is for a market order. Change messages for limit orders will always have a price specified.

Relevant GDAX API docs

@rmm5t Okay no problem, I added a very basic test case for this scenario.

Thanks a lot!


ACR task fails to download source code if given a credential with an empty password

Describe the bug
When adding a credential for a remote container registry az acr task run will fail to download the source code if the password given in the credential is the empty string. If given the incorrect password it fails once it tries to pull the container from the remote registry (as expected). The empty string should behave the same as an incorrect password.
Command Name
az acr task credential add
az acr task run
Errors:
Queued a run with ID: cj46
Waiting for an agent...
2022/07/29 16:06:05 Downloading source code...
Run ID: cj46 failed after 3s. Error: failed to download context. Please check if the URL is incorrect. If it has credentials, please check if they are expired

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

az acr task create --registry {} --name {} --context {} --git-access-token {} --file {} --subscription {}
az acr task credential add --login-server {} --name {} --username {} --registry {} --password "" --subscription {}
az acr task run --registry {} --name {} --subscription {}

Expected Behavior
The command fails once it tries to pull from the remote registry, not on downloading source code. Like in this example taken from a run where the password is incorrect, but not empty:
Queued a run with ID: cj47
Waiting for an agent...
2022/07/29 16:07:10 Downloading source code...
2022/07/29 16:07:18 Finished downloading source code
2022/07/29 16:07:19 Alias support enabled for version >= 1.1.0, please see https://aka.ms/acr/tasks/task-aliases for more information.
2022/07/29 16:07:19 Creating Docker network: acb_default_network, driver: 'bridge'
2022/07/29 16:07:19 Successfully set up Docker network: acb_default_network
2022/07/29 16:07:19 Setting up Docker configuration...
2022/07/29 16:07:20 Successfully set up Docker configuration
2022/07/29 16:07:20 Logging in to registry: <myacr>.azurecr.io
2022/07/29 16:07:21 Successfully logged into <myacr>.azurecr.io
2022/07/29 16:07:21 Logging in to registry: <remote_registry>.com
failed to login, ran out of retries: failed to set docker credentials: Error response from daemon: login attempt to https://<remote_registry>.com/v2/ failed with status: 400 Bad Request
: exit status 1

Environment Summary
Linux-5.18.14_1-x86_64-with-glibc2.32, Void Linux
Python 3.10.5
Installer: PIP

azure-cli 2.38.0

Extensions:
account 0.2.3
azure-devops 0.22.0
aks-preview 0.5.48

Dependencies:
msal 1.18.0b1
azure-mgmt-resource 21.1.0b1

Additional Context

@ToxicGLaDOS We are looking into it and get back to you for any additional information.

route to CXP team

Hello @ToxicGLaDOS ,
How did you workaround this issue?
I had enabled ADMIN User on ACR to get the   USER & PASSWD and created a credential for the ACR TASK with the ADMIN User/Passwd and I am getting the same issue.
Thanks.

Hello @ToxicGLaDOS ,
How did you workaround this issue?
I had enabled ADMIN User on ACR to get the USER & PASSWD and created a credential for the ACR TASK with the ADMIN User/Passwd and I am getting the same issue.
Thanks.

I would make sure that the password provided to the az acr task credential add ... command isn't empty, and if it might have spaces in it make sure to quote it. If you're still seeing a problem with downloading the source then it's probably a different issue. Make sure you've added a credential to access git with the --git-access-token flag in the az acr task create ... command or update the task with az acr task update ... if necessary.

Hi! Any updates on this?
I was testing ACR builds following this tutorial in your docs: https://learn.microsoft.com/en-us/azure/aks/kubernetes-action#use-github-actions-with-aks
If you copy-paste everything, the build will fail with the same error:
Sending build job to ACR..
WARNING: Sending context to registry: ***...
WARNING: Queued a build with ID: cg2
WARNING: Waiting for an agent...
2023/09/28 13:28:54 Downloading source code...
Run ID: cg2 failed after 2s. Error: failed to download context. Please check if the URL is incorrect. If it has credentials, please check if they are expired
ERROR: Run failed

Hi! Any updates on this?
I was testing ACR builds following this tutorial in your docs: https://learn.microsoft.com/en-us/azure/aks/kubernetes-action#use-github-actions-with-aks
If you copy-paste everything, the build will fail with the same error:
Sending build job to ACR..
WARNING: Sending context to registry: ***...
WARNING: Queued a build with ID: cg2
WARNING: Waiting for an agent...
2023/09/28 13:28:54 Downloading source code...
Run ID: cg2 failed after 2s. Error: failed to download context. Please check if the URL is incorrect. If it has credentials, please check if they are expired
ERROR: Run failed

I was facing this same issue. For my case, I was attempting to deploy from a private repository.
Per the arguments found on the acr-build repository, I set up an access token for my organization scoped only for the repository I wanted to deploy from and gave it read-only access to a couple of things, including the content of my repo. Then I set git_access_token to the environment variable storing my created access token.

Hi @parion - I had the same issue and added a GH token per the instructions but still get an error.
Microsoft - is anyone fixing this issue or, at least providing better information back to the user so they can resolve it?  This has been a terrible experience.


Remove unneeded banch deletion workflow

Description
I've toggled on automatic branch deletion after merge per https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches
There is no need for the backport deletion workflow (which is now failing every time because the branch has been deleted).
Issues Resolved
Fixes #419
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Ignore me: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches :)


Closes #66 | Create dataset loader for Filipino Gay Language (Swardspeak) #66

Closes #66.
Note: there are 3 separate Excel files for this dataset. I was not sure whether each correspond to train/test/validation, so I combined everything as train.
Checkbox

[x] Confirm that this PR is linked to the dataset issue.
[x] Create the dataloader script seacrowd/sea_datasets/filipino_gay_lang/filipino_gay_lang.py (please use only lowercase and underscore for dataset naming).
[x] Provide values for the _CITATION, _DATASETNAME, _DESCRIPTION, _HOMEPAGE, _LICENSE, _URLs, _SUPPORTED_TASKS, _SOURCE_VERSION, and _SEACROWD_VERSION variables.
[x] Implement _info(), _split_generators() and _generate_examples() in dataloader script.
[x] Make sure that the BUILDER_CONFIGS class attribute is a list with at least one SEACrowdConfig for the source schema and one for a seacrowd schema.
[x] Confirm dataloader script works with datasets.load_dataset function.
[x] Confirm that your dataloader script passes the test suite run with python -m tests.test_seacrowd seacrowd/sea_datasets/<my_dataset>/<my_dataset>.py.
[ ] If my dataset is local, I have provided an output of the unit-tests in the PR (please copy paste). This is OPTIONAL for public datasets, as we can test these without access to the data files.

Makefile output (author name contains special character):

Test run output:

Hi @mrafifrbbn , do you need any help making the changes?

Hi @ljvmiranda921 , sorry I just noticed the email. Thank you for the review! I'll make the changes soon

I made the fix, but I made a mistake and had to force push my local commit.. would this pose any problem?

It should be fine, later on we'll squash all the commits in this PR into a single commit. @mrafifrbbn

LGTM! Let's just wait for @yongzx 's review

Tested, and the code looks good to me! Merging it now


fix: 31635 the blue focus is not prioritized over the application highlight

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/31635
PROPOSAL: https://github.com/Expensify/App/issues/31635#issuecomment-1821295746
Tests

Go to settings > Workspace > Members
Click on existing workspace
Members > Invite
Click on 'Tab' key to bring the blue focus from accessibility
Notice that the lists are focused(Blue focused)
Move the blue Focus using the 'Tab' key to focus on the users
Click Enter
Verify that the blue focus is prioritized when clicking enter rather than the application highlight

[x] Verify that no errors appear in the JS console

Offline tests

Same as above
QA Steps

Go to settings > Workspace > Members
Click on existing workspace
Members > Invite
Click on 'Tab' key to bring the blue focus from accessibility
Notice that the lists are focused(Blue focused)
Move the blue Focus using the 'Tab' key to focus on the users
Click Enter
Verify that the blue focus is prioritized when clicking enter rather than the application highlight

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else

[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)

[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

https://github.com/Expensify/App/assets/113963320/8f9e4e3a-a416-4019-88b6-e5a4aec6a1d2

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/113963320/7da07ea3-93b0-44db-9d31-21f7c11e181d

MacOS: Desktop

https://github.com/Expensify/App/assets/113963320/160a7c97-c829-407f-bb7a-35bd00e97f18

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.9-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.9-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.4.9-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


show hotel picture, reviews, description and possible other details from google places

Sample Request:
https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4&key= AIzaSyBviGjjZKy0op-C6YncrFJsIRBOZwtL-WQ

This issue was moved to joachimprinzbach/ng2-camp2#9


Problems about showing .ply in LiveScanPlayer.exe

Hi, team. I have saved the .ply files, but when I started the player and selected the files, the current number is changing from 0 to 50 frame but nothing shows on the screen, should there be a 3D player showed? Or how I can do to solve this problem?
2 Windows 10 + 2 Azure Kinects
the screen is like below:

Click on the "Show live" button

I have used two Azure Kinects so there is perhaps no .bin file.
Are there any alternative solutions? 😣

There should be a .bin file in the LiveScan3D/bin/ folder called recording_XXX.bin after you've recorded a capture. Do you see anything there?

Yeah, I saw it under /bin folder. But the .bin file is also about 1-5 kb, there may be something wrong during recording.

What's more, I cannot see anything when I click 'show live' in the server.exe, even though the FPS ~30.
However, if I did not generate the release version and just click 'run' in the visual studio 2019, the 'show live' runs correctly and can show the images. Do you ever encounter this problem?

I see you started a new issue. Could you close this one?

Yeah, no problem. I found that in this repo "https://github.com/BuildingVolumes/LiveScan3D" it works. Thanks a lot!


fix: allow use of PathBasedClient with generated paths

To achieve this, we remove unnecessary type bounds.
This fixes #1840.
Changes

Remove unnecessary type bounds.
Add tests for client types.

How to Review

Double check the removal of type bounds does not break anything.

Checklist

[x] Unit tests updated
[ ] docs/ updated (if necessary)
[ ] pnpm run update:examples run (only applicable for openapi-typescript)

Great work! In favor of this merging, but see comment on type vs runtime tests

For posterity: I have been working around this using an intersection type:
// BAD!!! See explanation below.
type Client = PathBasedClient<paths & Record<string, Record<string, string>>>;

However, this breaks inference on usage-site for wrong paths: They get accepted by the typechecker rather than flagged as non-existent.
A correct workaround is:
type Client = ResultType<typeof createPathBasedClient<paths>>;


Doesn't support mj-wrapper

It seems like mj-wrapper should be a valid child of cm-layout, but it doesn't work. I get the following error...
{
    line: 11,
    message: 'mj-wrapper cannot be used inside cm-layout, only inside: mj-body, mj-attributes',
    tagName: 'mj-wrapper',
    formattedMessage: 'Line 11 of /Users/keironlowe/Desktop/***/src/includes/news.mjml, included at line 28 of file /Users/keironlowe/Desktop/***/src/index.mjml (mj-wrapper) — mj-wrapper cannot be used inside cm-layout, only inside: mj-body, mj-attributes'
}

I've updated the package and added support for it.


chore(demos): fix tslint on demo component

LGTM
If you wanted to add a trailing comma, though, all the better

Added trailing comma ;-)


Sprites invisible in WebGL

In my game (a side scrolling shooter) sprites start disapearing, and I have no clue where to look / debug (there are no error messages)
http://matthijsgroen.github.io/game-play/dist/index.html
In a section before the second bridge in the city, rockets are fired at the player (single sprite, no sprite animation, image contains only this sprite) https://github.com/matthijsgroen/game-play/blob/master/app/images/rocket.png
These rockets are shown fine, but when the boss appears under the second bridge, and starts firing the same rockets, the rockets are not shown anymore (only the particle effects).
Also sometimes when the boss has to switch to a different damage sprite, suddenly he becomes invisible.
Any clue where I could start a debug action?

I'd start with console.log(Crafty("Rockets")) and look at the rockets' data. If anything important is null or NaN they won't show up. I can't find the boss in your code structure and the game is pretty slow to get to the boss so I haven't checked this myself.

I noticed that the rocket was showing if you use a credit to get there (thus not being in one single playthrough from beginning to the boss). The thing why I find this weird is that it is a single script that runs the separate rockets and the rockets of the boss.. Both create a 'Rocket' entity, that should take care of the sprite.
in the code structure the bossfight is in https://github.com/matthijsgroen/game-play/blob/master/app/scripts/lazerscripts/stage1/stage1boss.coffee
I'll start on figuring out why getting from beginning to boss in single life somehow breaks the sprite, and when using a checkpoint it is not an issue...
Weird thing is that the mines have exact same setup, and do not have that issue (but they are animated, and the rocket is not)

I added screenshots: http://imgur.com/a/tHFnB

Hmm its showing this image https://github.com/matthijsgroen/game-play/blob/master/app/images/large-drone-wing.png

On the other hand I passed by where the boss was twice and he didn't show up the first time,

Fixed

and you set lives to 2 at the start but display 3 so it looks like you lose two lives the first time you lose a life.

Hmm never saw '3' ? I know that at the moment when you die the amount of lives in the HUD has a delay before updating (will be fixed later)
Both are not Crafty related. So far I only learned:
The issue is when played in a single playthrough (without using credits and starting at a later checkpoint)
And then the rocket sprite is somehow replaced by the reload animation sprite-sheet.
I'll try to figure out why it only happens on a single playthrough, and not when started at a checkpoint.

On further inspection:
Crafty('Rocket').get(0).__image

It returns 'images/rocket.png'
While it shows the large-drone-wing.
Removing compontents or calling 'sprite(x, y)' they all have no affect. Somehow the loaded rocket is broken, and I cannot do anything to fix it. even calling Crafty.load again does nothing.

So you currently load assets throughout the program is running, including rocket.png, right? Have you tried loading them all at start instead?

The names are unique. I just did a testrun when rendering in Canvas, and then the issue is not there (But I want to use WebGL though)

I know WebGL is particular about requiring sprites explicitly after requiring WebGL in entities. I'd expect it to throw an error if that was the cause, though.

I wait for the assets to be loaded before I instantiate the entity, else I get webGL errors (and invisible entities)

From everything you've said, it sounds like it involves some combination of using WebGL and having the game run for a while.
This could be a bug in how we handle swapping textures when there are more than the graphics card driver supports at one time.   I'd try to examine what's happening with Crafty.TextureManager.
Another  thing to explore would be the program property of the rocket entity.  It should have information about what texture it's bound to.

Well the seperate rockets and the rockets with boss are just 5 secs apart... When the boss is loaded somehow the sprite-sheet with the reload animation is overriding the rocket texture or something

I added an extra border of transparent pixels around the rocket.png sprite, and now the problem seems to be gone? It still seems weird to me, since it was showing correct before...
Thanks for assisting me with the debug though! much appreciated!

I do not have that many graphics in it yet, so I'm curious if it will happen again when I start replacing the blocks more and more (and change the current graphics with more decent ones). I'll reopen this issue when I see behaviour like this again.

Hmm the issue is still there.
I've seen it now in different forms on different machines.
The local development version build has the issue of the rocket sprite being replaced by the 'large-drone-wing' texture,
on an older machine at my work, the dark water spot ( to indicate enemies under water ) was replaced by this same 'large-drone-wing' texture using the online version.
The online version locally somehow works fine.
It's still behaviour I cannot fully understand. When it happens it always happens in the same way. but its still different in different builds on different machines.

Locally you should make sure your browser isn't caching any files.
Considering the dimensions of the image changing caused a fix, it's probably worth mentioning that webGL only makes full functional guarantees about power-of-two dimensioned textures (webgl textures being what it maps sprites to). A few things don't work for non-power-of-two textures, detailed [here] (https://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences#Non-Power_of_Two_Texture_Support). I don't think that's the issue though, because I think that also would have thrown an error.

The texture manager prefers to swap out smaller images, so if the bug is there adding those pixels could have changed the behavior.

After how many images should he begin to swap? At the moment I have only 13
textures, but it will be a lot more in the future.
Op za 9 jan. 2016 om 18:31 schreef Tim Martin<EMAIL_ADDRESS>
The texture manager prefers to swap out smaller images, so if the bug is
there adding those pixels could have changed the behavior.
—
Reply to this email directly or view it on GitHub
https://github.com/craftyjs/Crafty/issues/1000#issuecomment-170262032.

i've got a webgl project with upwards of 300 images, most around 30x50, and haven't seen this behavior, but I also exclusively use spritesheets and load everything at start.

I placed both images (shadow and rocket) in a sheet image now.. I'll monitor if this fixed the problem

After how many images should he begin to swap? At the moment I have only 13 textures, but it will be a lot more in the future.

AFAIK it depends on what a particular graphics card (+driver) supports.  For WebGL performance, you want to favor a few sprite sheets over lots of individual images in any case.

I've placed both small images in a spritesheet, and now the issue has not occured anymore.
I get why having a few good spritesheets would be better than having a lot of smaller assets, but when I have enemies of all shapes and sizes, with parts of them having a sprite animation, I don't think crafty supports it yet to have those all in one sheet.
e.g. having
https://github.com/matthijsgroen/game-play/blob/master/app/images/large-drone-eye.png
https://github.com/matthijsgroen/game-play/blob/master/app/images/large-drone-wing.png
and
https://github.com/matthijsgroen/game-play/blob/master/app/images/large-drone.png
in one sheet would be awesome.

You can put them all in one sheet with smaller dimension labels and explicit width and height sprite calls but with three separate consistently sized entities three sheets will have the easiest formatting.

Having multiple sizes in sheets works (I do it for the Sun sprites), but not for SpriteAnimation, where you reference to images with an x, y index of the tile.

You should be able to define multiple sheets per image, if you  have mixed sizes.
WebGL cares about the image URL only.

Do you have an example how that looks like?
https://github.com/matthijsgroen/game-play/blob/master/app/scripts/components/entities/LargeDrone.coffee#L15
The reels have only sprite coordinates within a sheet right? (or can you pass in an array of names that I did not know?)

I think the implication is you make multiple load calls to the same file name.

I created a system where I can have multiple sheets for the same image.
This way I can combine multiple sizes of sprites in one sheet, and have animations and other default Crafty things working as expected.
Definition of sheets: https://github.com/matthijsgroen/game-play/blob/master/app/scripts/scenery/CityAssets.coffee#L68
Sheet image: https://github.com/matthijsgroen/game-play/blob/master/app/images/large-drone.png
Loading mechanic for multiple sheets for single image:
https://github.com/matthijsgroen/game-play/blob/master/app/scripts/lib/LevelGenerator.coffee#L49
The trick is to load the image once, and apply the 'Crafty.sprite' call multiple times referring to the same texture but with different sprite objects.
Since I am now limiting myself in amount of sprites used, I haven't seen this issue anymore.

I suspect there is a bug with texture switching somewhere -- I'm going to reopen this until I can at least attempt to reproduce.

I've seen this issue again last week, but it was somehow related with an eventhandler in the collision detection that gave an error (without showing). I think on its own, the rendering of WebGL is really fine.


Benchmark and document the overhead of the SQLite index DB

Measure the overhead of the SQLite DBs (this is already measured by the get_total_size method).
Check the cost per object with a few tests of different size, and then report them together with the other tests (see also #3 and #10)

Since this looks from a first glance like a key/value store, did you consider something more lightweight, like leveldb (or RocksDB) or https://lmdb.readthedocs.io? When it comes to pure key-lookup performance they're likely going to outperform Sqlite. Both of them are available in Anaconda.
Also, using an ORM layer (even though convenient) seems a bit too much for this use case.

I wasn't aware of these, I'll give a look into them, also in terms of requiring a server running, and of resilience to failures (also hard drive, machine reboot etc.).
I agree that the performance will be better, but at the moment it seems acceptable for the use cases of AiiDA we have today (might not be in the future of course).
When you refer to the ORM layer, you mean the use of SQLAlchemy? I.e. I could just call directly into the SQLite library? Or something else? Indeed I did it mostly for convenience as I know how SQLAlchemy works. I didn't check the overhead - and considering we have already SQLAlchemy in AiiDA I didn't think it was a problem, but happy to rediscuss.

I wasn't aware of these, I'll give a look into them, also in terms of requiring a server running, and of resilience to failures (also hard drive, machine reboot etc.).

None of them should require a server, all of them should be resilient since they're designed as embedded databases.

When you refer to the ORM layer, you mean the use of SQLAlchemy? I.e. I could just call directly into the SQLite library?

Yes, for a single operation like this I would probably avoid the ORM layer and directly talk to the SQlite.

Or something else? Indeed I did it mostly for convenience as I know how SQLAlchemy works. I didn't check the overhead - and considering we have already SQLAlchemy in AiiDA I didn't think it was a problem, but happy to rediscuss.

Well, this the sort of library which may be picked up by other projects as well, having SQLAlchemy as dep then makes less sense (and gives unneeded complexity).
On the other hand: since in AiiDA you already have PostgreSQL you could reuse that one? (either tightly tie it to the AiiDA-ecosystem for profit or not all if possible).

Ok, if I decide to go in this direction, I'll drop SQLA before the production-ready release, it should be quick to do at the end.
In terms of the suggestions, I think LevelDB is not OK because it the readme it says:

Limitations

...
Only a single process (possibly multi-threaded) can access a particular database at a time.
...

Which is not ok (we have multiple daemon workers).
I'll check into the other two that seem more promising in this respect.

I think we'll also have to drop RocksDB. The library itself seems to be very much developed by facebook, but it lacks a robust and maintained python interface.
In particular, there used to be an old python wrapper pyrocksdb but it stopped development at version 0.4, in 2015.
This was later forked in python-rocksdb (which appears under pypi under at least 3-4 different names, but seems to be linking always to the same GitHub repository). This actually does not have any new tag, even if there is a 0.7 version on pypi. In any case, there are few issues:

development anyway seems to have stopped in the first half of 2019 (apart from some experimental branch, which supports py3.7, and it's not clear which version of rocksdb)
the version on pip supports only officially py3.4 (but I tested on 3.7 and the basic functionality is OK), see docs
what is more problematic, as it says in the docs, it supports RocksDB v5.3. Indeed, I could install it only with v5.18.3, but I couldn't on v6.7 (the current most recent release).

So, in conclusion, there does not seem to be a developed library supporting recent versions of rocksdb.
In addition, rocksdb itself is not super-trivial to install: apt-packages on ubuntu are old (on 16.04 it's still 4.1 for instance) mostly because development is happening very fast, with jumps in major versions, which worries me if there isn't at least a python wrapper following it.
One needs to clone it and install it by compiling it (also on Mac OS I tried with brew, but the compilation fails) I would try to avoid as much as possible a library that becomes a strong dependency of AiiDA and makes installation (of AiiDA, specifically) even more complex than now it is.

As a comment, LMDB seems much easier to install (it just worked with a pip install).
We'll give a try for efficiency (even if I'm quite worried by the fact that, while initialising the repository, one needs to specify a map_size, being the total size of the DB.
There is a set_mapsize(map_size) function, whose doc says: "Change the maximum size of the map file. This function will fail if any transactions are active in the current process."
For testing, I am currently setting a very big map size to begin with (1TB, I don't know if this impacts performance).
But then we'll need to double check how to safely increase map size during real usage: it's going to be fragile in real-case scenarios, I fear.
Also, as a final comment: these might/seem to be faster when dealing with a lot of small objects. However, maybe the performance of the implementation suggested here is enough for the goals of AiiDA? Also, we'll need to double check how concurrency is managed - the current implementation provides fully parallel writing (at least for loose objects). I'm not sure if these libraries in the end need to resort to some level of locking, that might turn out to be problematic in production scenarios.

Performance tests performed by @ramirezfranciscof show that while leveldb is much faster for very small objects (below the page size, ~4kb), for which it's designed, it loses all the advantage for larger objects, that is our use case. Maybe @ramirezfranciscof could report here a very small summary of the benchmark performance comparison between this implementation (stating which version) and the leveldb.

OK, I have some good results that I report here. These were run on a big container, with 6714808 objects (SDB by @sphuber).
I also report some timings to give a feeling of the advantage of this library.

Running du on the folder in the old AiiDA format took > 2 days (!). It reported 263GB.
Time to list all files to import (10744328 nodes): 170529.155 s (almost 2 days).
Time to read 16195149 files and then store them directly to packs: 192438.410 s (2 days, 5 hours)

The results above therefore suggest that any rsync command would take 2+ days, even if there is nothing to do, even just to check which files exist.
In the new repo (40 files of ~40GB + 1 SQLite DB of ~1.2GB), rsync goes relatively fast the first time:
sent 845 bytes  received 41,309,058,351 bytes  4,035,861.38 bytes/sec
total size is 170,071,626,707  speedup is 4.12

real time:    170m34.242s

(3hours), and the second time it goes super fast: even after dropping the disk caches, if there is nothing to do it takes 1s:
receiving incremental file list

sent 23 bytes  received 965 bytes  395.20 bytes/sec
total size is 170,071,626,707  speedup is 172,137,273.99

real    0m1.339s

and it would be relatively fast on additions, since only the last pack would change.
Also, to get an idea of the read speed of the disk, after dropping the caches with sudo su -c "echo 3 > /proc/sys/vm/drop_caches", if I run time cat packs/* > /dev/null to force reading everything back from disk, I get:
real	1m55.257s
user	0m0.532s
sys	1m4.276s

Time to commit folder_meta for 10744328 nodes (note: only 7181854 with files) to postgres: 3149.467 s [this means that storing the file metadata in a nested dictionary is still longish, maybe we can optimise this - but this is not in this library, it depends on the AiiDA implementation - pinging @sphuber]

After converting, we get a SQLite DB of 1.2GB, and based on the size, we have a size of files before deduplication of 157GB (using 1024 bytes per KB, 1024 KB per MB, ...), and after removing duplicates (via sha256 hashes) of 94GB.

The DB therefore takes only 1.2GB. Before, we are "wasting" instead 263-157=106GB, occupied either by the inode of folders, or by the remaining space at the end of a block by a file. The block size in our case is 4KB, and so we can estimate the wasted size by considering 4KB per folder, and 2KB per file (assuming a random distribution of file sizes, so some will almost fill the last block, some will almost leave it empty, ...).

We have, in the legacy repo, 16'195'149 files, and about 36 million nodes, so about 36-16=20 million folders.
we estimate 20million folders at 4KB each = 76GB, + 16million files, each of which will only on average occupy half of the last block => 30GB --> 106GB: very good estimate of what we 'waste'. And this does not count the fact we had to reformat the HD and waste more space to accomodate the FS table!

if we consider deduplication, we save even more space on a real project.

I think that with these statistics we have demonstrated the space savings of the new approach so we can safely close this issue.
Also, in terms of speed overhead, I refer to #70 for a speed assessment (and possible code improvements).

Regarding the implementation in aiida-core: I have also used a JSONB column, but the structure of it is slightly different. I haven't performed any benchmarking yet but was mostly focusing on getting a working implementation for now.


TF1.15 fails to dropout tf.Tensor

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): False
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04.3 LTS (using dockerfile from nvidia/cuda:10.0-cudnn7-devel)
TensorFlow installed from (source or binary): binary (pip)
TensorFlow version (use command below): 1.15
Python version: 3.7.3
CUDA/cuDNN version: CUDA 10.0, cuDNN7
GPU model and memory: GTX 1080 Ti

Describe the current behavior
When I dropout a tf.Tensor object by using tf.layers.dropout, it fails.
Describe the expected behavior
Successfully dropout input object as in tf 1.14.
Code to reproduce the issue
import tensorflow as tf
e = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
h = tf.layers.dropout(e, noise_shape=tf.shape(e), rate=0.5, training=True)

The code above works in tensorflow-gpu==1.14
Other info / logs
    layers/core.py:226 call
        return super(Dropout, self).call(inputs, training=training)
    keras/layers/core.py:166 call
        lambda: array_ops.identity(inputs))
    keras/utils/tf_utils.py:59 smart_cond
        pred, true_fn=true_fn, false_fn=false_fn, name=name)
    framework/smart_cond.py:54 smart_cond
        return true_fn()
    keras/layers/core.py:160 dropped_inputs
        noise_shape=self._get_noise_shape(inputs),
    keras/layers/core.py:149 _get_noise_shape
        for i, value in enumerate(self.noise_shape):
    framework/ops.py:547 __iter__
        self._disallow_iteration()
    framework/ops.py:543 _disallow_iteration
        self._disallow_in_graph_mode("iterating over `tf.Tensor`")
    framework/ops.py:523 _disallow_in_graph_mode
        " this function with @tf.function.".format(task))

    OperatorNotAllowedInGraphError: iterating over `tf.Tensor` is not allowed in Graph execution. Use Eager execution or decorate this function with @tf.function.

@toshohirasawa
Can you enable eager execution (tf.enable_eager_execution() )and check. I am not seeing any issue. Please, find the gist here. Thanks!

It has been 15 days with no activity and the awaiting response label was assigned. Is this still an issue?

It works!
While my question is why tf.layers.dropout in TF 1.5 works differently from TF 1.4. Any suggestion?

@toshohirasawa The TF 1.14 and 1.15 exhibit same behavior with tf.layers.dropout . Both require you to enable eager execution. Thanks!


Release 1.4.6

Coverage remained the same at 90.164% when pulling 7ba1a8d87496c149ff745c870109d889d48b55d9 on release-1.4.6 into<PHONE_NUMBER>34a0fde9dd5760aa540941b60673b2 on master.


Translating  add-react-to-a-website.md

this commit to assignee add react to website to me

@asantarissy can you check this issue please does not got it, it seem to be removed some resources!

check now please

What about the review?

What about the review?

Salam @atefBB, please check this commit d6956b8. Thanks 🙏

وعليكم السلام
I'll check it soooooon !


Using fela to style components that conditionally apply classes

react-router's <Link> component and react-sticky's <Sticky> component - amongst others - accept additional classNames via separate properties and apply those classNames when the component is in a certain state - e.g. <Link> accepts activeClassName and <Sticky> accepts stickyClassName.
It would be great to have a way to style these using fela.
As a reference: The same discussion was held in a styled-components issue, which resulted in a few solutions and modules such as styled-property.
I have resolved this using a similar approach for fela:
import { NavLink } from 'react-router-dom'
import { createComponent } from 'react-fela'

// hoc helper
const createConditionallyStyledComponent = (
  rule,
  Type,
  propertyName,
  passThroughProps
) => {
  return createComponent(
    rule,
    ({ className, ...props }) => {
      props[propertyName] = className
      return <Type {...props} />
    },
    passThroughProps
  )
}

// usage
const StyledNavLink = createConditionallyStyledComponent(
  () => ({
    color: '#f00',
  }),
  NavLink,
  'activeClassName',
  [ 'exact', 'to' ]
)

Is this already possible some other way?
If it's not, i could publish a small module that does this. Not sure about the naming though. Any thoughts?

I've discovered that this is not a good solution. Once combined with other styles, either by descendant selectors in parent components styles or styles that you want to have on the component regardless of the specified class being set or not, things break.
Example 1
Default styling and styling that is applied when the component sets the specified className. Link should not have a text decoration and be red when active:
const StyledNavLink = createConditionallyStyledComponent(
  () => ({
    color: '#f00',
  }),
  createComponent(() => ({ textDecoration: 'none' }), NavLink, [ 'exact', 'to' ]),
  'activeClassName',
  [ 'exact', 'to' ]
)

Example 2
Descendant selector in parent component:
const StyledNavLink = createConditionallyStyledComponent(
  () => ({
    color: '#f00',
  }),
  NavLink,
  'activeClassName',
  [ 'exact', 'to' ]
)

const MenuItem = createComponent(
  () => ({
    '> a': { textDecoration: 'none' },
  }),
  'li'
)

const MyComponent = () => (

    <MenuItem></MenuItem>
    <MenuItem></MenuItem>

)

Not sure how to handle this 😕

This could work in Fela too: https://github.com/styled-components/styled-components/issues/184#issuecomment-284300950

Have you ever thought about using the connect API which react-fela provides? This seems quite a valid use case here. I am doing this myself with  and other components from third-party libraries :P

@codepunkt Sth. to be closed? We might open a follow-up issue to add sth. to the docs for third-party components. I highly appreciate PRs these days :)

@rofrischmann
Thanks! I didn't know about the connect API of react-fela. Putting it to good use, my use case is solved.
My solution seems a bit convoluted, though:
// styleProp.js
import React from 'react'
import { connect } from 'react-fela'

export default (propName, rule) =>
  Component =>
    connect(props =>
      renderer => ({
        [propName]: renderer.renderRule(rule, props),
      }))(({ styles, ...rest }) => (
        <Component {...rest} {...{ [propName]: styles[propName] }} />
    ))

// MyComponent.js
import React from 'react'
import { NavLink } from 'react-router-dom'
import styleProp from './styleProp'

const StyledLink = styleProp('activeClassName', props => ({
  color: '#bada55',
  ':hover': {
    color: props.color,
  },
}))(NavLink)

export default () => (

)

What do you think?


Confusing error when pulling records failed

Recently, for a particular platform, session records weren't pulled but there was little diagnostic information that made that obvious in the CI. Instead, a bunch of tests failed with something like,
{"Message":"There is no active playback session under recording id 222ce98c-2dfe-4d87-8435-62b5bca362f2.","Status":"BadRequest"}

Or even,
{"Message":"Unable to parse the line 786","Status":"BadRequest"}

The latter comes from https://github.com/Azure/azure-sdk-tools/blob/main/tools/test-proxy/Azure.Sdk.Tools.TestProxy/Store/GitStoreBreadcrumb.cs#L32. This could use more information about why the failure happened, perhaps, such that we are able to self-diagnose what occurred.
See https://dev.azure.com/azure-sdk/public/_build/results?buildId=2932431&view=logs&j=0b29554c-b98e-53a9-91b0-6a3a0eec25d0&t=f0fc8583-d8ae-545a-b5e1-1fe75e05b074&s=ff05ad62-bb9a-53b6-ce9f-72f329a63e7c for where this issue occured.

In my case, the error message is like below. (See here for more details.)
Error Message:
   Azure.RequestFailedException : Service request failed.
Status: 400 (Bad Request)

Content:
{"Message":"Unable to parse the line taLake_369e19e7ec","Status":"BadRequest"}

Is it possible that Github is throttling us so that pulling records fails intermittently? In the error message above, taLake_369e19e7ec looks like a git commit id.
It's known that sometimes (very rare), the whole pipeline could fail due to git checkout failure which is because of rate limits. The pipeline which will create many jobs running in parallel, it is possible that Github throttles us as well.

This is resolved. See the #37868 for a description as to what was breaking. See azure/azure-sdk-tools#6604 . we changed the design so that breadcrumbs are not shared anymore. With that being the case, parallel access of the assets folder via multiple processes is no longer a breaking issue.


feat(backstage): option to pass in image by digest

Description of the change
Add option to pass image tag by digest (i.e. sha256:xxx) instead of image tag. This makes use of already existing support in the bitnami common templates.
Existing or Associated Issue(s)
Apologies as this is just updating the values.yaml file I haven't opened an issue.
Additional Information
This is a common issue that gets flagged when auditing kubernetes manifests with tooling like trivy or checkov. If you need more detail let me know and I can add some examples to the PR description.
Checklist

[x] Chart version bumped in Chart.yaml according to semver.
[x] Variables are documented in the values.yaml and added to the README.md. The helm-docs utility can be used to generate the necessary content. Use helm-docs --dry-run to preview the content.
[x] JSON Schema generated.
[x] List tests pass for Chart using the Chart Testing tool and the ct lint command.

Hey @1602077 any chance you could add a CI test to cover the digest addition?

Hey @1602077 any chance you could add a CI test to cover the digest addition?

Sure thing @ChrisJBurns - I have added now. Let me know if there is anything else you need from me.
Cheers

Hey @ChrisJBurns - I was unsure whether I need to assign any reviewers or not?

Thanks @1602077 have approved, will see how the tests get on 🤞

Thanks @1602077 have approved, will see how the tests get on 🤞

apologies looks like I forgot to rerun the precommit hook after merge main - ci should pass now
cheers


proposal: reflect: allow Value.Set with zero Value for interface values

Consider the following Go code:
type I = interface { ... }
var x I = ...
var y I = ...
x = y

Consider the seemingly equivalent Go reflection code:
vx := reflect.ValueOf(&x).Elem()
vy := reflect.ValueOf(y)
vx.Set(vy) // analogous to x = y

However, the reflection code about is not quite equivalent since it panics if y is nil.
This occurs because reflect.ValueOf loses track of the fact that y may be a nil interface value
and simply constructs a zero reflect.Value.
The workaround is somewhat convoluted and not immediately obvious as necessary:
vx := reflect.ValueOf(&x).Elem()
vy := reflect.ValueOf(y)
if vy.IsValid() {
    vx.Set(vy)
} else {
    vx.Set(reflect.Zero(vx.Type()))
}

I propose changing the behavior of func (v Value) Set(x Value) such that x may be a zero Value only if v is an interface value, in which case it simply stores a nil value.
This should be a generally safe change since switching from a panic to a non-panic is not likely to break existing code.

It just occurred to me that I could do:
vy := reflect.ValueOf(&y).Elem()
vx.Set(vy) // analogous to x = y

but that always causes y to escape be allocated on the heap.

In the same general space as #51649.  CC @robpike

This is very similar to #51649 but I think we need to figure out what the scope of "treat zero Value as untyped nil" would be. Where do we stop? If someone can come up with a clear answer for that question, it would help us move forward.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Where do we stop? If someone can come up with a clear answer for that question, it would help us move forward.

In https://github.com/golang/go/issues/51649#issuecomment-1098426793, I came up with a concrete proposal for comprehensive changes to reflect if we were to consistently treat a zero Value as equivalent to an untyped nil.

Let's merge this into #51649. Closing as duplicate.


[Compute] az sig create/update: Hide --soft-delete parameter in help messages

Related command

az sig create/update
Description

Mail title: Soft Delete information on our public docs
Close: #29358
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Compute


Save tippecanoe version in metadata table?

It'd be nice to have access to the version of tippecanoe used to create an MBTiles file, which could simplify debugging. Could this be saved in the json row of the metadata table? Would that invalidate the MBTiles specification?
cc @ericfischer @springmeyer

Good idea. I should have done that long ago. "The metadata table MAY contain additional rows… for other purposes" so I don't think there is any mbtiles spec issue.

Oh, sorry, in the json row? The spec doesn't say that it can be there but it also doesn't say that it can't, so I think we're probably safe adding it there.

@ericfischer oh nice, didn't realize we could add new rows - I think adding an additional row to metadata would be best (rather than using json), and least intrusive to other tooling!


Automatic sharded parallelization of per-sample gradients fails on GPUs

Description
The following minimal example works when run on 2 CPUs (CUDA_VISBLE_DEVICES=""), but fails when run on GPUs due to Unexpected XLA sharding override.
import os
# os.environ["CUDA_VISIBLE_DEVICES"] = "" # Uncomment to run on CPU, in which case the code works
os.environ["XLA_FLAGS"] = "--xla_force_host_platform_device_count=2"

import jax
from jax.experimental import mesh_utils
from jax.sharding import PositionalSharding
import jax.numpy as jnp
import jax.distributed

def model(params, x):
    return x @ params

if __name__ == "__main__":
    jax.print_environment_info()
    print("Devices: ", jax.devices())
    n_devices = jax.device_count()  # 2
    devices = mesh_utils.create_device_mesh((n_devices,))
    sharding = PositionalSharding(devices)

    feature_dim = 3
    batch_size_total = 8

    # Get example data
    x = jnp.ones((batch_size_total,  feature_dim))
    params = jnp.ones(feature_dim)

    # Shard data, replicate params
    x = jax.device_put(x, sharding.reshape(n_devices, 1))
    params = jax.device_put(params, sharding.replicate(axis=0))

    y = model(params, x)
    print("Forward pass (with vectorizable function) works")

    y = jax.vmap(model, in_axes=(None, 0))(params, x)
    print("Forward pass with explicit vmap also works")

    grad = jax.grad(lambda p: model(p, x).sum())(params)
    print("Gradient of global function works")

    per_sample_grads = jax.vmap(jax.grad(model), in_axes=(None, 0))(params, x)
    print("This is never reached: per-sample gradients combining vmap and grad fails when run on GPUs")

It appears to be specific to the combination of vmap and grad, and does not appear when using only vmap or only grad.
In case of failure the output is:
Devices:  [cuda(id=0), cuda(id=1)]
Forward pass (with vectorizable function) works
Forward pass with explicity vmap also works
Gradient of global function works
Traceback (most recent call last):
  File "/home/scherbelam20/develop/sparse_wf/sparse_wf/preliminary_experiments/parallelization/per_sample_gradients/per_sample_gradients.py", line 41, in <module>
    per_sample_grads = jax.vmap(jax.grad(model), in_axes=(None, 0))(params, x)
  File "/home/scherbelam20/develop/sparse_wf/sparse_wf/preliminary_experiments/parallelization/per_sample_gradients/per_sample_gradients.py", line 12, in model
    return x @ params
  File "/home/scherbelam20/.conda/envs/sparse_wf/lib/python3.12/site-packages/jax/_src/numpy/array_methods.py", line 736, in op
    return getattr(self.aval, f"_{name}")(self, *args)
  File "/home/scherbelam20/.conda/envs/sparse_wf/lib/python3.12/site-packages/jax/_src/numpy/array_methods.py", line 264, in deferring_binary_op
    return binary_op(*args)
jax._src.source_info_util.JaxStackTraceBeforeTransformation: AssertionError: Unexpected XLA sharding override: (XLA) GSPMDSharding({replicated}) != PositionalSharding([[{GPU 0}]
                    [{GPU 1}]], shape=(2, 1)) (User sharding)

System info (python version, jaxlib version, accelerator, etc.)
jax:    0.4.26
jaxlib: 0.4.26
numpy:  1.26.4
python: 3.12.2 | packaged by Anaconda, Inc. | (main, Feb 27 2024, 17:35:02) [GCC 11.2.0]
jax.devices (2 total, 2 local): [cuda(id=0) cuda(id=1)]
process_count: 1
platform: uname_result(system='Linux', node='gpu1-mat', release='5.15.0-1054-oracle', version='#60~20.04.1-Ubuntu SMP Wed Mar 20 22:29:27 UTC 2024', machine='x86_64')

$ nvidia-smi
Thu Apr 11 13:27:11 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A100-SXM4-40GB          Off |   00000000:07:00.0 Off |                    0 |
| N/A   28C    P0             57W /  400W |     425MiB /  40960MiB |      3%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA A100-SXM4-40GB          Off |   00000000:0A:00.0 Off |                    0 |
| N/A   25C    P0             57W /  400W |     425MiB /  40960MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A    559574      C   python                                        416MiB |
|    1   N/A  N/A    559574      C   python                                        416MiB |
+-----------------------------------------------------------------------------------------+

I was able to repro this and have filed an internal bug. It should be fixed soon :)

https://github.com/openxla/xla/pull/11483 should fix it!