Skip to content

[Web][Safari]: Unable to enter text into Textfield on latest master and beta. #96411

@drexel-ue

Description

@drexel-ue

Steps to Reproduce

  1. Run web application on. mac device using flutter run -d web-server --web-hostname localhost --web-port 5000 --release
  • Can also be deployed via firebase hosting
  1. Open web application using Safari
  2. Attempt to type in any textfield

Expected results:
Textfield should gain focus and accept text upon keyboard button presses

Actual results:
Textfield gains focus and does not accept text upon keyboard button presses

Code sample
import 'package:flutter/material.dart';

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


class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: Demo(),
    );
  }
}

class Demo extends StatefulWidget {
  const Demo({Key? key}) : super(key:key);
  
  @override
  _DemoState createState() => _DemoState();
}

class _DemoState extends State<Demo> {
  @override build(BuildContext context) {
    return const Scaffold(
      body: Material(
        child: Center(
          child: TextField(),
        ),
      ),
    );
  }
}
Logs
flutter analyze                                                                       ─╯
Analyzing url_landing_site...                                           

   info • The value of the field '_lastUser' isn't used • lib/app/site.dart:34:9 •
          unused_field
   info • 'textSelectionHandleColor' is deprecated and shouldn't be used. Use
          TextSelectionThemeData.selectionHandleColor instead. This feature was deprecated
          after v1.26.0-18.0.pre. • lib/app/theme.dart:28:5 • deprecated_member_use
   info • Avoid `print` calls in production code •
          lib/backend/pay/pay_method_button.dart:182:13 • avoid_print
   info • Avoid `print` calls in production code •
          lib/backend/pay/pay_method_button.dart:194:13 • avoid_print
   info • Avoid `print` calls in production code •
          lib/backend/pay/pay_method_button.dart:197:15 • avoid_print
   info • Avoid `print` calls in production code •
          lib/backend/pay/pay_method_button.dart:205:15 • avoid_print
   info • Don't access members with `this` unless avoiding shadowing •
          lib/models/api.dart:29:46 • unnecessary_this
   info • The import of 'package:flutter/gestures.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/screens/_common/footer.dart:1:8 • unnecessary_import
   info • The import of 'package:flutter/rendering.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/screens/_common/footer.dart:3:8 • unnecessary_import
   info • The import of 'package:flutter/rendering.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/screens/home/home.dart:2:8 • unnecessary_import
   info • The import of 'package:url_landing_site/models/models.dart' is unnecessary because
          all of the used elements are also provided by the import of
          'package:url_landing_site/backend/backend.dart' •
          lib/screens/home/page_home_logged_in.dart:6:8 • unnecessary_import
   info • The import of 'package:flutter/rendering.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/screens/other/faq.dart:2:8 • unnecessary_import
   info • The value of the field '_mode' isn't used •
          lib/screens/subscribe/payment_type_selection_page.dart:22:46 • unused_field
   info • The import of 'package:url_landing_site/models/models.dart' is unnecessary because
          all of the used elements are also provided by the import of
          'package:url_landing_site/backend/backend.dart' •
          lib/screens/subscribe/subscription_dialog.dart:12:8 • unnecessary_import
   info • The import of 'package:url_landing_site/models/models.dart' is unnecessary because
          all of the used elements are also provided by the import of
          'package:url_landing_site/backend/backend.dart' • lib/screens/video/video.dart:3:8
          • unnecessary_import
   info • The import of 'package:flutter/widgets.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/utils/formatting.dart:2:8 • unnecessary_import
   info • The import of 'package:flutter/widgets.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/utils/media_query_extension.dart:24:8 • unnecessary_import
   info • The import of 'package:flutter/foundation.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/widgets/anchored_tooltip.dart:1:8 • unnecessary_import
   info • The import of 'package:flutter/foundation.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/widgets/cursor.dart:1:8 • unnecessary_import
   info • The import of 'package:flutter/rendering.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/widgets/cursor.dart:4:8 • unnecessary_import
   info • The import of 'package:flutter/foundation.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/widgets/iframe.dart:1:8 • unnecessary_import
   info • The operand can't be null, so the condition is always true •
          lib/widgets/site_dialog.dart:414:41 • unnecessary_null_comparison
   info • The import of 'package:flutter/foundation.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/widgets/svg.dart:3:8 • unnecessary_import
   info • The import of 'package:flutter/rendering.dart' is unnecessary because all of the
          used elements are also provided by the import of 'package:flutter/material.dart' •
          lib/widgets/text_link.dart:2:8 • unnecessary_import

╰─ flutter doctor -v                                                                     ─╯
[✓] Flutter (Channel beta, 2.9.0-0.1.pre, on macOS 12.1 21C52 darwin-x64, locale en-US)
    • Flutter version 2.9.0-0.1.pre at /Users/ikkeshpack/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8f1f9c10f0 (4 weeks ago), 2021-12-14 13:41:48 -0800
    • Engine revision 234aca678a
    • Dart version 2.16.0 (build 2.16.0-80.1.beta)
    • DevTools version 2.9.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/ikkeshpack/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/ikkeshpack/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.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.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.1 21C52 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 97.0.4692.71

• No issues found!


Metadata

Metadata

Labels

a: text inputEntering text in a text field or keyboard related problemsbrowser: safari-macosonly manifests in Safari on macOSc: regressionIt was better in the past than it is nowfound in release: 2.9Found to occur in 2.9frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-webWeb applications specificallyr: fixedIssue is closed as already fixed in a newer version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions