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:
1 parent
bbe886fcdd
commit
4af02cdc87
12 files changed
+252
-10
No files matched your search
+238
@@ -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
|
||||||
|
|||||||
@@ -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];
|
||||||
|
|||||||
-1
@@ -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(() {
|
||||||
|
|||||||
+1
-1
@@ -345,7 +345,7 @@ class OutlineItemWidget extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
children.add(
|
children.add(
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: text,
|
text: text,
|
||||||
|
|||||||
-1
@@ -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);
|
||||||
|
|||||||
+5
@@ -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) {
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user