[tool_crash] FileSystemException: Deletion failed, OS Error: 另一个程序正在使用此文件，进程无法访问。, errno = 32

Command
flutter --no-color pub get

Steps to Reproduce
on android studio

flutter clean
2.flutter run

Logs
FileSystemException: Deletion failed, OS Error: 另一个程序正在使用此文件，进程无法访问。
, errno = 32
#0      _Directory._deleteSync (dart:io/directory_impl.dart:201:7)
#1      FileSystemEntity.deleteSync (dart:io/file_system_entity.dart:420:7)
#2      ForwardingFileSystemEntity.deleteSync (package:file/src/forwarding/forwarding_file_system_entity.dart:70:16)
#3      ErrorHandlingDirectory.deleteSync.<anonymous closure> (package:flutter_tools/src/base/error_handling_io.dart:486:22)
#4      _runSync (package:flutter_tools/src/base/error_handling_io.dart:597:14)
#5      ErrorHandlingDirectory.deleteSync (package:flutter_tools/src/base/error_handling_io.dart:485:12)
#6      _createPlatformPluginSymlinks (package:flutter_tools/src/flutter_plugins.dart:1015:22)
#7      createPluginSymlinks (package:flutter_tools/src/flutter_plugins.dart:964:5)
#8      refreshPluginsList (package:flutter_tools/src/flutter_plugins.dart:1055:5)
<asynchronous suspension>
#9      FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:316:5)
<asynchronous suspension>
#10     PackagesGetCommand.runCommand (package:flutter_tools/src/commands/packages.dart:177:5)
<asynchronous suspension>
#11     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1161:27)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#13     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#14     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#15     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#16     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)

[✓] Flutter (Channel stable, 2.10.0, on Microsoft Windows [Version 10.0.19044.2728], locale zh-CN)
    • Flutter version 2.10.0 at D:\environment\flutter_stable\flutter_windows_2.10.0-stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5f105a6ca7 (1 year, 2 months ago), 2022-02-01 14:15:42 -0800
    • Engine revision 776efd2034
    • Dart version 2.16.0
    • DevTools version 2.9.2
    • 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 33.0.0)
    • Android SDK at D:\environment\AndroidSDK\Sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: E:\software\AndroidStudio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = C:\Program Files\Google\Chrome\Application\Chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Professional 2022 17.5.2)
    • Visual Studio at E:\software\vs
    • Visual Studio Professional 2022 version 17.5.33502.453
    • Windows 10 SDK version 10.0.22000.0

[✓] Android Studio (version 2021.2)
    • Android Studio at E:\software\AndroidStudio
    • 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+7-b1504.28-7817840)

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19044.2728]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 111.0.5563.66
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 111.0.1661.44

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

• No issues found!

Flutter Application Metadata
Type: app
Version: 2.1.0
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: 18116933e77adc82f80866c928266a5b4f1ed645
Plugins
audioplayers-1.1.1
audioplayers_android-1.1.3
audioplayers_darwin-1.0.4
audioplayers_linux-1.0.2
audioplayers_web-2.0.1
audioplayers_windows-1.1.1
device_info-0.4.2+6
fast_rsa-3.4.7
file_picker-4.6.1
flutter_plugin_android_lifecycle-2.0.7
local_authentication
package_info-0.4.3+4
path_provider-2.0.11
path_provider_android-2.0.22
path_provider_ios-2.0.11
path_provider_linux-2.1.7
path_provider_macos-2.0.7
path_provider_windows-2.0.7
permission_handler-3.3.0
screen_retriever-0.1.6
shared_preferences-2.0.17
shared_preferences_android-2.0.15
shared_preferences_foundation-2.1.2
shared_preferences_linux-2.1.3
shared_preferences_web-2.0.4
shared_preferences_windows-2.1.3
sqflite-2.0.2+1
url_launcher-6.1.8
url_launcher_android-6.0.23
url_launcher_ios-6.0.18
url_launcher_linux-3.0.2
url_launcher_macos-3.0.2
url_launcher_web-2.0.14
url_launcher_windows-3.0.2
webview_windows-0.2.1
window_manager-0.2.7

Channel stable, 2.10.0

@Li-00 You are on very old version of the framework. Please upgrade to latest stable or master which has likely fixed the issue already.
Closing for now.


1 vulnerability required manual review and could not be updated

I am new to using node and relatively new to reveal js but I desperately want to break up my slides into section, and your plugin seems perfect for it.
However, I get some issues when installing:
$ npm audit fix
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\rollup\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

up to date in 3.428s

20 packages are looking for funding
  run `npm fund` for details

found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

$ npm audit fix
  fixed 0 of 1 vulnerability in 928 scanned packages
  1 vulnerability required manual review and could not be updated

I have also tried manually downloading the external folder into the reveal.js plugins folder, but I just get an empty page when I build the site. Not quite sure what I am missing.

I think you are on the right path.

https://github.com/janschoepke/reveal_external/tree/master/example/js


strict pinning of Jedi and Parso still needed?

Is it still necessary to pin to very specific versions of Jedi and Parso? I see you pinned to 0.15.2 in #11809 but rolling distributions might want to have newer versions. OpenSUSE Tumbleweed is already on 0.16.0 (and will actually even include some commits newer than the release soon)
I did not encounter an immediate problem on my tests with Jedi 0.16.0 and Spyder 4.1.1
Maybe @davidhalter can chime in about possilby breaking API changes between 0.15 and 0.16 and how to catch API changes in unit tests for future Spyder development?

Is it still necessary to pin to very specific versions of Jedi and Parso?

I'm sorry but we don't have plans to change this until 4.2.0, to be released in June or July.

I did not encounter an immediate problem on my tests with Jedi 0.16.0 and Spyder 4.1.1

That doesn't mean that our entire test suite, along with the python-language-server one (which we co-maintain) is passing. It's hard enough to try stabilize 4.1.0 to move to a new Jedi version on top of that.
So if you want to see this happening, please open PRs here and in the python-language-server repo, update the requirement accordingly and make them pass.

Maybe @davidhalter can chime in about possilby breaking API changes between 0.15 and 0.16 and how to catch API changes in unit tests for future Spyder development?

We've had a couple of discussions with him about this in the PyLS repo and he knows my position about it.

Are you talking about palantir/python-language-server or spyder-pyls? Or is the latter just a development repo?)
Because, if you strictly need PyLS from your own fork it would be great to let distro package maintainers know by documenting it! Right now the OpenSUSE package uses the plain upstream version.
And the unittest suite for the spyder3 package there passes, except for the excluded tests. Note that the package will be renamed to spyder soon. (Ironically that version does not build yet because it cannot resolve the dependency to PyLS>=0.31.9 yet)

@bnavigator you can ignore  spyder-pyls that is a dev repo, so @ccordoba12 meant  palantir/python-language-server

Maybe @davidhalter can chime in about possilby breaking API changes between 0.15 and 0.16 and how to catch API changes in unit tests for future Spyder development?

There are deprecations between these versions. Minor ones, but I understand that people don't automatically upgrade. IMO pinning is a good way, people should just try to upgrade sooner :).
Jedi will be 1.0 soon. At that point removals of features will only happen on major releases. Then it might make sense to "auto-upgrade" Jedi for minor versions, for now it doesn't. Auto-upgrading micro versions always made sense.

IMO pinning is a good way, people should just try to upgrade sooner :)

Glad you agree on us pinning Jedi. I understand we should try to upgrade sooner, but with a rate of 200 to 300 bugs per month, maintaining Spyder and trying to keep it stable is a very hard job. So we prefer to stick to a particular Jedi version instead of risking to receive a huge amount of bugs in case an update breaks us.

Jedi will be 1.0 soon. At that point removals of features will only happen on major releases. Then it might make sense to "auto-upgrade" Jedi for minor versions, for now it doesn't. Auto-upgrading micro versions always made sense.

Ok, thanks for the heads up! Then we'll wait until 1.0 is released and add a >=1.0,<2.0 constraint.

I understand your reasoning. It works for the conda world. But Linux distributions work differently.
As my efforts trying to get Spyder and PyLS to a current version of Jedi and Parso (#11984) did not get any support, my next approach is to provide packages for the pinned versions. We cannot use just the old packages from a while ago, because they were built for older dependencies including older Python versions. OpenSUSE Tumbleweed has Python 3.8 now. Parso builds fine and passes unit tests. Jedi does not.
[   33s] =================================== FAILURES ===================================
[   33s] ________________________ [doctest] jedi.api.Interpreter ________________________
[   33s] 426
[   33s] 427     In addition to completion of simple attribute access, Jedi
[   33s] 428     supports code completion based on static code analysis.
[   33s] 429     Jedi can complete attributes of object which is not initialized
[   33s] 430     yet.
[   33s] 431
[   33s] 432     >>> from os.path import join
[   33s] 433     >>> namespace = locals()
[   33s] 434     >>> script = Interpreter('join("").up', [namespace])
[   33s] 435     >>> print(script.completions()[0].name)
[   33s] UNEXPECTED EXCEPTION: IndexError('list index out of range')
[   33s] Traceback (most recent call last):
[   33s]
[   33s]   File "/usr/lib64/python3.8/doctest.py", line 1329, in __run
[   33s]     exec(compile(example.source, filename, "single",
[   33s]
[   33s]   File "<doctest jedi.api.Interpreter[3]>", line 1, in <module>
[   33s]
[   33s] IndexError: list index out of range

[...]

[   33s] test/test_inference/test_gradual/test_typeshed.py:144: AssertionError
[   33s] === 46 failed, 810 passed, 32 skipped, 1867 deselected, 1 xfailed in 26.18s ====

The situation gets more complicated: The current package of python-jedi-0.16.0 does not even run the unittest, because -- according to the comment in the specfile --  the bundled typeshed not used in the distro causes problems. It is unclear to me, whether also disabling unit tests for the 0.15.2 package produces a usable package for Sypder/PyLS or if that is no improvement to just unpinning the versions in the Spyder specfile.
Probably better to discuss the Jedi problems in the Jedi repo than here. Just wanted to give you a bigger picture.
Would you consider maintaining an "LTS" branch of Jedi 0.15 and co.,  where you backport fixes for e.g. Python 3.8 support without changing the API?

Probably better to discuss the Jedi problems in the Jedi repo than here. Just wanted to give you a bigger picture.
Would you consider maintaining an "LTS" branch of Jedi 0.15 and co., where you backport fixes for e.g. Python 3.8 support without changing the API?

There's nothing to discuss there - from Jedi's side everything is fine, I'm not patching old versions.
If somebody is paying for that I might reconsider. Jedi versions are mostly backwards compatible and 0.16 fixes a lot of bugs that would be annoying to backport.
IMO you can probably just use Jedi 0.16 with Spyder at your own risk for the time being. Everything probably works. To be officially supported in Spyder you probably have to do the heavy lifting yourself, create a PR here that makes it possible for Spyder to use Jedi 0.16 properly.

IMO you can probably just use Jedi 0.16 with Spyder at your own risk for the time being. Everything probably works.

Well, then we are back at the beginning of this thread. That's what our package is doing right now. My question was whether this is a viable option or whether the pinning is strictly necessary.

As I said, you can probably do it at your own risk, at that point you should probably just help out the spyder maintainers with bug reports, otherwise it's not really fair, because your users will post issues here.
In case you really want to help, probably just try to upgrade Jedi and get the CI passing for Spyder, at that point I think @ccordoba12 will probably also be happy to merge.

Yeah we still have most of the test suite active during the package build. Any fixes relevant for upstream will be reported.

Closing this because we're going to always require a strict pinning on those packages to avoid surprises with new Jedi versions.


Vue and Horizon

Hi, I'm still checking Vue out at this point and was wondering if there was any plans for a Horizon module? I'm seeing a lot of interest in Horizon from other frameworks these days, for example:
<EMAIL_ADDRESS>https://github.com/lifegadget/ember-horizon
Vue without solid Horizon support does not work for me. I need an alternative to Vuex/Redux and a tight integration between Vue and Horizon would do it. Horizon is taking the world by storm, check it out:
https://rethinkdbweekly.curated.co

It's trivial to sync Vue with Horizon, there are even official Horizon examples using Vue: https://github.com/rethinkdb/horizon/tree/next/examples
Currently the team has no bandwidth for it.

Right and thanks, forgot about those "official Horizon examples" in the heat of the pace here. It might be a worthwhile idea to highlight how "trivial to sync" Vue actually is somewhere in plain sight.


Correct ssh configuration cleaning

While the hypervisor name was added to the "mark" on the laptop, we
don't have it when we update the config on the hypervisor itself.
This patch corrects the wrong cleaning.
In order to ensure environment are in a right state, it also ensures
older configuration "marker" are removed from the laptop. This block may
be removed in a few weeks.
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/approve


Implement floating point

Part of #208

Submit batch cost is now brought down from 519144 to 452234 because the amount and fees are reduced from 4 bytes to 2 bytes.

Thanks for the review!


Adding toJSON, fromJSON and equals to IdInternal

Description
This adds the methods of toJSON, fromJSONand equals.
The JSON methods matches the behaviour of Node's buffer. It allows us to marshal IdInternal into JSON and back with the appropriate reviver.
    const id = IdInternal.create([97, 98, 99]);
    const json = JSON.stringify(id);
    const id_ = JSON.parse(json, (k, v) => {
      return IdInternal.fromJSON(v) ?? v;
    });

Notice that JSON.stringify does not need a special replacer. This is already done by having a toJSON method in the IdInternal class.
In the case of JSON.parse, when it will convert any { type: 'IdInternal', data: [ ... ] } into the IdInternal object.
This is important as in some cases, when storing Ids where JSON is expected, this allow us to unmarshal back to the canonical binary ID representation rather than always encoding it as a string.
The above reviver will default if it's not an valid IdInternal object.
Additionally the equals method provides an efficient way to check for IdInternal equality.
    const id1 = IdInternal.create([97, 98, 99]);
    const id2 = IdInternal.create([97, 98, 99]);
    const id3 = IdInternal.create([97, 98, 100]);
    expect(id1.equals(id2)).toBe(true);
    expect(id1.equals(id3)).toBe(false);

Issues Fixed

Related to https://github.com/MatrixAI/js-polykey/pull/318#pullrequestreview-864380012

Tasks

[ ] Added toJSON and fromJSON and tests
[ ] Added equals and tests
[ ] Ensured that fromJSON can be used inside the reviver of JSON.parse

Final checklist

[ ] Domain specific tests
[ ] Full tests
[ ] Updated inline-comment documentation
[ ] Lint fixed
[ ] Squash and rebased
[ ] Sanity check the final build

@tegefaulkes @joshuakarp. This is ready to be used and will be released as 3.3.0. You can replace any equality comparison in the src code with equals instead of converting to binary string.
Furthermore, the toJSON may not be used for now because you're using NodeIdEncoded, but this gives us the opportunity to change if we need to.

Some fixes for the previous PR too.

fromString doesn't return undefined, any binary string is valid Id
fromBuffer doesn't return undefined, any buffer is valid Id

This means some ! assertions may not be needed.
@tegefaulkes


[iOS] Raster Jank with Listview when resuming the app from background or going from screen off to screen on

Steps to reproduce
Frame drops due to raster jank when rendering ListViews.

Create a new flutter project
Start the attached minimal Code sample
Scroll up/down the list

Performance tab in profile mode shows raster jank especially (but not exclusively) when resuming the app from background / going from screen off -> screen on. The issues does not appear when iOS Screen Recording is active.
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(MyHomePage());
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: ListView.builder(
          itemCount: 10000,
          itemBuilder: (context, index) => Text("$index"),
        ),
      ),
    );
  }
}

