Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SliverAppBar.large and SliverAppBar.medium do not use foreground color #110951

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
rydmike opened this issue Sep 4, 2022 · 5 comments · Fixed by #118322
Closed

SliverAppBar.large and SliverAppBar.medium do not use foreground color #110951

rydmike opened this issue Sep 4, 2022 · 5 comments · Fixed by #118322
Assignees
Labels
f: material design flutter/packages/flutter/material repository. found in release: 3.3 Found to occur in 3.3 found in release: 3.4 Found to occur in 3.4 framework flutter/packages/flutter repository. See also f: labels. has reproducible steps The issue has been confirmed reproducible and is ready to work on P2 Important issues not at the top of the work list r: fixed Issue is closed as already fixed in a newer version

Comments

@rydmike
Copy link
Contributor

rydmike commented Sep 4, 2022

Steps to Reproduce

When defining foregroundColor for a SliverAppBar.large or SliverAppBar.medium either via an AppBarTheme or their properties, the defined color is not used by the app bar.

Using AppBarTheme to set colors

Expected SliverAppBar.medium and SliverAppBar.large title and icon colors to look like they do on AppBar and SliverAppBar. The background color does, but the defined AppBarTheme.foregroundColor is not used by the title.

M2 Light theme M2 dark theme
Screen Shot 2022-09-04 at 22 36 24 Screen Shot 2022-09-04 at 22 37 06
M3 Light theme M3 dark theme
Screen Shot 2022-09-04 at 22 37 58 Screen Shot 2022-09-04 at 22 38 30

Using SliverAppBar properties to set colors

Expected SliverAppBar.medium and SliverAppBar.large title and icon colors to look like they do on AppBar and SliverAppBar. The background color does, but the defined foregroundColor for SliverAppBar.medium and SliverAppBar.large is not used by the title.

M2 Light theme M2 dark theme
Screen Shot 2022-09-04 at 22 40 04 Screen Shot 2022-09-04 at 22 40 28
M3 Light theme M3 dark theme
Screen Shot 2022-09-04 at 22 41 23 Screen Shot 2022-09-04 at 22 42 09

Cause of Issue

This issue was mentioned in PR comment that implemented the SliverAppBar.medium and SliverAppBar.large here: #103962 (comment)

It was discovered that that text style for _MediumScrollUnderFlexibleConfig and _LargeScrollUnderFlexibleConfig do not respect and fall through via widget properties or AppBarTheme.of(context). They now do this:

  @override
  TextStyle? get collapsedTextStyle =>
    _textTheme.titleLarge?.apply(color: _colors.onSurface);

  @override
  TextStyle? get expandedTextStyle =>
    _textTheme.headlineSmall?.apply(color: _colors.onSurface);

It would be expected that they would fall through via widget foregroundColor and AppBarTheme.of(context).foregroundColor before resorting to default value, in order to respect and use widget and themed AppBar foreground color, just like the vanilla AppBar and SliverAppBar does.

Additionally, correct default styles for M2 would be a nice addition in order to keep the new SliverAppBar inline with previous behavior, also when using Material 2.

Issue Demo App

For convenience the issue demo app is available in DartPad here: https://dartpad.dev/?id=78c1fa0d845892e1cf8ea8b58adbe576

Screen Shot 2022-09-04 at 22 54 34

The live DartPad example uses Flutter stable 3.3.0, but the issue and results were also verified and are the same Flutter master 3.4.0-19.0.pre.70.

Issue reproduction sample code

The issue reproduction code is also available in this GIST

// MIT License
//
// Copyright (c) 2022 Mike Rydstrom
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.

import 'package:flutter/material.dart';

// Used as M3 seed color
const Color seedColor = Color(0xFF386A20);

// Make a seed generated M3 light mode ColorScheme.
final ColorScheme lightScheme = ColorScheme.fromSeed(
  brightness: Brightness.light,
  seedColor: seedColor,
);

// Make a seed generated M3 dark mode ColorScheme.
final ColorScheme darkScheme = ColorScheme.fromSeed(
  brightness: Brightness.dark,
  seedColor: seedColor,
);

// AppBar colors set via widget properties
const Color appBarBackground = Color(0xFFE9EEB5);
const Color appBarForeground = Color(0xFF1489C0);

// Make AppBarTheme with custom foreground and background colors.
AppBarTheme appBarTheme({required ColorScheme colorScheme}) => AppBarTheme(
      backgroundColor: colorScheme.tertiaryContainer,
      foregroundColor: colorScheme.error,
    );

