1. 09 Feb, 2024 1 commit
  2. 08 Feb, 2024 2 commits
  3. 07 Feb, 2024 2 commits
    • Gray Mackall's avatar
      Restore log dumps for gradle OOM crashes, and set a value for `MaxMetaspaceSize` (#143085) · 120a01cc
      Gray Mackall authored
      Re-sets two jvmargs that were getting cleared because we set a value for `-Xmx`. Could help with https://github.com/flutter/flutter/issues/142957. Copied from comment here https://github.com/flutter/flutter/issues/142957:
      >Two random things I ran into while looking into this that might help:
      >
      >1. Gradle has defaults for a couple of the jvmargs, and setting any one of them clears those defaults for the others (bug here https://github.com/gradle/gradle/issues/19750). This can cause the "Gradle daemon to consume more and more native memory until it crashes", though the bug typically has a different associated error. It seems worth it to re-set those defaults.
      >2. There is a property we can set that will give us a heap dump on OOM ([-XX:HeapDumpOnOutOfMemoryError](https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/clopts001.html))
      
      Mostly just a find and replace from `find . -name gradle.properties -exec sed -i '' 's/\-Xmx4G/-Xmx4G\ \-XX:MaxMetaspaceSize=2G\ \-XX:+HeapDumpOnOutOfMemoryError/g' {} \;`, with the templates and the one test that writes from a string replaced by hand. I didn't set a value for `MaxMetaspaceSize` in the template files because I want to make sure this value doesn't cause problems in ci first (changes to the templates are essentially un-revertable for those who `flutter create` while the changes exist).
      120a01cc
    • Chris Bracken's avatar
      [Windows] Fix signed/unsigned int comparison (#142341) · 9f8fe3f0
      Chris Bracken authored
      Previously, we were comparing the signed int `target_length` (returned by WideCharToMultiByte) to a size_t string length, resulting in a signed/unsigned comparison warning as follows:
      
      ```
      windows\runner\utils.cpp(54,43): warning C4018:  '>': signed/unsigned mismatch
      ```
      
      WideCharToMultiByte returns:
      * 0 on error
      * the number of bytes written to the buffer pointed to by its fifth parameter, lpMultiByteStr, on success.
      
      As a result it's safe to store the return value in an unsigned int, which eliminates the warning.
      
      No changes to tests since this is dependent on end-user project settings/modifications and does not trigger a warning with default project settings.
      
      Fixes: https://github.com/flutter/flutter/issues/134227
      9f8fe3f0
  4. 04 Feb, 2024 2 commits
  5. 02 Feb, 2024 1 commit
    • Jackson Gardner's avatar
      Wasm/JS Dual Compile with the flutter tool (#141396) · ba626dc8
      Jackson Gardner authored
      This implements dual compile via the newly available flutter.js bootstrapping APIs for intelligent build fallback.
      * Users can now use the `FlutterLoader.load` API from flutter.js
      * Flutter tool injects build info into the `index.html` of the user so that the bootstrapper knows which build variants are available to bootstrap
      * The semantics of the `--wasm` flag for `flutter build web` have changed:
        - Instead of producing a separate `build/web_wasm` directory, the output goes to the `build/web` directory like a normal web build
        - Produces a dual build that contains two build variants: dart2wasm+skwasm and dart2js+CanvasKit. The dart2wasm+skwasm will only work on Chrome in a cross-origin isolated context, all other environments will fall back to dart2js+CanvasKit.
        - `--wasm` and `--web-renderer` are now mutually exclusive. Since there are multiple build variants with `--wasm`, the web renderer cannot be expressed via a single command-line flag. For now, we are hard coding what build variants are produced with the `--wasm` flag, but I plan on making this more customizable in the future.
      * Build targets now can optionally provide a "build key" which can uniquely identify any specific parameterization of that build target. This way, the build target can invalidate itself by changing its build key. This works a bit better than just stuffing everything into the environment defines because (a) it doesn't invalidate the entire build, just the targets which are affected and (b) settings for multiple build variants don't translate well to the flat map of environment defines.
      ba626dc8
  6. 01 Feb, 2024 1 commit
  7. 30 Jan, 2024 1 commit
  8. 24 Jan, 2024 1 commit
  9. 19 Jan, 2024 1 commit
  10. 16 Jan, 2024 1 commit
  11. 12 Jan, 2024 3 commits
  12. 09 Jan, 2024 1 commit
  13. 05 Jan, 2024 2 commits
  14. 04 Jan, 2024 1 commit
  15. 03 Jan, 2024 2 commits
  16. 02 Jan, 2024 3 commits
  17. 20 Dec, 2023 1 commit
  18. 19 Dec, 2023 1 commit
  19. 15 Dec, 2023 3 commits
  20. 07 Dec, 2023 1 commit
  21. 06 Dec, 2023 1 commit
  22. 05 Dec, 2023 2 commits
  23. 29 Nov, 2023 2 commits
    • Ian Hickson's avatar
      Roll dependencies (#139203) · b4178125
      Ian Hickson authored
      Removes video_player and scoped_model pins, rolls everything else to latest.
      b4178125
    • Kate Lovett's avatar
      Update VelocityTracker (4) (#139166) · 8ba459ce
      Kate Lovett authored
      This updates the implementation to use the stopwatch from the Clock object and pipes it through to the TestWidgetsFlutterBinding so it will be kept in sync with FakeAsync.
      
      Relands https://github.com/flutter/flutter/pull/138843 attempted to reland https://github.com/flutter/flutter/pull/137381 which attempted to reland #132291
      Fixes https://github.com/flutter/flutter/issues/97761
      
      1. The original change was reverted due to flakiness it introduced in tests that use fling gestures.
        * Using a mocked clock through the test binding fixes this now
      2. It was reverted a second time because a change at tip of tree broke it, exposing memory leaks, but it was not rebased before landing. 
        * These leaks are now fixed
      3. It was reverted a third time, because we were so excellently quick to revert those other times, that we did not notice the broken benchmark that only runs in postsubmit.
        * The benchmark is now fixed
      8ba459ce
  24. 28 Nov, 2023 1 commit
    • Nate's avatar
      Implement `switch` expressions in `dev/` (#139048) · 3267fbc0
      Nate authored
      I previously made a PR (#136140) that used `switch` expressions to make some parts of the Flutter codebase easier to understand. It was assigned to the framework team, and @christopherfujino let me know that it was too large to effectively review and recommended breaking it up into smaller pull requests.
      
      Here's a PR that only targets files in the `dev/` directory. Hopefully this will be easier to work with!
      
      (solves issue https://github.com/flutter/flutter/issues/136139)
      3267fbc0
  25. 17 Nov, 2023 1 commit
  26. 15 Nov, 2023 1 commit
    • Srujan Gaddam's avatar
      Pin package:web 0.4.0 (#138428) · d8ffc739
      Srujan Gaddam authored
      This version is needed so that dart:js_interop can move to extension
      types. Also adds some code to handle some breaking changes:
      
      - Body -> Response. Body was an IDL interface mixin type we exposed in
      dart:html. Going forward, users should either use Request or Response.
      - Casts to JSAny. These are temporary until we move package:web types to
      extension types. Currently, package:web types can't implement JSObject
      as JSObject will move to be an extension type itself.
      Co-authored-by: 's avatarKevin Moore <kevmoo@users.noreply.github.com>
      d8ffc739
  27. 13 Nov, 2023 1 commit