Performance profiling on master channel

[X] The issue still persists on the master channel

Timeline Traces
Timeline Traces JSON
{"devToolsSnapshot":true,"devToolsVersion":"2.28.5","connectedApp":{"isFlutterApp":true,"isProfileBuild":true,"isDartWebApp":false,"isRunningOnDartVM":true,"operatingSystem":"ios","flutterVersion":"3.16.8"},"activeScreenId":"performance","performance":{"selectedFrameId":null,"flutterFrames":[{"number":3369,"startTime":29867346556,"elapsed":1971,"build":162,"raster":1727,"vsyncOverhead":47},{"number":3372,"startTime":29867679477,"elapsed":1600,"build":426,"raster":1040,"vsyncOverhead":89},{"number":3374,"startTime":29867696114,"elapsed":1887,"build":935,"raster":635,"vsyncOverhead":81},{"number":3376,"startTime":29867712766,"elapsed":1772,"build":758,"raster":697,"vsyncOverhead":88},{"number":3378,"startTime":29867729462,"elapsed":2163,"build":1139,"raster":835,"vsyncOverhead":139},{"number":3380,"startTime":29867746276,"elapsed":3614,"build":1942,"raster":1327,"vsyncOverhead":300},{"number":3382,"startTime":29867762724,"elapsed":3199,"build":1823,"raster":1210,"vsyncOverhead":111},{"number":3384,"startTime":29867779371,"elapsed":2161,"build":802,"raster":1170,"vsyncOverhead":113},{"number":3386,"startTime":29867796039,"elapsed":2104,"build":905,"raster":1018,"vsyncOverhead":136},{"number":3388,"startTime":29867812652,"elapsed":3626,"build":2117,"raster":1355,"vsyncOverhead":104},{"number":3390,"startTime":29867829257,"elapsed":2738,"build":1326,"raster":979,"vsyncOverhead":64},{"number":3392,"startTime":29867845992,"elapsed":2275,"build":897,"raster":909,"vsyncOverhead":155},{"number":3394,"startTime":29867862620,"elapsed":3192,"build":1844,"raster":1156,"vsyncOverhead":138},{"number":3396,"startTime":29867879456,"elapsed":2112,"build":817,"raster":782,"vsyncOverhead":328},{"number":3398,"startTime":29867895894,"elapsed":2448,"build":1307,"raster":973,"vsyncOverhead":121},{"number":3400,"startTime":29867912550,"elapsed":1964,"build":1040,"raster":749,"vsyncOverhead":132},{"number":3402,"startTime":29867929193,"elapsed":2987,"build":1545,"raster":1264,"vsyncOverhead":130},{"number":3404,"startTime":29867945796,"elapsed":2607,"build":1439,"raster":1030,"vsyncOverhead":88},{"number":3406,"startTime":29867962487,"elapsed":3679,"build":1943,"raster":1555,"vsyncOverhead":134},{"number":3408,"startTime":29867979085,"elapsed":2142,"build":1167,"raster":841,"vsyncOverhead":86},{"number":3410,"startTime":29867995780,"elapsed":2576,"build":929,"raster":1454,"vsyncOverhead":136},{"number":3412,"startTime":29868012359,"elapsed":2022,"build":883,"raster":1023,"vsyncOverhead":71},{"number":3414,"startTime":29868029072,"elapsed":2179,"build":1042,"raster":951,"vsyncOverhead":139},{"number":3416,"startTime":29868045664,"elapsed":2369,"build":1220,"raster":870,"vsyncOverhead":85},{"number":3418,"startTime":29868062318,"elapsed":3157,"build":1505,"raster":1507,"vsyncOverhead":95},{"number":3420,"startTime":29868078940,"elapsed":1666,"build":808,"raster":738,"vsyncOverhead":72},{"number":3422,"startTime":29868095636,"elapsed":2156,"build":1078,"raster":902,"vsyncOverhead":122},{"number":3424,"startTime":29868112309,"elapsed":2023,"build":869,"raster":969,"vsyncOverhead":143},{"number":3426,"startTime":29868128972,"elapsed":2355,"build":841,"raster":1298,"vsyncOverhead":169},{"number":3428,"startTime":29868145539,"elapsed":2104,"build":931,"raster":993,"vsyncOverhead":91},{"number":3430,"startTime":29868162177,"elapsed":2208,"build":1080,"raster":1002,"vsyncOverhead":84},{"number":3432,"startTime":29868178821,"elapsed":2375,"build":1225,"raster":1026,"vsyncOverhead":82},{"number":3434,"startTime":29868195516,"elapsed":1544,"build":611,"raster":762,"vsyncOverhead":133},{"number":3436,"startTime":29868212338,"elapsed":2174,"build":817,"raster":991,"vsyncOverhead":309},{"number":3438,"startTime":29868228981,"elapsed":2087,"build":753,"raster":981,"vsyncOverhead":308},{"number":3440,"startTime":29868245406,"elapsed":1995,"build":876,"raster":989,"vsyncOverhead":87},{"number":3442,"startTime":29868262031,"elapsed":2117,"build":799,"raster":982,"vsyncOverhead":68},{"number":3444,"startTime":29868278685,"elapsed":1840,"build":754,"raster":969,"vsyncOverhead":77},{"number":3446,"startTime":29868295556,"elapsed":2004,"build":538,"raster":1123,"vsyncOverhead":302},{"number":3448,"startTime":29868312002,"elapsed":2070,"build":1094,"raster":824,"vsyncOverhead":103},{"number":3450,"startTime":29868328616,"elapsed":1990,"build":575,"raster":1151,"vsyncOverhead":72},{"number":3452,"startTime":29868345256,"elapsed":1953,"build":863,"raster":976,"vsyncOverhead":67},{"number":3454,"startTime":29868361908,"elapsed":2957,"build":1712,"raster":1120,"vsyncOverhead":74},{"number":3456,"startTime":29868378596,"elapsed":1635,"build":699,"raster":770,"vsyncOverhead":117},{"number":3458,"startTime":29868395190,"elapsed":1836,"build":735,"raster":995,"vsyncOverhead":66},{"number":3460,"startTime":29868412107,"elapsed":1773,"build":442,"raster":938,"vsyncOverhead":338},{"number":3462,"startTime":29868428569,"elapsed":1680,"build":669,"raster":814,"vsyncOverhead":155},{"number":3464,"startTime":29868445190,"elapsed":2118,"build":720,"raster":992,"vsyncOverhead":131},{"number":3466,"startTime":29868461848,"elapsed":1595,"build":491,"raster":921,"vsyncOverhead":144},{"number":3468,"startTime":29868478507,"elapsed":2349,"build":984,"raster":1154,"vsyncOverhead":158},{"number":3470,"startTime":29868495125,"elapsed":2040,"build":792,"raster":880,"vsyncOverhead":131},{"number":3472,"startTime":29868511768,"elapsed":1849,"build":723,"raster":954,"vsyncOverhead":129},{"number":3474,"startTime":29868528718,"elapsed":1751,"build":453,"raster":808,"vsyncOverhead":434},{"number":3476,"startTime":29868545081,"elapsed":1782,"build":800,"raster":780,"vsyncOverhead":152},{"number":3478,"startTime":29868561703,"elapsed":3265,"build":1508,"raster":1223,"vsyncOverhead":129},{"number":3480,"startTime":29868578364,"elapsed":1610,"build":462,"raster":962,"vsyncOverhead":145},{"number":3482,"startTime":29868594945,"elapsed":1629,"build":688,"raster":817,"vsyncOverhead":81},{"number":3484,"startTime":29868611649,"elapsed":3265,"build":1781,"raster":1291,"vsyncOverhead":140},{"number":3486,"startTime":29868628252,"elapsed":1309,"build":405,"raster":756,"vsyncOverhead":98},{"number":3488,"startTime":29868645087,"elapsed":1770,"build":483,"raster":956,"vsyncOverhead":287},{"number":3490,"startTime":29868661514,"elapsed":3545,"build":1135,"raster":1831,"vsyncOverhead":69},{"number":3492,"startTime":29868678158,"elapsed":1451,"build":373,"raster":967,"vsyncOverhead":69},{"number":3494,"startTime":29868694838,"elapsed":1523,"build":638,"raster":747,"vsyncOverhead":104},{"number":3496,"startTime":29868711457,"elapsed":1703,"build":631,"raster":955,"vsyncOverhead":77},{"number":3498,"startTime":29868728102,"elapsed":1844,"build":559,"raster":1170,"vsyncOverhead":77},{"number":3500,"startTime":29868744774,"elapsed":2443,"build":876,"raster":1407,"vsyncOverhead":104},{"number":3502,"startTime":29868761406,"elapsed":1472,"build":429,"raster":912,"vsyncOverhead":91},{"number":3504,"startTime":29868778299,"elapsed":2168,"build":657,"raster":1127,"vsyncOverhead":339},{"number":3506,"startTime":29868794688,"elapsed":1995,"build":901,"raster":954,"vsyncOverhead":83},{"number":3508,"startTime":29868811383,"elapsed":1792,"build":883,"raster":731,"vsyncOverhead":133},{"number":3510,"startTime":29868827979,"elapsed":1860,"build":977,"raster":756,"vsyncOverhead":84},{"number":3512,"startTime":29868844641,"elapsed":2024,"build":940,"raster":941,"vsyncOverhead":101},{"number":3514,"startTime":29868861261,"elapsed":2342,"build":1007,"raster":1211,"vsyncOverhead":76},{"number":3516,"startTime":29868877906,"elapsed":1620,"build":758,"raster":742,"vsyncOverhead":76},{"number":3518,"startTime":29868894553,"elapsed":2070,"build":1024,"raster":917,"vsyncOverhead":78},{"number":3520,"startTime":29868911201,"elapsed":2270,"build":992,"raster":1056,"vsyncOverhead":80},{"number":3522,"startTime":29868927859,"elapsed":1980,"build":751,"raster":870,"vsyncOverhead":93},{"number":3524,"startTime":29868944526,"elapsed":2035,"build":963,"raster":764,"vsyncOverhead":116},{"number":3526,"startTime":29868961333,"elapsed":1812,"build":605,"raster":890,"vsyncOverhead":278},{"number":3528,"startTime":29868977810,"elapsed":1935,"build":1016,"raster":765,"vsyncOverhead":110},{"number":3530,"startTime":29868994443,"elapsed":1761,"build":661,"raster":740,"vsyncOverhead":98},{"number":3532,"startTime":29869011105,"elapsed":1891,"build":871,"raster":852,"vsyncOverhead":115},{"number":3534,"startTime":29869027974,"elapsed":1943,"build":731,"raster":830,"vsyncOverhead":339},{"number":3536,"startTime":29869044354,"elapsed":1922,"build":880,"raster":928,"vsyncOverhead":73},{"number":3538,"startTime":29869060999,"elapsed":3775,"build":1763,"raster":1836,"vsyncOverhead":73},{"number":3540,"startTime":29869077641,"elapsed":1360,"build":305,"raster":945,"vsyncOverhead":71},{"number":3542,"startTime":29869094343,"elapsed":1875,"build":693,"raster":1011,"vsyncOverhead":127},{"number":3544,"startTime":29869111038,"elapsed":2507,"build":764,"raster":1245,"vsyncOverhead":310},{"number":3546,"startTime":29869127507,"elapsed":2714,"build":1388,"raster":1139,"vsyncOverhead":135},{"number":3548,"startTime":29869144113,"elapsed":1950,"build":882,"raster":920,"vsyncOverhead":97},{"number":3550,"startTime":29869160767,"elapsed":1747,"build":756,"raster":840,"vsyncOverhead":107},{"number":3552,"startTime":29869177402,"elapsed":2229,"build":1130,"raster":955,"vsyncOverhead":98},{"number":3554,"startTime":29869194011,"elapsed":1858,"build":953,"raster":803,"vsyncOverhead":63},{"number":3556,"startTime":29869210656,"elapsed":2199,"build":1346,"raster":739,"vsyncOverhead":63},{"number":3558,"startTime":29869227308,"elapsed":2103,"build":870,"raster":898,"vsyncOverhead":71},{"number":3560,"startTime":29869243990,"elapsed":1909,"build":875,"raster":883,"vsyncOverhead":109},{"number":3562,"startTime":29869260892,"elapsed":3347,"build":1692,"raster":1234,"vsyncOverhead":366},{"number":3564,"startTime":29869277255,"elapsed":2663,"build":1085,"raster":1400,"vsyncOverhead":84},{"number":3566,"startTime":29869293966,"elapsed":2426,"build":1070,"raster":1105,"vsyncOverhead":151},{"number":3568,"startTime":29869310592,"elapsed":2257,"build":1078,"raster":1006,"vsyncOverhead":134},{"number":3570,"startTime":29869327236,"elapsed":2066,"build":1134,"raster":744,"vsyncOverhead":133},{"number":3572,"startTime":29869343906,"elapsed":2358,"build":854,"raster":1089,"vsyncOverhead":159},{"number":3574,"startTime":29869360525,"elapsed":2144,"build":1002,"raster":964,"vsyncOverhead":133},{"number":3576,"startTime":29869377384,"elapsed":1955,"build":828,"raster":735,"vsyncOverhead":348},{"number":3578,"startTime":29869393825,"elapsed":2335,"build":1235,"raster":778,"vsyncOverhead":145},{"number":3580,"startTime":29869410451,"elapsed":1912,"build":937,"raster":806,"vsyncOverhead":127},{"number":3582,"startTime":29869427110,"elapsed":2264,"build":1013,"raster":775,"vsyncOverhead":142},{"number":3584,"startTime":29869443687,"elapsed":1911,"build":1027,"raster":766,"vsyncOverhead":74},{"number":3586,"startTime":29869460618,"elapsed":2003,"build":733,"raster":866,"vsyncOverhead":361},{"number":3588,"startTime":29869476989,"elapsed":2150,"build":1088,"raster":931,"vsyncOverhead":87},{"number":3590,"startTime":29869493614,"elapsed":2040,"build":1117,"raster":784,"vsyncOverhead":68},{"number":3592,"startTime":29869527331,"elapsed":18914,"build":806,"raster":916,"vsyncOverhead":17141},{"number":3594,"startTime":29869543555,"elapsed":1928,"build":953,"raster":856,"vsyncOverhead":76},{"number":3596,"startTime":29869560191,"elapsed":18266,"build":977,"raster":17177,"vsyncOverhead":68},{"number":3598,"startTime":29869576885,"elapsed":2430,"build":833,"raster":707,"vsyncOverhead":118},{"number":3600,"startTime":29869593555,"elapsed":36130,"build":646,"raster":35299,"vsyncOverhead":143},{"number":3602,"startTime":29869610191,"elapsed":20293,"build":1102,"raster":709,"vsyncOverhead":135},{"number":3606,"startTime":29869643480,"elapsed":34897,"build":119,"raster":34601,"vsyncOverhead":135},{"number":3608,"startTime":29869660136,"elapsed":19102,"build":436,"raster":615,"vsyncOverhead":147},{"number":3612,"startTime":29869693358,"elapsed":34757,"build":1128,"raster":33500,"vsyncOverhead":81},{"number":3614,"startTime":29869710020,"elapsed":18924,"build":1036,"raster":703,"vsyncOverhead":98},{"number":3618,"startTime":29869743330,"elapsed":34510,"build":734,"raster":33611,"vsyncOverhead":120},{"number":3620,"startTime":29869759993,"elapsed":18699,"build":987,"raster":581,"vsyncOverhead":139},{"number":3624,"startTime":29869793263,"elapsed":34711,"build":1444,"raster":33106,"vsyncOverhead":120},{"number":3626,"startTime":29869809878,"elapsed":18859,"build":1318,"raster":687,"vsyncOverhead":90},{"number":3630,"startTime":29869843238,"elapsed":34752,"build":2855,"raster":31613,"vsyncOverhead":162},{"number":3632,"startTime":29869859781,"elapsed":19056,"build":867,"raster":663,"vsyncOverhead":61},{"number":3636,"startTime":29869893135,"elapsed":34658,"build":2853,"raster":31566,"vsyncOverhead":126},{"number":3638,"startTime":29869909807,"elapsed":18827,"build":1794,"raster":708,"vsyncOverhead":154},{"number":3642,"startTime":29869943071,"elapsed":34523,"build":2274,"raster":31917,"vsyncOverhead":129},{"number":3644,"startTime":29869959702,"elapsed":18684,"build":3337,"raster":710,"vsyncOverhead":116},{"number":3648,"startTime":29869992937,"elapsed":34677,"build":2215,"raster":32342,"vsyncOverhead":62},{"number":3650,"startTime":29870009650,"elapsed":18714,"build":1000,"raster":575,"vsyncOverhead":131},{"number":3654,"startTime":29870042858,"elapsed":34153,"build":947,"raster":33121,"vsyncOverhead":51},{"number":3656,"startTime":29870059578,"elapsed":18172,"build":809,"raster":590,"vsyncOverhead":127},{"number":3660,"startTime":29870092819,"elapsed":34483,"build":1014,"raster":33357,"vsyncOverhead":79},{"number":3662,"startTime":29870109449,"elapsed":18402,"build":1066,"raster":471,"vsyncOverhead":65},{"number":3666,"startTime":29870142732,"elapsed":34367,"build":1406,"raster":32853,"vsyncOverhead":59},{"number":3668,"startTime":29870159384,"elapsed":18472,"build":556,"raster":655,"vsyncOverhead":67},{"number":3672,"startTime":29870192594,"elapsed":34784,"build":969,"raster":33442,"vsyncOverhead":111},{"number":3674,"startTime":29870209233,"elapsed":18842,"build":693,"raster":596,"vsyncOverhead":116},{"number":3678,"startTime":29870242565,"elapsed":34657,"build":980,"raster":33300,"vsyncOverhead":159},{"number":3680,"startTime":29870259189,"elapsed":18826,"build":826,"raster":708,"vsyncOverhead":139},{"number":3684,"startTime":29870292395,"elapsed":34840,"build":1626,"raster":33106,"vsyncOverhead":58},{"number":3686,"startTime":29870309095,"elapsed":18884,"build":812,"raster":568,"vsyncOverhead":115},{"number":3690,"startTime":29870342400,"elapsed":34538,"build":1204,"raster":33152,"vsyncOverhead":132},{"number":3692,"startTime":29870359020,"elapsed":18692,"build":951,"raster":691,"vsyncOverhead":109},{"number":3696,"startTime":29870392326,"elapsed":34713,"build":1038,"raster":33503,"vsyncOverhead":127},{"number":3698,"startTime":29870408976,"elapsed":18977,"build":1511,"raster":635,"vsyncOverhead":133},{"number":3702,"startTime":29870442249,"elapsed":34851,"build":1606,"raster":32889,"vsyncOverhead":118},{"number":3704,"startTime":29870458909,"elapsed":19064,"build":771,"raster":731,"vsyncOverhead":135},{"number":3708,"startTime":29870492180,"elapsed":34584,"build":854,"raster":33568,"vsyncOverhead":118},{"number":3710,"startTime":29870509139,"elapsed":18736,"build":850,"raster":556,"vsyncOverhead":433},{"number":3714,"startTime":29870542093,"elapsed":34863,"build":988,"raster":33725,"vsyncOverhead":100},{"number":3716,"startTime":29870558771,"elapsed":19057,"build":775,"raster":728,"vsyncOverhead":134},{"number":3720,"startTime":29870592063,"elapsed":34698,"build":1011,"raster":33493,"vsyncOverhead":139},{"number":3722,"startTime":29870608650,"elapsed":18913,"build":962,"raster":582,"vsyncOverhead":82},{"number":3726,"startTime":29870641995,"elapsed":35422,"build":1240,"raster":33988,"vsyncOverhead":139},{"number":3728,"startTime":29870658578,"elapsed":20411,"build":513,"raster":1435,"vsyncOverhead":79},{"number":3732,"startTime":29870691860,"elapsed":34874,"build":144,"raster":34416,"vsyncOverhead":73},{"number":3734,"startTime":29870708508,"elapsed":19032,"build":435,"raster":728,"vsyncOverhead":77},{"number":3738,"startTime":29870741822,"elapsed":34718,"build":711,"raster":33862,"vsyncOverhead":103},{"number":3740,"startTime":29870758455,"elapsed":18782,"build":1539,"raster":600,"vsyncOverhead":92},{"number":3744,"startTime":29870791760,"elapsed":34743,"build":898,"raster":33684,"vsyncOverhead":111},{"number":3746,"startTime":29870808372,"elapsed":19026,"build":688,"raster":798,"vsyncOverhead":79},{"number":3750,"startTime":29870841662,"elapsed":34739,"build":1091,"raster":33521,"vsyncOverhead":81},{"number":3752,"startTime":29870858334,"elapsed":18888,"build":706,"raster":691,"vsyncOverhead":109},{"number":3756,"startTime":29870891581,"elapsed":34603,"build":1656,"raster":32827,"vsyncOverhead":69},{"number":3758,"startTime":29870908246,"elapsed":18740,"build":674,"raster":678,"vsyncOverhead":90},{"number":3762,"startTime":29870941519,"elapsed":34741,"build":710,"raster":33909,"vsyncOverhead":77},{"number":3764,"startTime":29870958433,"elapsed":18789,"build":724,"raster":594,"vsyncOverhead":344},{"number":3768,"startTime":29870991473,"elapsed":34490,"build":922,"raster":33284,"vsyncOverhead":99},{"number":3770,"startTime":29871008142,"elapsed":18634,"build":907,"raster":690,"vsyncOverhead":124},{"number":3774,"startTime":29871041437,"elapsed":34791,"build":1002,"raster":33607,"vsyncOverhead":131},{"number":3776,"startTime":29871058077,"elapsed":18889,"build":599,"raster":647,"vsyncOverhead":127},{"number":3780,"startTime":29871091394,"elapsed":34727,"build":952,"raster":33415,"vsyncOverhead":156},{"number":3782,"startTime":29871108041,"elapsed":19007,"build":500,"raster":795,"vsyncOverhead":160},{"number":3786,"startTime":29871141228,"elapsed":34539,"build":919,"raster":33506,"vsyncOverhead":60},{"number":3788,"startTime":29871158140,"elapsed":18814,"build":476,"raster":646,"vsyncOverhead":328},{"number":3792,"startTime":29871191417,"elapsed":34563,"build":826,"raster":33379,"vsyncOverhead":318},{"number":3794,"startTime":29871207833,"elapsed":18815,"build":793,"raster":785,"vsyncOverhead":90},{"number":3798,"startTime":29871250369,"elapsed":34522,"build":693,"raster":24444,"vsyncOverhead":9339},{"number":3800,"startTime":29871257666,"elapsed":18890,"build":627,"raster":769,"vsyncOverhead":125},{"number":3804,"startTime":29871290960,"elapsed":35726,"build":912,"raster":34641,"vsyncOverhead":132},{"number":3806,"startTime":29871307612,"elapsed":20206,"build":466,"raster":913,"vsyncOverhead":141},{"number":3810,"startTime":29871340847,"elapsed":34560,"build":298,"raster":33978,"vsyncOverhead":90},{"number":3812,"startTime":29871357510,"elapsed":18692,"build":427,"raster":696,"vsyncOverhead":109},{"number":3816,"startTime":29871390825,"elapsed":34577,"build":896,"raster":33500,"vsyncOverhead":138},{"number":3818,"startTime":29871407453,"elapsed":18763,"build":825,"raster":564,"vsyncOverhead":123},{"number":3822,"startTime":29871440752,"elapsed":34752,"build":1121,"raster":33449,"vsyncOverhead":135},{"number":3824,"startTime":29871457385,"elapsed":18890,"build":813,"raster":678,"vsyncOverhead":125},{"number":3828,"startTime":29871490616,"elapsed":34578,"build":1677,"raster":32752,"vsyncOverhead":70},{"number":3830,"startTime":29871507314,"elapsed":18919,"build":528,"raster":732,"vsyncOverhead":125},{"number":3834,"startTime":29871540601,"elapsed":34749,"build":906,"raster":33462,"vsyncOverhead":125},{"number":3836,"startTime":29871557277,"elapsed":18893,"build":1561,"raster":688,"vsyncOverhead":157},{"number":3840,"startTime":29871590472,"elapsed":34827,"build":648,"raster":34072,"vsyncOverhead":66},{"number":3842,"startTime":29871607190,"elapsed":19011,"build":649,"raster":567,"vsyncOverhead":140},{"number":3846,"startTime":29871640466,"elapsed":34715,"build":732,"raster":33809,"vsyncOverhead":130},{"number":3848,"startTime":29871657119,"elapsed":18820,"build":1412,"raster":649,"vsyncOverhead":140},{"number":3852,"startTime":29871690391,"elapsed":34411,"build":983,"raster":33272,"vsyncOverhead":126},{"number":3854,"startTime":29871706962,"elapsed":18543,"build":629,"raster":523,"vsyncOverhead":54},{"number":3858,"startTime":29871740248,"elapsed":34662,"build":820,"raster":33756,"vsyncOverhead":53},{"number":3860,"startTime":29871756913,"elapsed":18729,"build":579,"raster":623,"vsyncOverhead":74},{"number":3864,"startTime":29871790211,"elapsed":34681,"build":699,"raster":33854,"vsyncOverhead":86},{"number":3866,"startTime":29871806838,"elapsed":18943,"build":696,"raster":786,"vsyncOverhead":70},{"number":3870,"startTime":29871840140,"elapsed":35289,"build":986,"raster":34163,"vsyncOverhead":85},{"number":3872,"startTime":29871856873,"elapsed":19521,"build":1124,"raster":720,"vsyncOverhead":173},{"number":3876,"startTime":29871890156,"elapsed":34944,"build":2621,"raster":32076,"vsyncOverhead":171},{"number":3878,"startTime":29871906717,"elapsed":19217,"build":877,"raster":776,"vsyncOverhead":89},{"number":3882,"startTime":29871940034,"elapsed":34999,"build":1380,"raster":33444,"vsyncOverhead":119},{"number":3884,"startTime":29871956690,"elapsed":19100,"build":1033,"raster":617,"vsyncOverhead":132},{"number":3888,"startTime":29871989957,"elapsed":35003,"build":974,"raster":33869,"vsyncOverhead":113},{"number":3890,"startTime":29872006800,"elapsed":19257,"build":1076,"raster":741,"vsyncOverhead":313},{"number":3894,"startTime":29872039881,"elapsed":35136,"build":1809,"raster":33171,"vsyncOverhead":107},{"number":3896,"startTime":29872056743,"elapsed":19204,"build":435,"raster":598,"vsyncOverhead":326},{"number":3900,"startTime":29872089825,"elapsed":35120,"build":565,"raster":34006,"vsyncOverhead":121},{"number":3902,"startTime":29872106446,"elapsed":19382,"build":437,"raster":792,"vsyncOverhead":98},{"number":3906,"startTime":29872139998,"elapsed":34998,"build":975,"raster":33607,"vsyncOverhead":364},{"number":3908,"startTime":29872156766,"elapsed":19120,"build":698,"raster":648,"vsyncOverhead":489},{"number":3912,"startTime":29872189849,"elapsed":34810,"build":958,"raster":33523,"vsyncOverhead":286},{"number":3914,"startTime":29872206317,"elapsed":19078,"build":2065,"raster":764,"vsyncOverhead":111},{"number":3918,"startTime":29872239594,"elapsed":34919,"build":1116,"raster":33655,"vsyncOverhead":101},{"number":3920,"startTime":29872256234,"elapsed":19126,"build":1600,"raster":588,"vsyncOverhead":98},{"number":3924,"startTime":29872289560,"elapsed":34962,"build":1532,"raster":33240,"vsyncOverhead":137},{"number":3926,"startTime":29872306230,"elapsed":19611,"build":765,"raster":1112,"vsyncOverhead":163},{"number":3930,"startTime":29872339474,"elapsed":34729,"build":1060,"raster":33469,"vsyncOverhead":122},{"number":3932,"startTime":29872356148,"elapsed":18935,"build":824,"raster":594,"vsyncOverhead":153},{"number":3936,"startTime":29872389341,"elapsed":35175,"build":1501,"raster":33484,"vsyncOverhead":59},{"number":3938,"startTime":29872405993,"elapsed":19472,"build":751,"raster":805,"vsyncOverhead":68},{"number":3942,"startTime":29872439318,"elapsed":34758,"build":1191,"raster":33412,"vsyncOverhead":106},{"number":3944,"startTime":29872455935,"elapsed":19083,"build":1122,"raster":687,"vsyncOverhead":80},{"number":3948,"startTime":29872489192,"elapsed":35055,"build":1315,"raster":33649,"vsyncOverhead":51},{"number":3950,"startTime":29872505881,"elapsed":19385,"build":597,"raster":793,"vsyncOverhead":95},{"number":3954,"startTime":29872539073,"elapsed":35122,"build":979,"raster":33956,"vsyncOverhead":134},{"number":3956,"startTime":29872555726,"elapsed":19399,"build":1280,"raster":790,"vsyncOverhead":144},{"number":3960,"startTime":29872589249,"elapsed":34972,"build":1041,"raster":33488,"vsyncOverhead":381},{"number":3962,"startTime":29872605658,"elapsed":19032,"build":768,"raster":579,"vsyncOverhead":148},{"number":3966,"startTime":29872638920,"elapsed":34878,"build":1028,"raster":33683,"vsyncOverhead":124},{"number":3968,"startTime":29872655633,"elapsed":19191,"build":857,"raster":816,"vsyncOverhead":192},{"number":3972,"startTime":29872688859,"elapsed":35205,"build":915,"raster":33904,"vsyncOverhead":134},{"number":3974,"startTime":29872705500,"elapsed":19362,"build":756,"raster":615,"vsyncOverhead":133},{"number":3978,"startTime":29872738786,"elapsed":34788,"build":1236,"raster":33380,"vsyncOverhead":133},{"number":3980,"startTime":29872755426,"elapsed":19104,"build":723,"raster":822,"vsyncOverhead":131},{"number":3984,"startTime":29872788708,"elapsed":35249,"build":1111,"raster":33964,"vsyncOverhead":126},{"number":3986,"startTime":29872805367,"elapsed":19485,"build":515,"raster":662,"vsyncOverhead":142},{"number":3990,"startTime":29872838596,"elapsed":35014,"build":882,"raster":33654,"vsyncOverhead":86},{"number":3992,"startTime":29872855223,"elapsed":19346,"build":680,"raster":824,"vsyncOverhead":71},{"number":3996,"startTime":29872888545,"elapsed":35166,"build":851,"raster":33970,"vsyncOverhead":107},{"number":3998,"startTime":29872905211,"elapsed":19297,"build":448,"raster":651,"vsyncOverhead":130},{"number":4002,"startTime":29872938483,"elapsed":34869,"build":1090,"raster":33460,"vsyncOverhead":116},{"number":4004,"startTime":29872955142,"elapsed":19093,"build":1076,"raster":741,"vsyncOverhead":132},{"number":4008,"startTime":29872988372,"elapsed":35015,"build":779,"raster":34120,"vsyncOverhead":76},{"number":4010,"startTime":29873005100,"elapsed":19325,"build":1265,"raster":654,"vsyncOverhead":160},{"number":4014,"startTime":29873038301,"elapsed":35084,"build":769,"raster":34007,"vsyncOverhead":77},{"number":4016,"startTime":29873054965,"elapsed":19329,"build":774,"raster":780,"vsyncOverhead":98},{"number":4020,"startTime":29873088243,"elapsed":34868,"build":638,"raster":34090,"vsyncOverhead":90},{"number":4022,"startTime":29873104899,"elapsed":19133,"build":706,"raster":612,"vsyncOverhead":102},{"number":4026,"startTime":29873138220,"elapsed":35038,"build":1876,"raster":32895,"vsyncOverhead":139},{"number":4028,"startTime":29873154795,"elapsed":19424,"build":347,"raster":804,"vsyncOverhead":71},{"number":4032,"startTime":29873188076,"elapsed":35035,"build":652,"raster":34074,"vsyncOverhead":67},{"number":4034,"startTime":29873204810,"elapsed":19315,"build":1280,"raster":653,"vsyncOverhead":157},{"number":4038,"startTime":29873238052,"elapsed":35238,"build":454,"raster":34633,"vsyncOverhead":114},{"number":4040,"startTime":29873254768,"elapsed":19635,"build":819,"raster":830,"vsyncOverhead":186},{"number":4044,"startTime":29873288039,"elapsed":35115,"build":1185,"raster":33695,"vsyncOverhead":171},{"number":4046,"startTime":29873304584,"elapsed":19505,"build":510,"raster":662,"vsyncOverhead":75},{"number":4050,"startTime":29873337893,"elapsed":35075,"build":757,"raster":34172,"vsyncOverhead":98},{"number":4052,"startTime":29873354508,"elapsed":19237,"build":712,"raster":683,"vsyncOverhead":69},{"number":4056,"startTime":29873387983,"elapsed":34851,"build":483,"raster":34064,"vsyncOverhead":259},{"number":4058,"startTime":29873404441,"elapsed":19093,"build":789,"raster":753,"vsyncOverhead":74},{"number":4062,"startTime":29873437773,"elapsed":34970,"build":1057,"raster":33704,"vsyncOverhead":121},{"number":4064,"startTime":29873454445,"elapsed":19013,"build":463,"raster":579,"vsyncOverhead":150},{"number":4068,"startTime":29873487652,"elapsed":39213,"build":635,"raster":38452,"vsyncOverhead":71},{"number":4070,"startTime":29873504577,"elapsed":23436,"build":465,"raster":746,"vsyncOverhead":354},{"number":4074,"startTime":29873537580,"elapsed":34834,"build":646,"raster":34076,"vsyncOverhead":71},{"number":4076,"startTime":29873554571,"elapsed":19235,"build":465,"raster":718,"vsyncOverhead":419},{"number":4080,"startTime":29873587494,"elapsed":35243,"build":788,"raster":34356,"vsyncOverhead":56},{"number":4082,"startTime":29873604175,"elapsed":19530,"build":1852,"raster":813,"vsyncOverhead":95},{"number":4086,"startTime":29873637433,"elapsed":34842,"build":620,"raster":33901,"vsyncOverhead":67},{"number":4088,"startTime":29873654101,"elapsed":19038,"build":633,"raster":560,"vsyncOverhead":92},{"number":4092,"startTime":29873687364,"elapsed":36014,"build":1469,"raster":34394,"vsyncOverhead":69},{"number":4094,"startTime":29873704092,"elapsed":20260,"build":854,"raster":767,"vsyncOverhead":154},{"number":4098,"startTime":29873737322,"elapsed":35573,"build":124,"raster":35289,"vsyncOverhead":98},{"number":4100,"startTime":29873754173,"elapsed":20069,"build":322,"raster":787,"vsyncOverhead":306},{"number":4104,"startTime":29873787253,"elapsed":35051,"build":1616,"raster":33245,"vsyncOverhead":101},{"number":4106,"startTime":29873803929,"elapsed":19325,"build":876,"raster":783,"vsyncOverhead":134},{"number":4110,"startTime":29873837170,"elapsed":34873,"build":1763,"raster":32966,"vsyncOverhead":89},{"number":4112,"startTime":29873854166,"elapsed":19238,"build":998,"raster":842,"vsyncOverhead":442},{"number":4116,"startTime":29873887435,"elapsed":35264,"build":1261,"raster":33493,"vsyncOverhead":425},{"number":4118,"startTime":29873903776,"elapsed":19432,"build":1050,"raster":664,"vsyncOverhead":124},{"number":4122,"startTime":29873937037,"elapsed":34863,"build":1354,"raster":33328,"vsyncOverhead":100},{"number":4124,"startTime":29873953660,"elapsed":19097,"build":1623,"raster":764,"vsyncOverhead":79},{"number":4128,"startTime":29873986948,"elapsed":35297,"build":1410,"raster":33749,"vsyncOverhead":82},{"number":4130,"startTime":29874003685,"elapsed":19493,"build":1276,"raster":717,"vsyncOverhead":175},{"number":4134,"startTime":29874036892,"elapsed":35085,"build":1163,"raster":33462,"vsyncOverhead":97},{"number":4136,"startTime":29874053593,"elapsed":19420,"build":641,"raster":852,"vsyncOverhead":155},{"number":4140,"startTime":29874086841,"elapsed":34887,"build":991,"raster":33717,"vsyncOverhead":116},{"number":4142,"startTime":29874103488,"elapsed":18984,"build":1029,"raster":623,"vsyncOverhead":121},{"number":4146,"startTime":29874136711,"elapsed":35116,"build":1248,"raster":33606,"vsyncOverhead":60},{"number":4148,"startTime":29874153448,"elapsed":19508,"build":1174,"raster":903,"vsyncOverhead":153},{"number":4152,"startTime":29874186699,"elapsed":35003,"build":1695,"raster":33139,"vsyncOverhead":119},{"number":4154,"startTime":29874203319,"elapsed":19101,"build":656,"raster":607,"vsyncOverhead":95},{"number":4158,"startTime":29874236650,"elapsed":34976,"build":1240,"raster":33292,"vsyncOverhead":141},{"number":4160,"startTime":29874253223,"elapsed":19184,"build":719,"raster":724,"vsyncOverhead":71},{"number":4164,"startTime":29874286575,"elapsed":34996,"build":1201,"raster":33602,"vsyncOverhead":138},{"number":4166,"startTime":29874303226,"elapsed":19269,"build":1024,"raster":612,"vsyncOverhead":144},{"number":4170,"startTime":29874336594,"elapsed":35422,"build":1860,"raster":33267,"vsyncOverhead":227},{"number":4172,"startTime":29874353153,"elapsed":19741,"build":1371,"raster":809,"vsyncOverhead":142},{"number":4176,"startTime":29874386389,"elapsed":34848,"build":1446,"raster":33251,"vsyncOverhead":95},{"number":4178,"startTime":29874403097,"elapsed":19241,"build":908,"raster":738,"vsyncOverhead":159},{"number":4182,"startTime":29874436299,"elapsed":34976,"build":1340,"raster":33442,"vsyncOverhead":77},{"number":4184,"startTime":29874453258,"elapsed":19196,"build":407,"raster":744,"vsyncOverhead":393},{"number":4188,"startTime":29874486213,"elapsed":34782,"build":1154,"raster":33524,"vsyncOverhead":62},{"number":4190,"startTime":29874502853,"elapsed":19110,"build":1313,"raster":673,"vsyncOverhead":60},{"number":4194,"startTime":29874536185,"elapsed":35108,"build":1879,"raster":32985,"vsyncOverhead":106},{"number":4196,"startTime":29874552826,"elapsed":19389,"build":386,"raster":800,"vsyncOverhead":105},{"number":4200,"startTime":29874586133,"elapsed":34785,"build":708,"raster":33910,"vsyncOverhead":125},{"number":4202,"startTime":29874603101,"elapsed":18991,"build":930,"raster":734,"vsyncOverhead":450},{"number":4206,"startTime":29874636269,"elapsed":35001,"build":547,"raster":34072,"vsyncOverhead":333},{"number":4208,"startTime":29874652735,"elapsed":19041,"build":1403,"raster":552,"vsyncOverhead":156},{"number":4212,"startTime":29874685958,"elapsed":34846,"build":1175,"raster":33503,"vsyncOverhead":94},{"number":4214,"startTime":29874702645,"elapsed":19099,"build":507,"raster":768,"vsyncOverhead":138},{"number":4218,"startTime":29874735931,"elapsed":34987,"build":1222,"raster":33582,"vsyncOverhead":138},{"number":4220,"startTime":29874752872,"elapsed":19105,"build":937,"raster":568,"vsyncOverhead":436},{"number":4224,"startTime":29874786031,"elapsed":34857,"build":550,"raster":33948,"vsyncOverhead":310},{"number":4226,"startTime":29874802491,"elapsed":19194,"build":1001,"raster":819,"vsyncOverhead":127},{"number":4230,"startTime":29874835780,"elapsed":34979,"build":784,"raster":34014,"vsyncOverhead":130},{"number":4232,"startTime":29874852435,"elapsed":19069,"build":1649,"raster":585,"vsyncOverhead":142},{"number":4236,"startTime":29874885650,"elapsed":35052,"build":609,"raster":34196,"vsyncOverhead":72},{"number":4238,"startTime":29874902383,"elapsed":19380,"build":716,"raster":814,"vsyncOverhead":160},{"number":4242,"startTime":29874935575,"elapsed":34959,"build":1327,"raster":33466,"vsyncOverhead":68},{"number":4244,"startTime":29874952218,"elapsed":19027,"build":1286,"raster":593,"vsyncOverhead":68},{"number":4248,"startTime":29874985505,"elapsed":34816,"build":1156,"raster":33396,"vsyncOverhead":70},{"number":4250,"startTime":29875002219,"elapsed":19015,"build":1479,"raster":718,"vsyncOverhead":140},{"number":4254,"startTime":29875035450,"elapsed":35029,"build":527,"raster":33817,"vsyncOverhead":86},{"number":4256,"startTime":29875052074,"elapsed":19235,"build":950,"raster":574,"vsyncOverhead":67},{"number":4260,"startTime":29875085438,"elapsed":35013,"build":887,"raster":33886,"vsyncOverhead":144},{"number":4262,"startTime":29875102090,"elapsed":19210,"build":850,"raster":725,"vsyncOverhead":152},{"number":4266,"startTime":29875135332,"elapsed":35055,"build":1717,"raster":33132,"vsyncOverhead":111},{"number":4268,"startTime":29875151993,"elapsed":19374,"build":862,"raster":648,"vsyncOverhead":130},{"number":4272,"startTime":29875185260,"elapsed":34990,"build":445,"raster":34175,"vsyncOverhead":110},{"number":4274,"startTime":29875201991,"elapsed":19257,"build":523,"raster":721,"vsyncOverhead":198},{"number":4278,"startTime":29875248998,"elapsed":34947,"build":800,"raster":20106,"vsyncOverhead":13919},{"number":4280,"startTime":29875251785,"elapsed":19306,"build":748,"raster":803,"vsyncOverhead":65},{"number":4284,"startTime":29875285096,"elapsed":35308,"build":861,"raster":34314,"vsyncOverhead":90},{"number":4286,"startTime":29875301821,"elapsed":19479,"build":536,"raster":661,"vsyncOverhead":171}],"displayRefreshRate":60,"selectedEvent":{},"cpuProfile":{},"rasterStats":{},"rebuildCountModel":null},"traceEvents":[]}

