fix: add autofillHints support to AFTextField (#8594)

* chore: bump version to 0.11.4 and update changelog

* feat: add autofillHints support to AFTextField

* fix: remove autoFocus from font search input

* chore: fix code formatting
This commit is contained in:
Lucas authored and GitHub committed 2026-03-20 14:02:00 +08:00
1 parent bbe886fcdd
commit 4af02cdc87
12 files changed
+252 -10

No files matched your search

+238
View File
@@ -1,4 +1,242 @@
# Release Notes # Release Notes
## Version 0.11.4 – 09/03/2026
### Desktop
#### New Features
- Notification System: In-app notification center to track mentions, reminders, and activity updates
- Revamped Slash Menu: Redesigned `/` command menu with improved layout and discoverability
- Editor Block Spacing: Optimize spacing between blocks in the document editor
#### Bug Fixes
- Fixed row document issues
- Fixed bulk delete not working correctly
- Fixed connection check causing unnecessary errors
### Mobile
#### New Features
- Notification System: In-app notification center to track mentions, reminders, and activity updates
- Revamped Slash Menu: Redesigned `/` command menu with improved layout and discoverability
- Editor Block Spacing: Optimize spacing between blocks in the document editor
#### Bug Fixes
- Fixed mobile block selection disappearing
- Fixed select-all behavior with Gboard on Android
- Fixed duplicate column names when creating board groups
## Version 0.11.3 – 25/02/2026
### Desktop
#### Bug Fixes
- Fixed the space dropdown menu not displaying correctly
- Fixed relation filter not applying correctly in advanced filter scenarios
- Fixed the disconnect banner not refreshing properly
### Mobile
#### Bug Fixes
- Fixed losing focus after typing the first character in a text cell
- Fixed FCM blocking the main app on startup
## Version 0.11.2 – 14/02/2026
### Desktop
#### New Features
- New Database View: Feed view
- AI Transcript & Meeting Blocks: Automatic speaker name guessing, referenced AI summaries, and meeting detection from Google Meet and Slack
- Google Drive Block: Embed and select Google Drive files via link or connected account
#### Bug Fixes
- File Block: Display upload progress during file uploads
- Image Upload: Improved upload indicator and instant image caching
- Unsplash Cover Image: Improved preview and keyboard navigation
### Mobile
#### New Features
- New Database View: Feed view
- Google Drive Block: Embed and select Google Drive files via link or connected account
#### Bug Fixes
- File Block: Display upload progress during file uploads
- Image Upload: Improved upload indicator and instant image caching
## Version 0.11.1 – 28/01/2026
### Desktop
#### New Features
- New Database Views: Gallery, List, and Chart views
- Grouping in a Grid (Table) view: Group by allows you to organize database entries into collapsible sections based on property values (e.g., Status, Priority)
- Multi-row actions: Allows for powerful multi-row (bulk) actions within databases to edit, delete, or duplicate all at once
- Database advanced filters: Useful when combining AND logic and OR logic in your filter
- Number property new formats: Comma separated and percent
- Export as PDF: Export a single page as .PDF
- Database Cover Images: Added support for cover images to enhance visual representation
- AI Transcript & Meeting Notes: Use the mention person type for task assignees in the action items of the AI summary
#### Bug Fixes
- Enhanced playback experience for video blocks
- Resolved issue with inline mention styles not matching block text styles
### Mobile
#### New Features
- New Database Views: Gallery, List, and Chart views
#### Bug Fixes
- Improved playback experience for video blocks
- Fixed issue with inline mention styles not matching block text styles
## Version 0.11.0 – 12/01/2026
### Desktop
#### Bug Fixes
- Fixed row detail page button style not following theme changes
- Fixed target limit not being removed when creating two-way relation field
- Improved speaker selector menu UI style in the transcript tab of AI meeting block
## Version 0.10.9 – 09/01/2026
### Desktop
#### New Features
- Database Rollup: A powerful property used to retrieve and aggregate information from items in a related database
- Database search: Search names of database pages, as well as property values (such as a status of "In progress") and content inside database pages
- AI Transcript with auto speaker identification: Upload an audio file to generate transcriptions with speaker labels. You can assign or change speaker names
- AI Meeting Notes with auto speaker identification: Real-time transcription during meetings with automatic speaker label detection after recording stops. You can assign or change speaker names
- Mermaid diagram support: Add diagrams directly in Code blocks with split, preview, and code display modes, plus an expandable view
- Top nav bar breadcrumb revamp: Refreshed design with improved layout
- Document and database cover reposition: Reposition cover images for the best display
#### Bug Fixes
- Fixed various database issues to improve stability and performance
### Mobile
#### New Features
- AI Transcript with auto speaker identification: Upload an audio file to generate transcriptions with speaker labels. You can assign or change speaker names
- Mermaid diagram support: Add diagrams directly in Code blocks with split, preview, and code display modes, plus an expandable view
#### Bug Fixes
- Fixed various database issues to improve stability and performance
## Version 0.10.8 – 22/12/2025
### Desktop
#### Bug Fixes
- Grid sort order preserved after edits — Editing a row no longer moves it to the bottom of a sorted Grid
- Delete banner for databases — Grid, Board, and Calendar now show restore/delete banner when deleted
- Timestamp field conversion — Converting Created time or Last modified to Text/Date no longer loses values
- Unicode string sorting — Sorting now handles accented characters and special symbols correctly
- Kanban filter fix — Filters now apply correctly to items added after view creation
### Mobile
#### Bug Fixes
- Grid sort order preserved after edits — Editing a row no longer moves it to the bottom of a sorted Grid
- Timestamp field conversion — Converting Created time or Last modified to Text/Date no longer loses values
- Unicode string sorting — Sorting now handles accented characters and special symbols correctly
- Kanban filter fix — Filters now apply correctly to items added after view creation
## Version 0.10.7 – 19/12/2025
### Desktop
#### New Features
- AI Meeting Notes Block: Supports real-time transcription on macOS and Windows. AI will turn everything into a clean, share-ready summary
- Database Two-way Relations: Automatically sync connected data between databases, ensuring that information added in one place instantly appears in the other
- Video Block: Upload or embed video files, then view and interact with them directly inside your document
- Audio Block: Upload or embed audio files, then view and interact with them directly inside your document
- Callout Block: Supports removing the callout icon
- Table of Contents Block: Supports collapsing/uncollapsing the content
#### Bug Fixes
- Fixed various issues related to database views, including sorting, filtering, counting, syncing, and layouts
- Fixed various issues related to the linked views of databases
- Fixed database issues related to date formats, file name display, view tabs, horizontal scroll, and Relation property performance
### Mobile
#### New Features
- Video Block: Upload or embed video files, then view and interact with them directly inside your document
- Audio Block: Upload or embed audio files, then view and interact with them directly inside your document
- Callout Block: Supports removing the callout icon
- Table of Contents Block: Supports collapsing/uncollapsing the content
#### Bug Fixes
- Fixed various issues related to database views, including sorting, filtering, counting, syncing, and layouts
- Fixed various issues related to the linked views of databases
- Fixed database issues related to date formats, file name display, view tabs, horizontal scroll, and Relation property performance
## Version 0.10.6 – 05/12/2025
### Desktop
#### Bug Fixes
- Fixed issues related to the duplicated databases
- Fixed an issue where the Chinese (Simplified) and Chinese (Traditional) language options were not being saved properly in the summary language of the AI meeting block
### Mobile
#### Bug Fixes
- Fixed issues related to the duplicated databases
## Version 0.10.5 – 02/12/2025
### Desktop
#### New Features
- AI Transcript Block: Turn audio and video recordings into ready-to-share notes with AI Transcribe. Easily use our rich-text editing features to refine both the AI transcription and summary. Perfect for work, school, or personal projects
- PDF Block: Upload or embed PDF files, then view and interact with them directly inside your document
- Improved Image Block: Supported new features such as captions, embedded external or page links, saving images, and replacing images with more polished visuals and interactions
- Self-hosted: Enabled custom namespaces, fixed issues with inviting members via link, and removed Pro plan banners that were intended for the managed cloud version
### Mobile
#### New Features
- PDF Block: Upload or embed PDF files, then view and interact with them directly inside your document
- Improved Image Block: Supported new features such as captions, embedded external or page links, saving images, and replacing images—with more polished visuals and interactions
- Self-hosted: Fixed issues with inviting members via link, and removed Pro plan banners that were intended for the managed cloud version
## Version 0.10.4 – 14/11/2025
### Desktop
#### New Features
- Revamped the Math Equation block with an easier-to-use UX and new features: multiline equations, more environment variables, inline math equation markdown support, and Ask AI
- Revamped the Toggle List block with an improved UI and bug fixes
- Revamped the right-click Context Menu with a more polished UI and new features: Paste as plain text and Ask AI
#### Bug Fixes
- Fixed issues related to the Math Equation and Toggle List blocks
- Fixed issues related to the right-click Context Menu
### Mobile
#### New Features
- Revamped the Math Equation and Toggle List blocks with improved UIs and new features
#### Bug Fixes
- Fixed issues related to the Math Equation and Toggle List blocks
## Version 0.10.3 – 31/10/2025
### Desktop
#### New Features
- Revamped the Code block with new features: pin language, caption, Ask AI, and Turn Text into Code
- Revamped the Callout block with an improved UI and quick styles
- Revamped the Outline block with a more polished UI and custom background colors
- Notification Settings: enable or disable mobile push notifications
#### Bug Fixes
- Fixed issues related to the Code and Callout blocks
### Mobile
#### New Features
- Supported mobile push notifications: you'll receive a push message when you're mentioned, invited to a page, or when page permissions change
- Revamped the Code, Callout, and Outline blocks with improved UIs and new features
## Version 0.10.2 – 24/10/2025
### Desktop
#### Bug Fixes
- Fixed inability to import Notion zip file
## Version 0.10.1 – 16/10/2025
### Desktop
#### Bug Fixes
- Fixed potential login token expired issue
- Fixed inability to create Vault workspace on self-hosted servers with commercial plans
- Fixed switching page rapidly caused the page flash
### Mobile
#### Bug Fixes
- Fixed potential login token expired issue
## Version 0.10.0 – 29/09/2025
### Desktop
#### New Features
- Person, a new database property, lets you assign a row to one or more collaborators
### Mobile
#### New Features
- Person, a new database property, lets you assign a row to one or more collaborators
- iOS Share to AppFlowy: quickly save a web page with optional notes to a target AppFlowy page or database
- Android Share to AppFlowy: quickly save a web page with optional notes to a target AppFlowy page or database
- A new Android widget: Quick Page Access
## Version 0.9.9 – 11/09/2025 ## Version 0.9.9 – 11/09/2025
### Desktop ### Desktop
#### New Features #### New Features
+1 -1
View File
@@ -26,7 +26,7 @@ CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
CARGO_MAKE_CRATE_FS_NAME = "dart_ffi" CARGO_MAKE_CRATE_FS_NAME = "dart_ffi"
CARGO_MAKE_CRATE_NAME = "dart-ffi" CARGO_MAKE_CRATE_NAME = "dart-ffi"
LIB_NAME = "dart_ffi" LIB_NAME = "dart_ffi"
APPFLOWY_VERSION = "0.9.9" APPFLOWY_VERSION = "0.11.4"
FLUTTER_DESKTOP_FEATURES = "dart" FLUTTER_DESKTOP_FEATURES = "dart"
PRODUCT_NAME = "AppFlowy" PRODUCT_NAME = "AppFlowy"
MACOSX_DEPLOYMENT_TARGET = "11.0" MACOSX_DEPLOYMENT_TARGET = "11.0"
@@ -2,4 +2,4 @@ export 'share_access_level.dart';
export 'share_popover_group_id.dart'; export 'share_popover_group_id.dart';
export 'share_role.dart'; export 'share_role.dart';
export 'shared_user.dart'; export 'shared_user.dart';
export 'share_section_type.dart'; export 'share_section_type.dart';
@@ -45,7 +45,7 @@ class ShareTabBloc extends Bloc<ShareTabEvent, ShareTabState> {
@override @override
Future<void> close() async { Future<void> close() async {
await _folderNotificationListener?.stop(); await _folderNotificationListener?.stop();
await super.close(); await super.close();
} }
@@ -78,7 +78,7 @@ class MobileSearchResultCell extends StatelessWidget {
child: BlocBuilder<ViewAncestorBloc, ViewAncestorState>( child: BlocBuilder<ViewAncestorBloc, ViewAncestorState>(
builder: (context, state) { builder: (context, state) {
final ancestors = state.ancestor.ancestors; final ancestors = state.ancestor.ancestors;
if(ancestors.isEmpty) return const SizedBox.shrink(); if (ancestors.isEmpty) return const SizedBox.shrink();
List<String> displayPath = ancestors.map((e) => e.name).toList(); List<String> displayPath = ancestors.map((e) => e.name).toList();
if (ancestors.length > 2) { if (ancestors.length > 2) {
displayPath = [ancestors.first.name, '...', ancestors.last.name]; displayPath = [ancestors.first.name, '...', ancestors.last.name];
@@ -121,7 +121,6 @@ class _FontFamilyDropDownState extends State<FontFamilyDropDown> {
child: FlowyTextField( child: FlowyTextField(
key: ThemeFontFamilySetting.textFieldKey, key: ThemeFontFamilySetting.textFieldKey,
hintText: LocaleKeys.settings_appearance_fontFamily_search.tr(), hintText: LocaleKeys.settings_appearance_fontFamily_search.tr(),
autoFocus: true,
debounceDuration: const Duration(milliseconds: 300), debounceDuration: const Duration(milliseconds: 300),
onChanged: (value) { onChanged: (value) {
setState(() { setState(() {
@@ -345,7 +345,7 @@ class OutlineItemWidget extends StatelessWidget {
), ),
), ),
); );
} else { } else {
children.add( children.add(
TextSpan( TextSpan(
text: text, text: text,
@@ -25,7 +25,6 @@ class ActionNavigationBloc
currentAction = currentAction.copyWith(arguments: {}); currentAction = currentAction.copyWith(arguments: {});
} }
currentAction.arguments?.addAll({ActionArgumentKeys.view: view}); currentAction.arguments?.addAll({ActionArgumentKeys.view: view});
} else { } else {
Log.error('Open view failed: ${action.objectId}'); Log.error('Open view failed: ${action.objectId}');
if (showErrorToast) { if (showErrorToast) {
@@ -279,7 +279,7 @@ class SpaceBloc extends Bloc<SpaceEvent, SpaceState> {
); );
} }
} }
afterOpen?.call(); afterOpen?.call();
}, },
expand: (space, isExpanded) async { expand: (space, isExpanded) async {
await _setSpaceExpandStatus(space, isExpanded); await _setSpaceExpandStatus(space, isExpanded);
@@ -34,6 +34,7 @@ class AFTextField extends StatefulWidget {
this.focusNode, this.focusNode,
this.readOnly = false, this.readOnly = false,
this.maxLength, this.maxLength,
this.autofillHints,
}); });
/// The hint text to display when the text field is empty. /// The hint text to display when the text field is empty.
@@ -87,6 +88,9 @@ class AFTextField extends StatefulWidget {
/// The maximum length of the text field. /// The maximum length of the text field.
final int? maxLength; final int? maxLength;
/// The autofill hints for password managers.
final Iterable<String>? autofillHints;
@override @override
State<AFTextField> createState() => _AFTextFieldState(); State<AFTextField> createState() => _AFTextFieldState();
} }
@@ -205,6 +209,7 @@ class _AFTextFieldState extends AFTextFieldState {
suffixIcon: widget.suffixIconBuilder?.call(context, isObscured), suffixIcon: widget.suffixIconBuilder?.call(context, isObscured),
suffixIconConstraints: widget.suffixIconConstraints, suffixIconConstraints: widget.suffixIconConstraints,
), ),
autofillHints: widget.autofillHints,
); );
if (hasError && errorText.isNotEmpty) { if (hasError && errorText.isNotEmpty) {
+1 -1
View File
@@ -1078,7 +1078,7 @@ packages:
source: hosted source: hosted
version: "0.1.8" version: "0.1.8"
html: html:
dependency: transitive dependency: "direct main"
description: description:
name: html name: html
sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec" sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
+2 -1
View File
@@ -4,7 +4,7 @@ description: Bring projects, wikis, and teams together with AI. AppFlowy is an
your data. The best open source alternative to Notion. your data. The best open source alternative to Notion.
publish_to: "none" publish_to: "none"
version: 0.9.9 version: 0.11.4
environment: environment:
flutter: ">=3.27.4" flutter: ">=3.27.4"
@@ -151,6 +151,7 @@ dependencies:
analyzer: 6.11.0 analyzer: 6.11.0
html: any
dev_dependencies: dev_dependencies:
# Introduce talker to log the bloc events, and only log the events in the development mode # Introduce talker to log the bloc events, and only log the events in the development mode