// A simple custom theme
ThemeData appTheme(Brightness mode, bool useMaterial3) => ThemeData.from(
      colorScheme: mode == Brightness.light ? lightScheme : darkScheme,
      useMaterial3: useMaterial3,
    ).copyWith(
      appBarTheme: appBarTheme(
        colorScheme: mode == Brightness.light ? lightScheme : darkScheme,
      ),
    );

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

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

  @override
  State<IssueDemoApp> createState() => _IssueDemoAppState();
}

class _IssueDemoAppState extends State<IssueDemoApp> {
  bool useMaterial3 = true;
  ThemeMode themeMode = ThemeMode.light;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      themeMode: themeMode,
      theme: appTheme(Brightness.light, useMaterial3),
      darkTheme: appTheme(Brightness.dark, useMaterial3),
      home: Scaffold(
        appBar: AppBar(
          title: const Text(('AppBar Issue Demo')),
          actions: [
            IconButton(
              icon: useMaterial3
                  ? const Icon(Icons.filter_3)
                  : const Icon(Icons.filter_2),
              onPressed: () {
                setState(() {
                  useMaterial3 = !useMaterial3;
                });
              },
              tooltip: 'Switch to Material ${useMaterial3 ? 2 : 3}',
            ),
            IconButton(
              icon: themeMode == ThemeMode.dark
                  ? const Icon(Icons.wb_sunny_outlined)
                  : const Icon(Icons.wb_sunny),
              onPressed: () {
                setState(() {
                  if (themeMode == ThemeMode.light) {
                    themeMode = ThemeMode.dark;
                  } else {
                    themeMode = ThemeMode.light;
                  }
                });
              },
              tooltip: "Toggle brightness",
            ),
          ],
        ),
        body: const HomePage(),
      ),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return ListView(
      padding: const EdgeInsets.symmetric(horizontal: 16),
      children: [
        const SizedBox(height: 8),
        Text(
          'AppBar Issue',
          style: Theme.of(context).textTheme.headlineSmall,
        ),
        Text(
          'Foreground color on SliverAppBar.medium and SliverAppBar.large are '
          'not respected via AppBarTheme or AppBar properties.',
          style: Theme.of(context).textTheme.bodyLarge,
        ),
        const Divider(),
        const ShowAppBarColors(),
        const SizedBox(height: 8),
        const AppBarShowcase(),
        const Divider(),
        const ShowAppBarColors(
          foregroundColor: appBarForeground,
          backgroundColor: appBarBackground,
        ),
        const SizedBox(height: 8),
        const AppBarShowcase(
          foregroundColor: appBarForeground,
          backgroundColor: appBarBackground,
        ),
      ],
    );
  }
}

class AppBarShowcase extends StatelessWidget {
  const AppBarShowcase({super.key, this.foregroundColor, this.backgroundColor});
  final Color? foregroundColor;
  final Color? backgroundColor;

  @override
  Widget build(BuildContext context) {
    return MediaQuery.removePadding(
      context: context,
      removeBottom: true,
      removeTop: true,
      child: Column(
        children: <Widget>[
          AppBar(
            foregroundColor: foregroundColor,
            backgroundColor: backgroundColor,
            leading: IconButton(
              icon: const Icon(Icons.menu),
              onPressed: () {},
            ),
            title: const Text('Normal AppBar'),
            actions: <Widget>[
              IconButton(
                icon: const Icon(Icons.search),
                onPressed: () {},
              ),
            ],
          ),
          const SizedBox(height: 8),
          CustomScrollView(
            // Normally avoid shrinkWrap, but for showing a few demo
            // widgets here, we can get away with it.
            shrinkWrap: true,
            slivers: <Widget>[
              SliverAppBar(
                foregroundColor: foregroundColor,
                backgroundColor: backgroundColor,
                leading: IconButton(
                  icon: const Icon(Icons.menu),
                  onPressed: () {},
                ),
                title: const Text('Sliver AppBar'),
                actions: <Widget>[
                  IconButton(
                    icon: const Icon(Icons.search),
                    onPressed: () {},
                  ),
                ],
              ),
              const SliverToBoxAdapter(child: SizedBox(height: 8)),
              SliverAppBar.medium(
                foregroundColor: foregroundColor,
                backgroundColor: backgroundColor,
                leading: IconButton(
                  icon: const Icon(Icons.menu),
                  onPressed: () {},
                ),
                title: const Text('SliverAppBar.medium'),
                actions: <Widget>[
                  IconButton(
                    icon: const Icon(Icons.search),
                    onPressed: () {},
                  ),
                ],
              ),
              const SliverToBoxAdapter(child: SizedBox(height: 8)),
              SliverAppBar.large(
                foregroundColor: foregroundColor,
                backgroundColor: backgroundColor,
                leading: IconButton(
                  icon: const Icon(Icons.menu),
                  onPressed: () {},
                ),
                title: const Text('SliverAppBar.large'),
                actions: <Widget>[
                  IconButton(
                    icon: const Icon(Icons.search),
                    onPressed: () {},
                  ),
                ],
              )
            ],
          ),
        ],
      ),
    );
  }
}