Video demonstration

Video demonstration
[Upload media here]

What target platforms are you seeing this bug on?
iOS
OS/Browser name and version | Device information

iOS 17.2.1
iPhone 15 (model MTP03ZD/A)

Does the problem occur on emulator/simulator as well as on physical devices?
Unknown
Is the problem only reproducible with Impeller?
Yes
Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.16.8, on macOS 14.2.1 23C71 darwin-arm64, locale en-DE)
    • Flutter version 3.16.8 on channel stable at /Users/.../coding/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 67457e669f (3 days ago), 2024-01-16 16:22:29 -0800
    • Engine revision 6e2ea58a5c
    • Dart version 3.2.5
    • DevTools version 2.28.5

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

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

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

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

[✓] VS Code (version 1.85.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.80.0```

Video
Here's a video showing jank in debug mode after turning the screen on / resuming the app. It noticeable for a few seconds at the beginning, then disappears.
https://www.youtube.com/shorts/7sx92K3Aul8

Hi @layandreas
I checked this issue on my device iPhone 7, iOS 15.8 on stable channel 3.16.8, I saw a jank when bringing app to background and then to foreground. After a few times retries, I don't see jank appear again.
After switching to master channel, I don't see jank at the first time. Could you retry and confirm this on master channel?

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.16.8, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.16.8 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 67457e669f (27 hours ago), 2024-01-16 16:22:29 -0800
    • Engine revision 6e2ea58a5c
    • Dart version 3.2.5
    • DevTools version 2.28.5

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.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 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.14.3

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio Hedgehog.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.7+0-17.0.7b1000.6-10550314)

[✓] 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
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • iPhone (mobile) • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.8 19H370
    • macOS (desktop) • macos                                    • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)    • chrome                                   • web-javascript • Google Chrome 120.0.6099.234

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

• No issues found!

[!] Flutter (Channel master, 3.19.0-9.0.pre.50, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.19.0-9.0.pre.50 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 5dea6b994e (10 hours ago), 2024-01-21 12:01:23 -0500
    • Engine revision a7b207d5a1
    • Dart version 3.4.0 (build 3.4.0-52.0.dev)
    • DevTools version 2.31.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.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 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.14.3

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

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio Hedgehog.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.7+0-17.0.7b1000.6-10550314)

[✓] 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
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 120.0.6099.234
    ! Error: iPhone has recently restarted. Xcode will continue when iPhone is unlocked. (code -14)

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

! Doctor found issues in 1 category.

Hi @huycozy,
same problem on master for me.
By the way the problem does not occur on a physical iPad Air (4th generation, iPadOS 17.2), neither on stable nor master.

Thanks for checking that. Looks like this is a device-specific issue. I will ask my colleague to help to check this on their devices if any. Meanwhile, could you check if this is related to Impeller or not? (you can disable Impeller and compare results with the enabled Impeller test)
And could you please share a demo (video) as well? (Your demo video above is not available currently)

Of course:

The video link should work now (video is based on this app)
Jank still visible with the --no-enable-impeller flag as well
Updating to iOS 17.3 does not solve the issues

I asked my colleague to check this on her device iPhone 13 (iOS 17.1.1) but the behavior looks similar to my result above (in subsequent tries, the jank doesn't appear anymore).
This may be similar to https://github.com/flutter/flutter/issues/80367 but it's on a Add2App scenario. Keeping this as a separate issue.

If you need any more input or information just let me know, I'll try to help as best I can!

@dnfield is there enough information in this issue to help us track down the source of jank?  Is there anything else we should ask the originator for?

@layandreas the timline you attached has no trace events in it. Can you save a timeline via the devtools UI in profile mode that demonstrates the issue:

FYI @zanderso

fyi @kenzieschmoll / @zanderso , the second of these traces work but the first is giving an EOF - might be due to the substantially larger size.
This is similar to (or the same as https://github.com/flutter/flutter/issues/134959 ), though the exact cause might be different the symptoms are the same. We spend too much time waiting for a drawable from the system.

Checking out the master channel and setting
<key>FLTUseFlutterMetalLayer</key>
<true/>

in info.plist as mentioned here  in issue https://github.com/flutter/flutter/issues/134959 seems to solve the issues - at least in my quick testing I didn't experience the jank anymore.

I would not recommend setting that flag in production as it still has some problems with backpressure, this is tracked in https://github.com/flutter/flutter/issues/140901

I'm going to close this as a duplicate of https://github.com/flutter/flutter/issues/140901 , because we believe this will be the only solution to the problem going forward.


[Shim] shim global object as directly called IIFE's this

What kind of change does this PR introduce?
feature

Did you add tests for your changes?
yes

If relevant, link to documentation update:
[TODO if approved]

Summary
This is a successor of #5400 (including the changes the PR has not been merged) and demonstration of feasibility of shimming global object only for IIFE same as parameters as described in #5381 .
This change makes shimming global object available for directly called IIFE's this. Before this cannot be done neither by imports-loader (see explanation in #5400) nor ProvidePlugin.
For code
// this statement makes webpack parse this file as 'script' instead of 'module'
// this can be done by imports-loader in real use case
var await = false;
(function(){
    var jQueryInstance = this.jQuery;
}());

The webpack config with new GlobalObjectPlugin
  plugins: [
    new webpack.GlobalObjectPlugin('window'),
    new webpack.ProvidePlugin({
      'window.jQuery': 'jquery'
    }),
  ]

will shim this.jQuery inside the IIFE as
// code requiring `jquery` as module 1

/* WEBPACK VAR INJECTION */(function(__webpack_provided_window_dot_jQuery) {var await = false;
(function(){
    var jQueryInstance = __webpack_provided_window_dot_jQuery;
}());

/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))

Does this PR introduce a breaking change?
No

Other information
I think this can be done for non-IIFE functions too. If this is merged, I can start work on that.

@sokra , @TheLarkInn , if this is not the right way to go, could you give some advises then I can continue this PR?

This adds too much complexity for fixing "broken" 3rd-party package.
Won't change


Runtime version variables come null. Have they been deprecated and replaced with linuxFxVersion and windowsFxVersion?

Package Name: @azure/arm-appservice
Package Version: 14.0.0
Operating system: Ubuntu 22.04.3 LTS
[x] nodejs

version: v16.20.1

[ ] browser

name/version:

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[x] source code documentation
[x] SDK API docs on https://docs.microsoft.com

Describe the bug
"netFrameworkVersion": null,
"phpVersion": null,
"pythonVersion": null,
"nodeVersion": null,
"powerShellVersion": null,
"linuxFxVersion": "PYTHON|3.10",
"windowsFxVersion": null,

I have a Web App running on Code - Python 3.10 runtime but when I see the value on UI JSON or fetch using CLI or JS SDK or REST API, pythonVersion comes as null whereas it should have been 3.10 but linuxFxVersion reports the right value which also matches with the list produced from CLI command az webapp list-runtimes.
To Reproduce
Steps to reproduce the behavior:

Create a Web App - Code and Configure your Stack Runtime.
Visit the overview page and open JSON view.
Check using az webapp CLI command.

Expected behavior
According to stack configuration, appropriate runtime variable should return value instead of null.
Screenshots
Web App Stack Runtime Configuration on Configuration Page

Web App Stack Runtime Configuration on Overview Page

UI JSON
Additional context
Add any other context about the problem here.

If I understand correctly, CLI is parsing the value from runtime majorVersions or minorVersions. https://github.com/Azure/azure-cli/blob/56d778e6ff2f6032ea47eb63727fa1308a390d76/src/azure-cli/azure/cli/command_modules/appservice/custom.py#L3166-L3173
https://github.com/Azure/azure-cli/blob/56d778e6ff2f6032ea47eb63727fa1308a390d76/src/azure-cli/azure/cli/command_modules/appservice/custom.py#L3314-L3365 which is hard coded in Azure CLI.

Something from my personal notes will help.

PHP

linux web app

siteConfig.linuxFxVersion and linuxFxVersion from .getConfiguration() returns the correct value
siteConfig.phpVersion and phpVersion from .getConfiguration() return the incorrect values (null and "") respectively

windows web app

UI shows support but the runtimes list az webapp list-runtimes does not show support
No related output in siteConfig.linuxFxVersion or linuxFxVersion from .getConfiguration() or siteConfig.phpVersion or phpVersion from .getConfiguration()

Python

linux web app

siteConfig.linuxFxVersion and linuxFxVersion from .getConfiguration() returns the correct value
siteConfig.pythonVersion and pythonVersion from .getConfiguration() return the incorrect values (null and "") respectively

windows web app

UI shows support but the runtimes list az webapp list-runtimes does not show support
No related output in siteConfig.linuxFxVersion or linuxFxVersion from .getConfiguration() or siteConfig.pythonVersion or pythonVersion from .getConfiguration()

Node

linux web app

siteConfig.linuxFxVersion and linuxFxVersion from .getConfiguration() returns the correct value
siteConfig.nodeVersion and nodeVersion from .getConfiguration() return the incorrect values (null and "")

windows web app

Using this we can set nodejs version - https://learn.microsoft.com/en-us/azure/app-service/configure-language-nodejs?pivots=platform-windows#set-nodejs-version
But the issue is we neither check if the app is using Node stack nor its version directly. We need to refer the settings variable which can be set for application irrespective of stack of web app.

Java

linux web app

siteConfig.linuxFxVersion and linuxFxVersion from .getConfiguration() returns the correct value
siteConfig.javaVersion and javaVersion from .getConfiguration() return the incorrect values (null and "")

windows web app

javaVersion and javaContainer and javaContainerVersion from .getConfiguration() gives me the right correct values
siteConfig.windowsFxVersion and windowsFxVersion from .getConfiguration() returns incorrect value
siteConfig.javaVersion and siteConfig.javaContainer and siteConfig.javaContainerVersion from .getConfiguration() return incorrect values

Go

linux web app

siteConfig.linuxFxVersion and linuxFxVersion from .getConfiguration() returns the correct value

windows web app

No support at all as expected

.NET (Also includes ASPNET for windows)

linux web app

siteConfig.linuxFxVersion and linuxFxVersion from .getConfiguration() returns the correct value
siteConfig.netFrameworkVersion and netFrameworkVersion from .getConfiguration() return the incorrect values ("v4.6" and "")

windows

siteConfig.netFrameworkVersion always returns "v4.6" irrespective of stack and versions configured
netFrameworkVersion from .getConfiguration() gives me the right value when .NET stack is configured but when a web app is configured with different stack, it still returns an arbitrary value.
Explained - https://github.com/Azure/azure-sdk-for-js/issues/26893

Ruby

UI has the value but I am not sure if it is still supported. List runtimes does not show RUBY nor does any API response returns RUBY related information
Only found in linux

@qiaozha So according to this then https://github.com/Azure/azure-cli/blob/56d778e6ff2f6032ea47eb63727fa1308a390d76/src/azure-cli/azure/cli/command_modules/appservice/custom.py#L3165 the null and "" values are by design?
Please elaborate further on major, minor versions parsing.

do you see any majorVersions or minorVersions informations when using client.provider.listWebAppStacks() apis ?  I can not tell from your earlier screenshot.

No, there are no fields related to majorVersions or minorVersions in the outputs.
I have used appServiceClient.webApps.list() and appServiceClient.webApps.getConfiguration(resourceGroupName,webAppName) and neither has these two fields.

My issue might be the same, i have 2 app services, one runs on linux another one runs on windows .
The properties.siteConfig.WindowsFxVersion --- for the app service which runs on windows OS returns null value , not sure what is wrong , but correctly populated for the app service which runs on linux OS
can someone send me insights on this , please

@qiaozha can you send some insights on my issue, thx ..


[Feature Request] Let spawners only drop spawner scrap once

I'm using this on a Valhelsia 3 server and there are certain enchants and mods that make durability really high or even just make an item unbreakable, and combined with silk touch players have been using this to farm spawner scrap by just placing a spawner and breaking and repeating. I was wondering if there was a way to tell if a spawner had been placed by player and add a tag to it so that it cant drop any scrap, but a naturally generated one can

Spawner Scrap is not from apoth, so you'll have to go ask whoever is adding that to change how that works.


269 migration script

Currently a draft to show what's the ordering of deployment and registration would be like.
One issue I see when writing this migration:
The contract is designed to re-use in the future. As a result, we might need to deploy one contract with potentially different args multiple times in the future. However, truffle migration using  deployer.deployed(ContractName) might not be able to differentiate multiple deployment. https://github.com/trufflesuite/truffle/issues/237
Potentially we can probably use new for the contracts that has the possibility to re-deploy?

@kendricktan here's the draft! BTW, current contract would exceed normal gas size so I use 8000000 for now. If you'd like to try, please initiate instance with higher gas.
cc @thec00n as you might be interested in migration script.

@boolafish @kendricktan Could we consider the following as part of this PR:

Fix the version of openzeppelin-solidity to 2.3.0 and manually upgrade. The contracts are injected in various parts of the contract system. It is safer to chose a manual upgrade path in this case.
Fix the version of the Solidity compiler 0.5.11. Consider to fix the pragma version in the contracts as well.
Decide if the contracts are deployed with optimizations. If so let's set the option by default and make sure that all tests run in an environment with optimizations set.

@thec00n

(Y) How are you injecting openzepplin-solidity? From the looks of it it just seems like you're loading it from node_modules
(Y)
(Y) It'll need to be run with optimizations otherwise it'll keep throwing the gas required exceeds allowance error

@thec00n

👍  How are you injecting openzepplin-solidity? From the looks of it it just seems like you're loading it from node_modules

I think truffle takes care of looking in the right place when it compiles the contracts.

@thec00n even with optimizations, the gas limit still exceeds the allowance. Any ideas? :\

@boolafish or @kevsul might know?

@kendricktan Sorry to jump in, but maybe this will help:

even with optimizations, the gas limit still exceeds the allowance. Any ideas? :\

If we're talking about exceeding the allowance on contract deployment, try optimizations on but with 1 run. This works for me (at least for a subset of the required deployments).
1 run optimizes for compactness of the bytecode, thereby minimizing the deployment gas cost

If you switch on optimisations, be aware of this issue: https://github.com/omisego/plasma-contracts/issues/286
Deleting PaymentStandardExitRouterMock.sol work around it for now.
With that I've been able to deploy to Rinkeby. I've had to add an explicit { gas: 6500000 } when deploying PaymentExitGame as well.

Do we really need to base on the 150_python_tests_on_plasma_framework branch? BTW, why elixir uses that branch instead of master @pdobacz ? Also, if it's necessary to base on that branch, can @pik694 find a point that we can merge the PR first? and we keep on migrate other python codes with other PRs so we don't block ourselves or doing code review cross PRs.

Agree with @boolafish here. If we need to wait for that branch, let's merge it first so things don't get too messy.

@kasima @boolafish so should I cull the merges and restart migrations from master in this case?

hmmm probably, if it's not too hard to move back to master (?)
Also, I am still not following why we need to do it on top of the python test branch

I will rebase today and try to prepare a PR :)

BTW, why elixir uses that branch instead of master @pdobacz ?

b/c I'm integrating elixir to what I know works with the old python tests, so I know how things might break and what part of contract functionality I can rely on.
+1 on merging what's mergable to plasma-contracts/master in general and moving on.

Thanks for untangling these dependencies, everyone. 🙌


[HW] ASHRAY TRIVEDI

Name: ASHRAY TRIVEDI
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/ashraytrivedi/
Attach the homework step I screenshots below:

Attach the homework step II screenshots below:

Hey ASHRAY TRIVEDI, great job! Congrats! Here is your badge! https://api.badgr.io/public/assertions/JLDG6rB9SQ6jlQffsy05oA


ValueError: Template qwen2 does not exist.

Reminder

[X] I have read the README and searched the existing issues.

System Info
llamafactory-cli export examples/merge_lora/qwen205b_lora_sft.yaml
Reproduction
llamafactory-cli export examples/merge_lora/qwen205b_lora_sft.yaml
Expected behavior
llamafactory-cli export examples/merge_lora/qwen205b_lora_sft.yaml
Others
No response

template qwen


macOS detected. Imported _dummy_thread module. Device detection failed. Going with the manually specified device on the script: A_SERIES

Keep Getting this error

Send a screenshot of your MIDI settings window on FL Studio with the keyboard connected to your PC.

Closed due to inactivity.


Study and incorporate Andrej Karpathy's llm.c lessons

"A few new CUDA hacker friends joined the effort and now llm.c is only 2X slower than PyTorch"
https://github.com/karpathy/llm.c

https://twitter.com/karpathy/status/1779354343013269929

https://twitter.com/karpathy/status/1781387674978533427 achieved parity with PyTorch FP32

The "study" part is certainly aiming at versions 0.6.x, but many solutions will wait till 0.9.x.


Add support for Telewebion.com

Telewebion.com is a TV archive. For downloding, it is just enough to get URL and then use rtmpdump, but currently youtube-dl only outputs a useless SMIL file.
This is an example URL:
http://www.telewebion.com/fa/1263668/%D9%82%D8%B1%D8%B9%D9%87%E2%80%8C%DA%A9%D8%B4%DB%8C-%D9%84%DB%8C%DA%AF-%D9%82%D9%87%D8%B1%D9%85%D8%A7%D9%86%D8%A7%D9%86-%D8%A7%D8%B1%D9%88%D9%BE%D8%A7/%2B-%D9%81%D9%88%D8%AA%D8%A8%D8%A7%D9%84.html

using youtube-dl, we get SMIL file downloaded that looks like this:
<smil>
<head>
<meta base="rtmpe://s4.telewebion.com:1935/vod"/>
</head>
<body>
<switch>

<video title="500K" system-bitrate="512000" src="mp4:/media/telewebion/tv3/2015-03-05/normalProgram/0057/file.mp4"/>

<video title="256K" system-bitrate="262144" src="mp4:/media/telewebion/tv3/2015-03-05/normalProgram/0057/file_224_32.mp4"/>

<video title="132K" system-bitrate="135168" src="mp4:/media/telewebion/tv3/2015-03-05/normalProgram/0057/file_100_32.mp4"/>

</switch>
</body>
</smil>

Bitrates can be selected and downloaded by concatenating base URL and appropriate video URL. For example, URL for 500k video is:
rtmpe://s4.telewebion.com:1935/vod/mp4:/media/telewebion/tv3/2015-03-05/normalProgram/0057/file.mp4

that can be downloaded using:
rtmpdump -r rtmpe://s4.telewebion.com:1935/vod/mp4:/media/telewebion/tv3/2015-03-05/normalProgram/0057/file.mp4 -o out.mp4

Thanks, but the site specific request still isn't adressed. I don't know how to implement a site-specific script, but it seemst that it seems to be straightforward. Get the smil file from the html, and get the content from it.
If generic method can find the .smil files, it will be ok. If not, for this site, .smil URL is located in window.vod_smil. Right now, the token, etc. is not needed, it is sufficient to include the URL until the first &.
From this:
http://www.telewebion.com/fa/1263668/%D9%82%D8%B1%D8%B9%D9%87%E2%80%8C%DA%A9%D8%B4%DB%8C-%D9%84%DB%8C%DA%AF-%D9%82%D9%87%D8%B1%D9%85%D8%A7%D9%86%D8%A7%D9%86-%D8%A7%D8%B1%D9%88%D9%BE%D8%A7/%2B-%D9%81%D9%88%D8%AA%D8%A8%D8%A7%D9%84.html
you get this:
http://smilserver.telewebion.com/smil/1263668.smil?filepath=/media/telewebion/tv3/2015-03-05/normalProgram/0057/file.mp4
and this is the smil file.

It's handled perfectly with generic extractor. Post the full output of youtube-dl when run with --verbose option.

Thanks, it works! I works fine for this URL.
But not for this URL:
http://www.telewebion.com/fa/1291102/%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C-%D9%88-%D9%BE%DB%8C%D8%AF%D8%A7%DB%8C%D8%B4-%D8%AA%D9%85%D8%AF%D9%86/%D9%85%D8%B3%D8%AA%D9%86%D8%AF-4.html

Should you also re-open https://github.com/rg3/youtube-dl/issues/5145?

Telewebion support will be complete in the next version.

ERROR: Unsupported URL: https://www.telewebion.com/episode/xxxxxx
It's not supported anymore?


fix exposureRisk、privilegeRisk no result

@arksec-cn, VMware has rejected your signed contributor license agreement. The merge can not proceed until the agreement has been resigned. Click here to resign the agreement. Reject reason:

Please provide an actual name and address.

Please provide the name of the organization you are affiliated with or indicate none.

The CLA was rejected because the lack of 3 information items:

name
address
organization

I have checked with the developer of the CLA system, and have known that the information can be added only by creating a new PR, so I tell @arksec-cn to create #140, and this time we have provided the necessary information.
Hopefully when the CLA in #140 is approved, we can come back to this pr and resign the CLA, then get the approval.
I'm sorry for merging the pr before an approved CLA.


Null Safety Support

Hello there!
It would be interesting to add plan support for null-safety generated code.

Hi - thanks for the inquiry. This repository was not being actively maintained and after consideration - as per the readme - we've made the decision to archive it.
We'll continue to work on improving JS interop generally. For details on how to write interop interfaces using package:js,
please visit the package:js pub page or the dart.dev ocumentation for JS interop.
If there is interest in continuing this repository, feel free to contribute by forking.


Duplex Changes in Remix prevent calling getAuth after body already is read

Preliminary Checks

[X] I have reviewed the documentation: https://clerk.com/docs

[X] I have searched for existing issues: https://github.com/clerk/javascript/issues

[X] I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)

[X] This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.

Reproduction
None Provided
Publishable key
pk_live_Y2xlcmsudW5pcXVlbGlicmFyeS5jb20k
Description
Recent changes to the remix package to support duplexed connections are causing breaking changes when you call getAuth after utilizing the request body.
This seems to be due to an update that calls request.clone(), which will fail if the body has already been read:
https://github.com/clerk/javascript/blob/5056fb59438138cbaab748e2c13b6c471981bf55/packages/remix/src/ssr/utils.ts#L127-L134
Here is a simple example action:
export const action = async (args: ActionFunctionArgs) => {
  const data = await args.request.text()
  const auth = await getAuth(args) // <-Throws

 return data
}

Steps to reproduce:

Create an action
Read from request body
Call getAuth

Expected behavior:
getAuth can be called after reading from request body.
Actual behavior:
Exception is thrown:
Error: cannot clone body after it is used
    at clone (/Users/Metevier/workspace/project/node_modules/.pnpm/@remix-run+web-fetch@4.4.2/node_modules/@remix-run/web-fetch/src/body.js:283:9)
    at new Request (/Users/Metevier/workspace/project/node_modules/.pnpm/@remix-run+web-fetch@4.4.2/node_modules/@remix-run/web-fetch/src/request.js:98:6)
    at Request.clone (/Users/Metevier/workspace/project/node_modules/.pnpm/@remix-run+web-fetch@4.4.2/node_modules/@remix-run/web-fetch/src/request.js:246:10)
    at patchRequest (/Users/Metevier/workspace/project/node_modules/.pnpm/@clerk+remix@4.2.3_@remix-run+react@2.6.0_@remix-run+server-runtime@2.10.2_react-dom@18.2.0_react@18.2.0/node_modules/@clerk/remix/src/ssr/utils.ts:128:33)
    at loadOptions (/Users/Metevier/workspace/project/node_modules/.pnpm/@clerk+remix@4.2.3_@remix-run+react@2.6.0_@remix-run+server-runtime@2.10.2_react-dom@18.2.0_react@18.2.0/node_modules/@clerk/remix/src/ssr/loadOptions.ts:15:43)
    at getAuth (/Users/Metevier/workspace/project/node_modules/.pnpm/@clerk+remix@4.2.3_@remix-run+react@2.6.0_@remix-run+server-runtime@2.10.2_react-dom@18.2.0_react@18.2.0/node_modules/@clerk/remix/src/ssr/getAuth.ts:15:25)

Environment
System:
    OS: macOS 14.2.1
    CPU: (8) arm64 Apple M1
    Memory: 152.38 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.17.1 - ~/Library/Caches/fnm_multishells/17134_1717294792516/bin/node
    Yarn: 1.22.19 - ~/Library/Caches/fnm_multishells/17134_1717294792516/bin/yarn
    npm: 9.6.7 - ~/Library/Caches/fnm_multishells/17134_1717294792516/bin/npm
    pnpm: 8.15.1 - ~/Library/Caches/fnm_multishells/17134_1717294792516/bin/pnpm
  Browsers:
    Chrome: 126.0.6478.182
    Safari: 17.2.1
  npmPackages:
    @arco-design/web-react: ^2.62.0 => 2.62.0
    @arco-themes/react-easy-email-pro: ^0.0.1 => 0.0.1
    @aws-sdk/client-s3: 3.461.0 => 3.461.0
    @clerk/remix: ^4.2.1 => 4.2.3
    @headlessui/react: ^2.1.2 => 2.1.2
    @heroicons/react: ^2.1.1 => 2.1.1
    @nivo/bar: =0.80.0 => 0.80.0
    @nivo/core: =0.80.0 => 0.80.0
    @nivo/line: =0.80.0 => 0.80.0
    @nivo/pie: =0.80.0 => 0.80.0
    @playwright/test: ^1.41.2 => 1.41.2
    @react-awesome-query-builder/core: ^6.5.2 => 6.5.2
    @react-awesome-query-builder/ui: ^6.5.2 => 6.5.2
    @remix-run/css-bundle: ^2.6.0 => 2.6.0
    @remix-run/dev: ^2.6.0 => 2.6.0
    @remix-run/eslint-config: ^2.6.0 => 2.6.0
    @remix-run/node: ^2.6.0 => 2.6.0
    @remix-run/react: ^2.6.0 => 2.6.0
    @remix-run/serve: ^2.6.0 => 2.6.0
    @remix-run/testing: ^2.6.0 => 2.6.0
    @sentry/remix: ^7.101.1 => 7.101.1
    @storybook/addon-essentials: ^7.6.8 => 7.6.8
    @storybook/addon-interactions: ^7.6.8 => 7.6.8
    @storybook/addon-links: ^7.6.8 => 7.6.8
    @storybook/addon-styling: ^1.3.7 => 1.3.7
    @storybook/blocks: ^7.6.8 => 7.6.8
    @storybook/react: ^7.6.8 => 7.6.8
    @storybook/react-vite: ^7.6.8 => 7.6.8
    @storybook/testing-library: ^0.2.2 => 0.2.2
    @tailwindcss/container-queries: ^0.1.1 => 0.1.1
    @tailwindcss/forms: ^0.5.7 => 0.5.7
    @tanem/react-nprogress: ^5.0.51 => 5.0.51
    @tanstack/react-table: ^8.12.0 => 8.12.0
    @testing-library/dom: ^9.3.4 => 9.3.4
    @testing-library/jest-dom: ^5.17.0 => 5.17.0
    @testing-library/react: ^14.2.1 => 14.2.1
    @types/jsdom: ^21.1.6 => 21.1.6
    @types/lodash.groupby: ^4.6.9 => 4.6.9
    @types/mjml: ^4.7.4 => 4.7.4
    @types/react: ^18.2.55 => 18.2.55
    @types/react-dom: ^18.2.19 => 18.2.19
    @vitejs/plugin-react: ^4.2.1 => 4.2.1
    autoprefixer: ^10.4.17 => 10.4.17
    awesome-phonenumber: ^5.11.0 => 5.11.0
    chromatic: ^6.20.0 => 6.20.0
    class-variance-authority: ^0.7.0 => 0.7.0
    dayjs: ^1.11.10 => 1.11.10
    domain-functions: ^2.5.4 => 2.5.4
    easy-email-pro-core: ^1.33.4 => 1.33.4
    easy-email-pro-editor: ^1.33.4 => 1.33.4
    easy-email-pro-plugins: ^1.33.4 => 1.33.4
    easy-email-pro-theme: ^1.33.4 => 1.33.4
    eslint-plugin-storybook: ^0.6.15 => 0.6.15
    framer-motion: ^10.18.0 => 10.18.0
    html-to-image: ^1.11.11 => 1.11.11
    isbot: ^3.8.0 => 3.8.0
    jsdom: ^22.1.0 => 22.1.0
    lodash.groupby: ^4.6.0 => 4.6.0
    mjml: ^4.15.3 => 4.15.3
    mjml-browser: ^4.15.3 => 4.15.3
    openai: ^4.52.0 => 4.52.0
    prettier: ^3.2.5 => 3.2.5
    prop-types: ^15.8.1 => 15.8.1
    react: ^18.2.0 => 18.2.0
    react-dom: ^18.2.0 => 18.2.0
    react-final-form: ^6.5.9 => 6.5.9
    react-hook-form: ^7.50.1 => 7.50.1
    react-hot-toast: ^2.4.1 => 2.4.1
    react-intersection-observer: ^9.8.1 => 9.8.1
    react-popper: ^2.3.0 => 2.3.0
    react-tailwindcss-datepicker: ^1.6.6 => 1.6.6
    react-tooltip: ^5.26.2 => 5.26.2
    remix-flat-routes: ^0.6.4 => 0.6.4
    remix-forms: ^2.3.0 => 2.3.0
    remix-utils: ^7.5.0 => 7.5.0
    slate: ^0.102.0 => 0.102.0
    slate-history: ^0.100.0 => 0.100.0
    slate-react: ^0.102.0 => 0.102.0
    storybook: ^7.6.8 => 7.6.8
    tailwindcss: ^3.4.1 => 3.4.1
    vite: ^5.1.3 => 5.1.3
    vite-tsconfig-paths: ^4.3.1 => 4.3.1
    zod-form-data: ^2.0.2 => 2.0.2

I'm having the same problem: https://github.com/clerk/javascript/pull/3495#issuecomment-2237756527

Hello! Thank you for reporting this issue. We will investigate the issue as soon as possible.

Hey @Metevier and @ariofrio
Thanks for reporting the issue!
I have made a fix for this, you can try it out by installing the snapshot below and let me know if that fixes your issue!
npm i<EMAIL_ADDRESS>--save-exact

Hey @Metevier and @ariofrio
Thanks for reporting the issue! I have made a fix for this, you can try it out by installing the snapshot below and let me know if that fixes your issue!
npm i<EMAIL_ADDRESS>--save-exact

Seems to have resolved the issue!


Added blame info feature for "cmd results" command

Blame information for reports was only available on the GUI. Now, if we wish to check the git commit info in the cli, we can do that with "CodeChecker cmd results --details" command We can only check blame info for runs that have a git repository. The server address and the run name should also be given, e.g.: "CodeChecker cmd results --details --url http://localhost:8001/Default test". The syntax is different in the GUI, as there you can check the blame info for each line of a reported file. In case of the cli, it would be huge output result to print long blame info for every report. A filtered one is added to the report data, which contains only the commit data of the given section.

We definitely can't land this without tests.
Also, I saw the following blame info from a tinyxml2 analysis in json format:
    "blameInfo": {
      "commits": {
        "a9cf3f9f3fe65df392caa5aecd3b77a260d7921f": {
          "author": {
            "name": "Lee Thomason",
            "email"<EMAIL_ADDRESS>          },
          "summary": "Switched to Artistic Style auto-formatting to allow integration of patches from other coding styles.",
          "message": "Switched to Artistic Style auto-formatting to allow integration of patches from other coding styles.\n",
          "committedDateTime": "2012-10-11 16:56:51-07:00"
        }
      },
      "blame": [
        {
          "startLine": 2646,
          "endLine": 2646,
          "commitHash": "a9cf3f9f3fe65df392caa5aecd3b77a260d7921f"
        }
      ]
    }

It may not be your doing, but are we sure we want the commit hash to be a key?

I think this is the best way to print the result in cli. Blame info belongs to a file, not to a report and each commit is identified by the commit hash. So we can only filter it to get a shorter form for the given report. If we want to get a different syntax when using the cli, we need to modify the blame info stuct in thirift, which is also used by the GUI.

Shouldn't the value for key commits be a list instead of a dict? How about this:
"blameInfo": {
  "commits": [
    {
      "commit_hash": "a9cf3f9f3fe65df392caa5aecd3b77a260d7921f",
      "author": {
        "name": "Lee Thomason",
        "email"<EMAIL_ADDRESS>      },
      "summary": "Switched to Artistic Style auto-formatting to allow integration of patches from other coding styles.",
      "message": "Switched to Artistic Style auto-formatting to allow integration of patches from other coding styles.\n",
      "committedDateTime": "2012-10-11 16:56:51-07:00"
    },
    {
      "commit_hash": "a9cf3f9f3fe65df392caa5aecd3b77a260d7921f",
      "author": {
        "name": "Lee Thomason",
        "email"<EMAIL_ADDRESS>      },
      "summary": "Switched to Artistic Style auto-formatting to allow integration of patches from other coding styles.",
      "message": "Switched to Artistic Style auto-formatting to allow integration of patches from other coding styles.\n",
      "committedDateTime": "2012-10-11 16:56:51-07:00"
    }
  ],
  "blame": [
    {
      "startLine": 2646,
      "endLine": 2646,
      "commitHash": "a9cf3f9f3fe65df392caa5aecd3b77a260d7921f"
    }
  ]
}

Mind that the hash is no longer a key here either, but a value. This looks more idiomatic to me.


Use pydatamail_ml for machine learning

Waiting for https://github.com/conda-forge/staged-recipes/pull/19435


WOW is not defined

Hi friends !
I have done all instructions that you say but i have this error ..
Please help me to solve it ..

Hi @alihasaniGit
Can you provide at least the info mentioned in the issue template?
Without those minimum info, i'm afraid i cannot help you much.. :(
Also, what is your setup? are you using angular CLI or another starter?
Thanks

Hi again ..
I have done all instructions step by step from this link exactly and i use Angular CLI ..
after i did all steps i got this error !
I'm thinking what other info should i give, but i think these are enough because i only did all instructions from the official site ..
If you want other info i would be happy to give ..
Thanks a lot ..

OS and Version?

Windows 7, 8 or 10. Linux (which distribution).macOS(Yosemite ? El Capitan? Sierra ?)

Versions

Output from: ng --version, in case you are using Angular CLI.
Otherwise, output from: node --version , npm --version, yarn --version and Angular version.

Repro steps
Simple steps to reproduce this bug.

Please include: commands run, packages added, related code changes.
A link to a sample repo would help too.

Generally speaking, providing the name AND the version of tools/libraries you use, is crucial to help identify/fix an issue.

Info :
Windows 10
Angular : 4
Angular CLI : 1.2.6
node : 8.1.2
npm: 5.0.3
After i did all instructions i run project with "ng serve" and there was no error in command line window, but in the browser console i saw this error ..
These are all packages i'm using :
  "dependencies": {     "@agm/core": "1.0.0-beta.0",     "@angular/animations": "4.3.0",     "@angular/cdk": "2.0.0-beta.8",     "@angular/common": "4.3.0",     "@angular/compiler": "4.3.0",     "@angular/core": "4.3.0",     "@angular/flex-layout": "2.0.0-beta.8",     "@angular/forms": "4.3.0",     "@angular/http": "4.3.0",     "@angular/material": "2.0.0-beta.8",     "@angular/platform-browser": "4.3.0",     "@angular/platform-browser-dynamic": "4.3.0",     "@angular/router": "4.3.0",     "@ngx-translate/core": "7.1.0",     "@ngx-translate/http-loader": "0.1.0",     "@swimlane/ngx-datatable": "^9.3.1",     "angular-calendar": "0.19.0",     "angular-tree-component": "3.8.0",     "angular2-toaster": "^4.0.1",     "chart.js": "2.6.0",     "core-js": "2.4.1",     "d3": "4.10.0",     "dragula": "3.7.2",     "hammerjs": "2.0.8",     "intl": "1.2.5",     "jalali-moment": "2.0.2",     "jquery": "^3.2.1",     "json2csv": "^3.10.0",     "leaflet": "1.1.0",     "moment": "2.18.1",     "ng2-charts": "1.6.0",     "ng2-drag-drop": "^1.5.1",     "ng2-dragula": "1.5.0",     "ng2-file-upload": "1.2.1",     "ng2-img-cropper": "^0.9.0",     "ng2-jalali-date-picker": "^1.5.5",     "ng2-validation": "4.2.0",     "ngx-carousel": "^1.3.5",     "perfect-scrollbar": "0.7.1",     "quill": "1.3.0",     "rxjs": "^5.4.2",     "screenfull": "3.3.1",     "smooth-scrollbar": "^8.0.4",     "zone.js": "0.8.10"   },   "devDependencies": {     "@angular/cli": "1.2.6",     "@angular/compiler-cli": "4.3.0",     "@angular/language-service": "4.3.0",     "@types/jasmine": "~2.5.53",     "@types/jasminewd2": "~2.0.2",     "@types/jquery": "^3.2.17",     "@types/node": "~6.0.60",     "codelyzer": "~3.0.1",     "jasmine-core": "~2.6.2",     "jasmine-spec-reporter": "~4.1.0",     "karma": "~1.7.0",     "karma-chrome-launcher": "~2.1.1",     "karma-cli": "~1.0.1",     "karma-coverage-istanbul-reporter": "^1.2.1",     "karma-jasmine": "~1.1.0",     "karma-jasmine-html-reporter": "^0.2.2",     "protractor": "~5.1.2",     "ts-node": "~3.0.4",     "tslint": "~5.3.2",     "typescript": "^2.4.2"   }

Hi,
There is no "ngx-wow" in your dependencies ... (did you installed it in devDpendencies?, if so, move it to dependencies section instead).
Also, i have indeed forgot to mention in the docs that "wowjs" (which is a peerDependency of this lib) must be installed as well as dependencies of your app (sorry :( )
 npm install --save wowjs
I will update the documentation shortly.
Thanks for reporting!

I unistalled "ngx-wow" because it made another problem (i will say what problem) for the project ..
If i can remove this new problem

I uninstalled "ngx-wow" because it made another problem for the project ..
The new problem is that when i install "ngx-wow", it causes that my "ngx-carousel" package gets removed ..
If i can solved this new problem i can try your solution that said ..
So, now we have two problems :

When i install "ngx-wow", my "ngx-carousel" gets removed ..
WOW is not defined (Our main problem)

If you help me to solve first (number 1) problem, i can try your solution for our main problem ..
Thanks a lot friend ..

I resolved the first problem (number 1). now I have "ngx-wow" and "wowjs" in my project, but I have the main problem yet ..
WOW is not defined
Is there any thing i should do ?

Hi,
I forgot to mention another important piece: you also need to update your .angular-cli.json to reference the third party library wowjs:
.angular-cli.json (scripts section)
...
  "scripts": [
        "../node_modules/wowjs/dist/wow.js"
      ],
...

With that, you should no longer have the problem of 'WOW being undefined'
The documentation will  be updated hopefully tonight

Woooooow !
It fixed.
Your solution was absolutely correct ..
Thanks a lot friend !

I have this same problem still running in Angular 9, after following all steps as discussed here