/// Draw a number of boxes showing the colors of key theme color properties
/// in the ColorScheme of the inherited ThemeData and its color properties.
class ShowAppBarColors extends StatelessWidget {
  const ShowAppBarColors({
    super.key,
    this.foregroundColor,
    this.backgroundColor,
  });
  final Color? foregroundColor;
  final Color? backgroundColor;

  @override
  Widget build(BuildContext context) {
    final ThemeData theme = Theme.of(context);
    final bool useMaterial3 = theme.useMaterial3;
    const double spacing = 6;

    final String colorSource =
        foregroundColor == null ? ' via AppBarTheme' : ' via AppBar properties';

    // Grab the card border from the theme card shape
    ShapeBorder? border = theme.cardTheme.shape;
    // If we had one, copy in a border side to it.
    if (border is RoundedRectangleBorder) {
      border = border.copyWith(
        side: BorderSide(
          color: theme.dividerColor,
          width: 1,
        ),
      );
      // If
    } else {
      // If border was null, make one matching Card default, but with border
      // side, if it was not null, we leave it as it was.
      border ??= RoundedRectangleBorder(
        borderRadius: BorderRadius.all(Radius.circular(useMaterial3 ? 12 : 4)),
        side: BorderSide(
          color: theme.dividerColor,
          width: 1,
        ),
      );
    }

    // Wrap this widget branch in a custom theme where card has a border outline
    // if it did not have one, but retains in ambient themed border radius.
    return Theme(
      data: Theme.of(context).copyWith(
        cardTheme: CardTheme.of(context).copyWith(
          elevation: 0,
          shape: border,
        ),
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Padding(
            padding: const EdgeInsets.symmetric(vertical: 8),
            child: Text(
              'AppBar Colors$colorSource',
              style: theme.textTheme.titleLarge,
            ),
          ),
          Wrap(
            alignment: WrapAlignment.start,
            crossAxisAlignment: WrapCrossAlignment.center,
            spacing: spacing,
            runSpacing: spacing,
            children: <Widget>[
              ColorCard(
                label: 'AppBar\nBackground',
                color: backgroundColor ?? theme.appBarTheme.backgroundColor!,
                textColor:
                    foregroundColor ?? theme.appBarTheme.foregroundColor!,
              ),
              ColorCard(
                label: 'AppBar\nForeground',
                color: foregroundColor ?? theme.appBarTheme.foregroundColor!,
                textColor:
                    backgroundColor ?? theme.appBarTheme.backgroundColor!,
              ),
            ],
          ),
        ],
      ),
    );
  }
}

/// A [SizedBox] with a [Card] and string text in it. Used in this demo to
/// display theme color boxes.
///
/// Can specify label text color and background color.
class ColorCard extends StatelessWidget {
  const ColorCard({
    super.key,
    required this.label,
    required this.color,
    required this.textColor,
    this.size,
  });

  final String label;
  final Color color;
  final Color textColor;
  final Size? size;

  @override
  Widget build(BuildContext context) {
    const double fontSize = 11;
    const Size effectiveSize = Size(86, 58);

    return SizedBox(
      width: effectiveSize.width,
      height: effectiveSize.height,
      child: Card(
        margin: EdgeInsets.zero,
        clipBehavior: Clip.antiAlias,
        color: color,
        child: Center(
          child: Text(
            label,
            style: TextStyle(color: textColor, fontSize: fontSize),
            textAlign: TextAlign.center,
          ),
        ),
      ),
    );
  }
}

Flutter doctor
 flutter doctor -v
[✓] Flutter (Channel master, 3.4.0-19.0.pre.70, on macOS 12.5.1 21G83 darwin-arm64, locale en-US)
    • Flutter version 3.4.0-19.0.pre.70 on channel master at /Users/rydmike/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 798ce226de (16 minutes ago), 2022-09-04 14:25:25 -0400
    • Engine revision 0a2f56cd02
    • Dart version 2.19.0 (build 2.19.0-168.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/rydmike/Library/Android/sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

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

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

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 67.1.4
    • Dart plugin version 221.5591.58

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.5.1 21G83 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 104.0.5112.101

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

• No issues found!

@rydmike
Copy link
Contributor Author

rydmike commented Sep 4, 2022

Related AppBarTheme issue #110878

The DartPad version using Flutter stable 3.3.0 now also show how issue #107305 has regressed to Flutter 3.3.0 stable, as mentioned here: #110878

When running the sample code for this demo on master channel we can see fix #108332 in action on the icons, but on stable with DartPad we can see the mentioned icon color issue.

However, on master we can also notice that the fix #108322 is not of the fidelity level normally observed concerning theme animation lerping. The Icon brightness flickers via their default colors, when toggling between light/dark or M2/M3. This is particularly clear when looking at the example that sets AppBar properties to same values in both light and dark mode via widget properties, but it can also be seen when set via theme, it flickers via black.

This kind of theme transition "color jank" via default color, is normally not observed when changing themes or mode.

@danagbemava-nc
Copy link
Member

Reproducible using the code sample provided.

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.0, on macOS 12.5 21G72 darwin-arm, locale en-GB)
    • Flutter version 3.3.0 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ffccd96b62 (6 days ago), 2022-08-29 17:28:57 -0700
    • Engine revision 5e9e0e0aa8
    • Dart version 2.18.0
    • DevTools version 2.15.0

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

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

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

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

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

[✓] Connected device (4 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 13 (API 33) (emulator)
    • iPhone 13 Pro (mobile)      • 6E074BA5-191C-47D4-892F-FD96AFC34148 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)             • macos                                • darwin-arm64   • macOS 12.5 21G72 darwin-arm
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome 104.0.5112.101

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

• No issues found!
[✓] Flutter (Channel master, 3.4.0-19.0.pre.72, on macOS 12.5 21G72 darwin-arm64, locale en-GB)
    • Flutter version 3.4.0-19.0.pre.72 on channel master at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 202f5771f4 (9 hours ago), 2022-09-04 20:28:23 -0400
    • Engine revision b94120dfe9
    • Dart version 2.19.0 (build 2.19.0-168.0.dev)
    • DevTools version 2.17.0

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

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

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

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

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

[✓] Connected device (4 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 13 (API 33) (emulator)
    • iPhone 13 Pro (mobile)      • 6E074BA5-191C-47D4-892F-FD96AFC34148 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)             • macos                                • darwin-arm64   • macOS 12.5 21G72 darwin-arm64
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome 104.0.5112.101

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

• No issues found!

@danagbemava-nc danagbemava-nc added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. has reproducible steps The issue has been confirmed reproducible and is ready to work on found in release: 3.3 Found to occur in 3.3 found in release: 3.4 Found to occur in 3.4 and removed in triage Presently being triaged by the triage team labels Sep 5, 2022
@rydmike
Copy link
Contributor Author

rydmike commented Sep 5, 2022

Thanks @danagbemava-nc for the speedy triage.

Sadly I did not catch this one in time so it could be fixed before Flutter 3.3.0 stable release. The medium and large SliverAppBars had been around for quite some time in master, I had just not tried them until just before the 3.3 release, as seen here #103962 (comment).

As long as devs stick to an AppBar background where the default foreground color is usable this not an issue, but not all apps do.

@timcreatedit
Copy link
Contributor

timcreatedit commented Sep 9, 2022

In our app, even the normal AppBar doesn't use foregroundColor for the automatically implied leading and the actions anymore. This is a pretty annoying problem, because we have many dark screens, where we now can't use automaticallyImplyLeading anymore. This made 3.3 a pretty serious breaking change for us.

@TahaTesser TahaTesser self-assigned this Dec 13, 2022
@github-project-automation github-project-automation bot moved this to To do in Nevercode Jan 11, 2023
@TahaTesser TahaTesser moved this to 🚧 In Progress in Material 3 Jan 11, 2023
@TahaTesser TahaTesser moved this from To do to PR submitted in Nevercode Jan 11, 2023
@Piinks Piinks added the P2 Important issues not at the top of the work list label Jan 11, 2023
@github-project-automation github-project-automation bot moved this from 🚧 In Progress to ✅ Done in Material 3 Jan 12, 2023
@github-project-automation github-project-automation bot moved this from PR submitted to Done (PR merged) in Nevercode Jan 12, 2023
@TahaTesser TahaTesser added the r: fixed Issue is closed as already fixed in a newer version label Jan 12, 2023
@github-actions
Copy link

github-actions bot commented Mar 4, 2023

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 4, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
f: material design flutter/packages/flutter/material repository. found in release: 3.3 Found to occur in 3.3 found in release: 3.4 Found to occur in 3.4 framework flutter/packages/flutter repository. See also f: labels. has reproducible steps The issue has been confirmed reproducible and is ready to work on P2 Important issues not at the top of the work list r: fixed Issue is closed as already fixed in a newer version
Projects
Status: Done (PR merged)
Status: Done
Development

Successfully merging a pull request may close this issue.

6 participants