mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
Merge branch 'main' into main
This commit is contained in:
commit
00a51674f3
13
CHANGELOG.md
13
CHANGELOG.md
@ -1,4 +1,17 @@
|
|||||||
# Release Notes
|
# Release Notes
|
||||||
|
## Version 0.6.8 - 22/08/2024
|
||||||
|
### New Features
|
||||||
|
- Optimized date picker and mention block.
|
||||||
|
- Added the ability to open database row on mobile.
|
||||||
|
- Added the ability to invite members to workspace on mobile.
|
||||||
|
- Added support for Monochrome theme on Android.
|
||||||
|
- Added AI Bubble button on homepage on mobile.
|
||||||
|
- Settings, trash, members and help & support have been moved into the settings pop up menu.
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
- Removed Wayland header from AppImage build
|
||||||
|
- Fixed the issue where pasting web image on mobile failed.
|
||||||
|
|
||||||
## Version 0.6.7 - 13/08/2024
|
## Version 0.6.7 - 13/08/2024
|
||||||
### New Features
|
### New Features
|
||||||
- Redesigned the icon picker design on Desktop.
|
- Redesigned the icon picker design on Desktop.
|
||||||
|
@ -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.6.7"
|
APPFLOWY_VERSION = "0.6.8"
|
||||||
FLUTTER_DESKTOP_FEATURES = "dart"
|
FLUTTER_DESKTOP_FEATURES = "dart"
|
||||||
PRODUCT_NAME = "AppFlowy"
|
PRODUCT_NAME = "AppFlowy"
|
||||||
MACOSX_DEPLOYMENT_TARGET = "11.0"
|
MACOSX_DEPLOYMENT_TARGET = "11.0"
|
||||||
|
@ -174,7 +174,7 @@ SPEC CHECKSUMS:
|
|||||||
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
|
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
|
||||||
flowy_infra_ui: 0455e1fa8c51885aa1437848e361e99419f34ebc
|
flowy_infra_ui: 0455e1fa8c51885aa1437848e361e99419f34ebc
|
||||||
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
||||||
fluttertoast: 723e187574b149e68e63ca4d39b837586b903cfa
|
fluttertoast: e9a18c7be5413da53898f660530c56f35edfba9c
|
||||||
image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425
|
image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425
|
||||||
integration_test: ce0a3ffa1de96d1a89ca0ac26fca7ea18a749ef4
|
integration_test: ce0a3ffa1de96d1a89ca0ac26fca7ea18a749ef4
|
||||||
irondash_engine_context: 3458bf979b90d616ffb8ae03a150bafe2e860cc9
|
irondash_engine_context: 3458bf979b90d616ffb8ae03a150bafe2e860cc9
|
||||||
@ -196,4 +196,4 @@ SPEC CHECKSUMS:
|
|||||||
|
|
||||||
PODFILE CHECKSUM: d0d9b4ff572d8695c38eb3f9b490f55cdfc57eca
|
PODFILE CHECKSUM: d0d9b4ff572d8695c38eb3f9b490f55cdfc57eca
|
||||||
|
|
||||||
COCOAPODS: 1.11.3
|
COCOAPODS: 1.15.2
|
||||||
|
@ -1,20 +1,16 @@
|
|||||||
import 'package:appflowy/generated/flowy_svgs.g.dart';
|
|
||||||
import 'package:appflowy/generated/locale_keys.g.dart';
|
import 'package:appflowy/generated/locale_keys.g.dart';
|
||||||
import 'package:appflowy/mobile/presentation/home/section_folder/mobile_home_section_folder.dart';
|
import 'package:appflowy/mobile/presentation/home/section_folder/mobile_home_section_folder.dart';
|
||||||
import 'package:appflowy/mobile/presentation/home/space/mobile_space.dart';
|
import 'package:appflowy/mobile/presentation/home/space/mobile_space.dart';
|
||||||
import 'package:appflowy/mobile/presentation/presentation.dart';
|
|
||||||
import 'package:appflowy/workspace/application/menu/sidebar_sections_bloc.dart';
|
import 'package:appflowy/workspace/application/menu/sidebar_sections_bloc.dart';
|
||||||
import 'package:appflowy/workspace/application/sidebar/folder/folder_bloc.dart';
|
import 'package:appflowy/workspace/application/sidebar/folder/folder_bloc.dart';
|
||||||
import 'package:appflowy/workspace/application/sidebar/space/space_bloc.dart';
|
import 'package:appflowy/workspace/application/sidebar/space/space_bloc.dart';
|
||||||
import 'package:appflowy/workspace/application/user/user_workspace_bloc.dart';
|
import 'package:appflowy/workspace/application/user/user_workspace_bloc.dart';
|
||||||
import 'package:appflowy/workspace/presentation/home/home_sizes.dart';
|
|
||||||
import 'package:appflowy_backend/protobuf/flowy-user/protobuf.dart';
|
import 'package:appflowy_backend/protobuf/flowy-user/protobuf.dart';
|
||||||
import 'package:easy_localization/easy_localization.dart';
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:flutter_slidable/flutter_slidable.dart';
|
import 'package:flutter_slidable/flutter_slidable.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
|
||||||
|
|
||||||
// Contains Public And Private Sections
|
// Contains Public And Private Sections
|
||||||
class MobileFolders extends StatelessWidget {
|
class MobileFolders extends StatelessWidget {
|
||||||
@ -73,13 +69,7 @@ class _MobileFolderState extends State<_MobileFolder> {
|
|||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
..._buildSpaceOrSection(context, state),
|
..._buildSpaceOrSection(context, state),
|
||||||
const VSpace(4.0),
|
const VSpace(80.0),
|
||||||
const Padding(
|
|
||||||
padding: EdgeInsets.symmetric(
|
|
||||||
horizontal: HomeSpaceViewSizes.mHorizontalPadding,
|
|
||||||
),
|
|
||||||
child: _TrashButton(),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@ -122,28 +112,3 @@ class _MobileFolderState extends State<_MobileFolder> {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class _TrashButton extends StatelessWidget {
|
|
||||||
const _TrashButton();
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return SizedBox(
|
|
||||||
height: 52,
|
|
||||||
child: FlowyButton(
|
|
||||||
expand: true,
|
|
||||||
margin: const EdgeInsets.symmetric(vertical: 8, horizontal: 2.0),
|
|
||||||
leftIcon: const FlowySvg(
|
|
||||||
FlowySvgs.m_delete_s,
|
|
||||||
),
|
|
||||||
leftIconSize: const Size.square(18),
|
|
||||||
iconPadding: 10.0,
|
|
||||||
text: FlowyText.regular(
|
|
||||||
LocaleKeys.trash_text.tr(),
|
|
||||||
fontSize: 16.0,
|
|
||||||
),
|
|
||||||
onTap: () => context.push(MobileHomeTrashPage.routeName),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -249,6 +249,8 @@ class _HomePageState extends State<_HomePage> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Log.info('workspace action result: $actionResult');
|
||||||
|
|
||||||
final actionType = actionResult.actionType;
|
final actionType = actionResult.actionType;
|
||||||
final result = actionResult.result;
|
final result = actionResult.result;
|
||||||
final isLoading = actionResult.isLoading;
|
final isLoading = actionResult.isLoading;
|
||||||
|
@ -2,7 +2,6 @@ import 'package:appflowy/generated/flowy_svgs.g.dart';
|
|||||||
import 'package:appflowy/generated/locale_keys.g.dart';
|
import 'package:appflowy/generated/locale_keys.g.dart';
|
||||||
import 'package:appflowy/mobile/presentation/base/gesture.dart';
|
import 'package:appflowy/mobile/presentation/base/gesture.dart';
|
||||||
import 'package:appflowy/mobile/presentation/bottom_sheet/bottom_sheet.dart';
|
import 'package:appflowy/mobile/presentation/bottom_sheet/bottom_sheet.dart';
|
||||||
import 'package:appflowy/mobile/presentation/home/mobile_home_setting_page.dart';
|
|
||||||
import 'package:appflowy/mobile/presentation/home/workspaces/workspace_menu_bottom_sheet.dart';
|
import 'package:appflowy/mobile/presentation/home/workspaces/workspace_menu_bottom_sheet.dart';
|
||||||
import 'package:appflowy/plugins/base/emoji/emoji_picker_screen.dart';
|
import 'package:appflowy/plugins/base/emoji/emoji_picker_screen.dart';
|
||||||
import 'package:appflowy/shared/icon_emoji_picker/flowy_icon_emoji_picker.dart';
|
import 'package:appflowy/shared/icon_emoji_picker/flowy_icon_emoji_picker.dart';
|
||||||
@ -18,6 +17,8 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
|
|
||||||
|
import 'setting/settings_popup_menu.dart';
|
||||||
|
|
||||||
class MobileHomePageHeader extends StatelessWidget {
|
class MobileHomePageHeader extends StatelessWidget {
|
||||||
const MobileHomePageHeader({
|
const MobileHomePageHeader({
|
||||||
super.key,
|
super.key,
|
||||||
@ -45,15 +46,16 @@ class MobileHomePageHeader extends StatelessWidget {
|
|||||||
? _MobileWorkspace(userProfile: userProfile)
|
? _MobileWorkspace(userProfile: userProfile)
|
||||||
: _MobileUser(userProfile: userProfile),
|
: _MobileUser(userProfile: userProfile),
|
||||||
),
|
),
|
||||||
GestureDetector(
|
const HomePageSettingsPopupMenu(),
|
||||||
onTap: () => context.push(
|
// GestureDetector(
|
||||||
MobileHomeSettingPage.routeName,
|
// onTap: () => context.push(
|
||||||
),
|
// MobileHomeSettingPage.routeName,
|
||||||
child: const Padding(
|
// ),
|
||||||
padding: EdgeInsets.all(8.0),
|
// child: const Padding(
|
||||||
child: FlowySvg(FlowySvgs.m_notification_settings_s),
|
// padding: EdgeInsets.all(8.0),
|
||||||
),
|
// child: FlowySvg(FlowySvgs.m_notification_settings_s),
|
||||||
),
|
// ),
|
||||||
|
// ),
|
||||||
const HSpace(8.0),
|
const HSpace(8.0),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -0,0 +1,143 @@
|
|||||||
|
import 'package:appflowy/core/helpers/url_launcher.dart';
|
||||||
|
import 'package:appflowy/generated/flowy_svgs.g.dart';
|
||||||
|
import 'package:appflowy/generated/locale_keys.g.dart';
|
||||||
|
import 'package:appflowy/mobile/presentation/presentation.dart';
|
||||||
|
import 'package:appflowy/mobile/presentation/setting/workspace/invite_members_screen.dart';
|
||||||
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
|
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:go_router/go_router.dart';
|
||||||
|
|
||||||
|
enum _MobileSettingsPopupMenuItem {
|
||||||
|
settings,
|
||||||
|
members,
|
||||||
|
trash,
|
||||||
|
help,
|
||||||
|
}
|
||||||
|
|
||||||
|
class HomePageSettingsPopupMenu extends StatelessWidget {
|
||||||
|
const HomePageSettingsPopupMenu({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return PopupMenuButton<_MobileSettingsPopupMenuItem>(
|
||||||
|
offset: const Offset(0, 36),
|
||||||
|
padding: EdgeInsets.zero,
|
||||||
|
shape: const RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.all(
|
||||||
|
Radius.circular(12.0),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
// todo: replace it with shadows
|
||||||
|
shadowColor: const Color(0x68000000),
|
||||||
|
elevation: 10,
|
||||||
|
child: const Padding(
|
||||||
|
padding: EdgeInsets.all(8.0),
|
||||||
|
child: FlowySvg(
|
||||||
|
FlowySvgs.m_settings_more_s,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
itemBuilder: (BuildContext context) =>
|
||||||
|
<PopupMenuEntry<_MobileSettingsPopupMenuItem>>[
|
||||||
|
_buildItem(
|
||||||
|
value: _MobileSettingsPopupMenuItem.settings,
|
||||||
|
svg: FlowySvgs.m_notification_settings_s,
|
||||||
|
text: LocaleKeys.settings_popupMenuItem_settings.tr(),
|
||||||
|
),
|
||||||
|
const PopupMenuDivider(height: 0.5),
|
||||||
|
_buildItem(
|
||||||
|
value: _MobileSettingsPopupMenuItem.members,
|
||||||
|
svg: FlowySvgs.m_settings_member_s,
|
||||||
|
text: LocaleKeys.settings_popupMenuItem_members.tr(),
|
||||||
|
),
|
||||||
|
const PopupMenuDivider(height: 0.5),
|
||||||
|
_buildItem(
|
||||||
|
value: _MobileSettingsPopupMenuItem.trash,
|
||||||
|
svg: FlowySvgs.trash_s,
|
||||||
|
text: LocaleKeys.settings_popupMenuItem_trash.tr(),
|
||||||
|
),
|
||||||
|
const PopupMenuDivider(height: 0.5),
|
||||||
|
_buildItem(
|
||||||
|
value: _MobileSettingsPopupMenuItem.help,
|
||||||
|
svg: FlowySvgs.message_support_s,
|
||||||
|
text: LocaleKeys.settings_popupMenuItem_helpAndSupport.tr(),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
onSelected: (_MobileSettingsPopupMenuItem value) {
|
||||||
|
switch (value) {
|
||||||
|
case _MobileSettingsPopupMenuItem.members:
|
||||||
|
_openMembersPage(context);
|
||||||
|
break;
|
||||||
|
case _MobileSettingsPopupMenuItem.trash:
|
||||||
|
_openTrashPage(context);
|
||||||
|
break;
|
||||||
|
case _MobileSettingsPopupMenuItem.settings:
|
||||||
|
_openSettingsPage(context);
|
||||||
|
break;
|
||||||
|
case _MobileSettingsPopupMenuItem.help:
|
||||||
|
_openHelpPage(context);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
PopupMenuItem<T> _buildItem<T>({
|
||||||
|
required T value,
|
||||||
|
required FlowySvgData svg,
|
||||||
|
required String text,
|
||||||
|
}) {
|
||||||
|
return PopupMenuItem<T>(
|
||||||
|
value: value,
|
||||||
|
padding: EdgeInsets.zero,
|
||||||
|
child: _PopupButton(
|
||||||
|
svg: svg,
|
||||||
|
text: text,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _openMembersPage(BuildContext context) {
|
||||||
|
context.push(InviteMembersScreen.routeName);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _openTrashPage(BuildContext context) {
|
||||||
|
context.push(MobileHomeTrashPage.routeName);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _openHelpPage(BuildContext context) {
|
||||||
|
afLaunchUrlString('https://discord.com/invite/9Q2xaN37tV');
|
||||||
|
}
|
||||||
|
|
||||||
|
void _openSettingsPage(BuildContext context) {
|
||||||
|
context.push(MobileHomeSettingPage.routeName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class _PopupButton extends StatelessWidget {
|
||||||
|
const _PopupButton({
|
||||||
|
required this.svg,
|
||||||
|
required this.text,
|
||||||
|
});
|
||||||
|
|
||||||
|
final FlowySvgData svg;
|
||||||
|
final String text;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Container(
|
||||||
|
height: 44,
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
FlowySvg(svg, size: const Size.square(20)),
|
||||||
|
const HSpace(12),
|
||||||
|
FlowyText.regular(
|
||||||
|
text,
|
||||||
|
fontSize: 16,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -18,7 +18,7 @@ class MobileNotificationPageHeader extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
const HSpace(16.0),
|
const HSpace(18.0),
|
||||||
FlowyText(
|
FlowyText(
|
||||||
LocaleKeys.settings_notifications_titles_notifications.tr(),
|
LocaleKeys.settings_notifications_titles_notifications.tr(),
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
|
@ -134,7 +134,8 @@ class _InviteMemberPageState extends State<_InviteMemberPage> {
|
|||||||
const VSpace(16),
|
const VSpace(16),
|
||||||
if (exceededLimit) ...[
|
if (exceededLimit) ...[
|
||||||
FlowyText.regular(
|
FlowyText.regular(
|
||||||
LocaleKeys.settings_appearance_members_inviteFailedMemberLimit.tr(),
|
LocaleKeys.settings_appearance_members_inviteFailedMemberLimitMobile
|
||||||
|
.tr(),
|
||||||
fontSize: 14.0,
|
fontSize: 14.0,
|
||||||
maxLines: 3,
|
maxLines: 3,
|
||||||
color: Theme.of(context).colorScheme.error,
|
color: Theme.of(context).colorScheme.error,
|
||||||
@ -205,7 +206,9 @@ class _InviteMemberPageState extends State<_InviteMemberPage> {
|
|||||||
(f) {
|
(f) {
|
||||||
Log.error('add workspace member failed: $f');
|
Log.error('add workspace member failed: $f');
|
||||||
final message = f.code == ErrorCode.WorkspaceMemberLimitExceeded
|
final message = f.code == ErrorCode.WorkspaceMemberLimitExceeded
|
||||||
? LocaleKeys.settings_appearance_members_memberLimitExceeded.tr()
|
? LocaleKeys
|
||||||
|
.settings_appearance_members_inviteFailedMemberLimitMobile
|
||||||
|
.tr()
|
||||||
: LocaleKeys.settings_appearance_members_failedToAddMember.tr();
|
: LocaleKeys.settings_appearance_members_failedToAddMember.tr();
|
||||||
setState(() {
|
setState(() {
|
||||||
exceededLimit = f.code == ErrorCode.WorkspaceMemberLimitExceeded;
|
exceededLimit = f.code == ErrorCode.WorkspaceMemberLimitExceeded;
|
||||||
@ -229,7 +232,8 @@ class _InviteMemberPageState extends State<_InviteMemberPage> {
|
|||||||
(f) {
|
(f) {
|
||||||
Log.error('invite workspace member failed: $f');
|
Log.error('invite workspace member failed: $f');
|
||||||
final message = f.code == ErrorCode.WorkspaceMemberLimitExceeded
|
final message = f.code == ErrorCode.WorkspaceMemberLimitExceeded
|
||||||
? LocaleKeys.settings_appearance_members_inviteFailedMemberLimit
|
? LocaleKeys
|
||||||
|
.settings_appearance_members_inviteFailedMemberLimitMobile
|
||||||
.tr()
|
.tr()
|
||||||
: LocaleKeys.settings_appearance_members_failedToInviteMember
|
: LocaleKeys.settings_appearance_members_failedToInviteMember
|
||||||
.tr();
|
.tr();
|
||||||
|
@ -137,8 +137,15 @@ class _AutoCompletionBlockComponentState
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Card(
|
if (PlatformExtension.isMobile) {
|
||||||
|
return const SizedBox.shrink();
|
||||||
|
}
|
||||||
|
|
||||||
|
final child = Card(
|
||||||
elevation: 5,
|
elevation: 5,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
),
|
||||||
color: Theme.of(context).colorScheme.surface,
|
color: Theme.of(context).colorScheme.surface,
|
||||||
child: Container(
|
child: Container(
|
||||||
margin: const EdgeInsets.all(10),
|
margin: const EdgeInsets.all(10),
|
||||||
@ -165,6 +172,11 @@ class _AutoCompletionBlockComponentState
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.only(left: 40),
|
||||||
|
child: child,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildInputWidget(BuildContext context) {
|
Widget _buildInputWidget(BuildContext context) {
|
||||||
@ -470,16 +482,23 @@ class AutoCompletionInputFooter extends StatelessWidget {
|
|||||||
return Row(
|
return Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
FlowyTextButton.primary(
|
PrimaryRoundedButton(
|
||||||
text: LocaleKeys.button_generate.tr(),
|
text: LocaleKeys.button_generate.tr(),
|
||||||
context: context,
|
margin: const EdgeInsets.symmetric(
|
||||||
onPressed: onGenerate,
|
horizontal: 16.0,
|
||||||
|
vertical: 10.0,
|
||||||
|
),
|
||||||
|
radius: 8.0,
|
||||||
|
onTap: onGenerate,
|
||||||
),
|
),
|
||||||
const Space(10, 0),
|
const Space(10, 0),
|
||||||
FlowyTextButton.secondary(
|
OutlinedRoundedButton(
|
||||||
text: LocaleKeys.button_cancel.tr(),
|
text: LocaleKeys.button_cancel.tr(),
|
||||||
context: context,
|
margin: const EdgeInsets.symmetric(
|
||||||
onPressed: onExit,
|
horizontal: 16.0,
|
||||||
|
vertical: 10.0,
|
||||||
|
),
|
||||||
|
onTap: onExit,
|
||||||
),
|
),
|
||||||
Flexible(
|
Flexible(
|
||||||
child: Container(
|
child: Container(
|
||||||
@ -513,22 +532,23 @@ class AutoCompletionFooter extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Row(
|
return Row(
|
||||||
children: [
|
children: [
|
||||||
FlowyTextButton.primary(
|
PrimaryRoundedButton(
|
||||||
context: context,
|
|
||||||
text: LocaleKeys.button_keep.tr(),
|
text: LocaleKeys.button_keep.tr(),
|
||||||
onPressed: onKeep,
|
margin: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 16.0,
|
||||||
|
vertical: 9.0,
|
||||||
|
),
|
||||||
|
onTap: onKeep,
|
||||||
),
|
),
|
||||||
const Space(10, 0),
|
const HSpace(10),
|
||||||
FlowyTextButton.secondary(
|
OutlinedRoundedButton(
|
||||||
context: context,
|
|
||||||
text: LocaleKeys.document_plugins_autoGeneratorRewrite.tr(),
|
text: LocaleKeys.document_plugins_autoGeneratorRewrite.tr(),
|
||||||
onPressed: onRewrite,
|
onTap: onRewrite,
|
||||||
),
|
),
|
||||||
const Space(10, 0),
|
const HSpace(10),
|
||||||
FlowyTextButton.secondary(
|
OutlinedRoundedButton(
|
||||||
context: context,
|
|
||||||
text: LocaleKeys.button_discard.tr(),
|
text: LocaleKeys.button_discard.tr(),
|
||||||
onPressed: onDiscard,
|
onTap: onDiscard,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
@ -493,6 +493,11 @@ class UserWorkspaceActionResult {
|
|||||||
final UserWorkspaceActionType actionType;
|
final UserWorkspaceActionType actionType;
|
||||||
final bool isLoading;
|
final bool isLoading;
|
||||||
final FlowyResult<void, FlowyError>? result;
|
final FlowyResult<void, FlowyError>? result;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return 'UserWorkspaceActionResult(actionType: $actionType, isLoading: $isLoading, result: $result)';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@freezed
|
@freezed
|
||||||
|
@ -185,22 +185,9 @@ class SpaceCancelOrConfirmButton extends StatelessWidget {
|
|||||||
return Row(
|
return Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
DecoratedBox(
|
OutlinedRoundedButton(
|
||||||
decoration: ShapeDecoration(
|
text: LocaleKeys.button_cancel.tr(),
|
||||||
shape: RoundedRectangleBorder(
|
onTap: onCancel,
|
||||||
side: const BorderSide(color: Color(0x1E14171B)),
|
|
||||||
borderRadius: BorderRadius.circular(8),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
child: FlowyButton(
|
|
||||||
useIntrinsicWidth: true,
|
|
||||||
margin: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 9.0),
|
|
||||||
text: FlowyText.regular(
|
|
||||||
LocaleKeys.button_cancel.tr(),
|
|
||||||
lineHeight: 1.0,
|
|
||||||
),
|
|
||||||
onTap: onCancel,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
const HSpace(12.0),
|
const HSpace(12.0),
|
||||||
DecoratedBox(
|
DecoratedBox(
|
||||||
@ -244,24 +231,11 @@ class SpaceOkButton extends StatelessWidget {
|
|||||||
return Row(
|
return Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
DecoratedBox(
|
PrimaryRoundedButton(
|
||||||
decoration: ShapeDecoration(
|
text: confirmButtonName,
|
||||||
color: confirmButtonColor ?? Theme.of(context).colorScheme.primary,
|
margin: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 9.0),
|
||||||
shape: RoundedRectangleBorder(
|
radius: 8.0,
|
||||||
borderRadius: BorderRadius.circular(8),
|
onTap: onConfirm,
|
||||||
),
|
|
||||||
),
|
|
||||||
child: FlowyButton(
|
|
||||||
useIntrinsicWidth: true,
|
|
||||||
margin: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 9.0),
|
|
||||||
radius: BorderRadius.circular(8),
|
|
||||||
text: FlowyText.regular(
|
|
||||||
confirmButtonName,
|
|
||||||
lineHeight: 1.0,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
onTap: onConfirm,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
@ -133,17 +133,17 @@ class _WorkspaceMoreActionWrapper extends CustomActionCell {
|
|||||||
},
|
},
|
||||||
).show(context);
|
).show(context);
|
||||||
case WorkspaceMoreAction.leave:
|
case WorkspaceMoreAction.leave:
|
||||||
await showDialog(
|
await showConfirmDialog(
|
||||||
context: context,
|
context: context,
|
||||||
builder: (_) => NavigatorOkCancelDialog(
|
title: LocaleKeys.workspace_leaveCurrentWorkspace.tr(),
|
||||||
message: LocaleKeys.workspace_leaveCurrentWorkspacePrompt.tr(),
|
description:
|
||||||
onOkPressed: () {
|
LocaleKeys.workspace_leaveCurrentWorkspacePrompt.tr(),
|
||||||
workspaceBloc.add(
|
confirmLabel: LocaleKeys.button_yes.tr(),
|
||||||
UserWorkspaceEvent.leaveWorkspace(workspace.workspaceId),
|
onConfirm: () {
|
||||||
);
|
workspaceBloc.add(
|
||||||
},
|
UserWorkspaceEvent.leaveWorkspace(workspace.workspaceId),
|
||||||
okTitle: LocaleKeys.button_yes.tr(),
|
);
|
||||||
),
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -175,7 +175,7 @@ class _WorkspaceMoreActionWrapper extends CustomActionCell {
|
|||||||
case WorkspaceMoreAction.leave:
|
case WorkspaceMoreAction.leave:
|
||||||
return FlowySvg(
|
return FlowySvg(
|
||||||
FlowySvgs.logout_s,
|
FlowySvgs.logout_s,
|
||||||
color: Theme.of(context).colorScheme.error,
|
color: onHover ? Theme.of(context).colorScheme.error : null,
|
||||||
);
|
);
|
||||||
case WorkspaceMoreAction.divider:
|
case WorkspaceMoreAction.divider:
|
||||||
return const SizedBox.shrink();
|
return const SizedBox.shrink();
|
||||||
|
@ -128,6 +128,10 @@ class SingleSettingAction extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Color? hoverColor(BuildContext context) {
|
Color? hoverColor(BuildContext context) {
|
||||||
|
if (buttonType.isDangerous) {
|
||||||
|
return Theme.of(context).colorScheme.error.withOpacity(0.1);
|
||||||
|
}
|
||||||
|
|
||||||
if (buttonType.isPrimary) {
|
if (buttonType.isPrimary) {
|
||||||
return Theme.of(context).colorScheme.primary.withOpacity(0.9);
|
return Theme.of(context).colorScheme.primary.withOpacity(0.9);
|
||||||
}
|
}
|
||||||
|
@ -28,38 +28,7 @@ static void my_application_activate(GApplication *application)
|
|||||||
|
|
||||||
GtkWindow *window =
|
GtkWindow *window =
|
||||||
GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
|
GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application)));
|
||||||
|
gtk_window_set_title(window, "AppFlowy");
|
||||||
// Use a header bar when running in GNOME as this is the common style used
|
|
||||||
// by applications and is the setup most users will be using (e.g. Ubuntu
|
|
||||||
// desktop).
|
|
||||||
// If running on X and not using GNOME then just use a traditional title bar
|
|
||||||
// in case the window manager does more exotic layout, e.g. tiling.
|
|
||||||
// If running on Wayland assume the header bar will work (may need changing
|
|
||||||
// if future cases occur).
|
|
||||||
gboolean use_header_bar = TRUE;
|
|
||||||
#ifdef GDK_WINDOWING_X11
|
|
||||||
GdkScreen *screen = gtk_window_get_screen(window);
|
|
||||||
if (GDK_IS_X11_SCREEN(screen))
|
|
||||||
{
|
|
||||||
const gchar *wm_name = gdk_x11_screen_get_window_manager_name(screen);
|
|
||||||
if (g_strcmp0(wm_name, "GNOME Shell") != 0)
|
|
||||||
{
|
|
||||||
use_header_bar = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (use_header_bar)
|
|
||||||
{
|
|
||||||
GtkHeaderBar *header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
|
|
||||||
gtk_widget_show(GTK_WIDGET(header_bar));
|
|
||||||
gtk_header_bar_set_title(header_bar, "AppFlowy");
|
|
||||||
gtk_header_bar_set_show_close_button(header_bar, TRUE);
|
|
||||||
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gtk_window_set_title(window, "AppFlowy");
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_window_set_default_size(window, 1280, 720);
|
gtk_window_set_default_size(window, 1280, 720);
|
||||||
gtk_widget_show(GTK_WIDGET(window));
|
gtk_widget_show(GTK_WIDGET(window));
|
||||||
|
@ -263,8 +263,7 @@ class FlowyButton extends StatelessWidget {
|
|||||||
(Platform.isIOS || Platform.isAndroid)
|
(Platform.isIOS || Platform.isAndroid)
|
||||||
? BoxDecoration(
|
? BoxDecoration(
|
||||||
border: Border.all(
|
border: Border.all(
|
||||||
color: borderColor ??
|
color: borderColor ?? Theme.of(context).colorScheme.outline,
|
||||||
Theme.of(context).colorScheme.outline,
|
|
||||||
width: 1.0,
|
width: 1.0,
|
||||||
),
|
),
|
||||||
borderRadius: radius,
|
borderRadius: radius,
|
||||||
|
@ -54,3 +54,46 @@ class PrimaryRoundedButton extends StatelessWidget {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class OutlinedRoundedButton extends StatelessWidget {
|
||||||
|
const OutlinedRoundedButton({
|
||||||
|
super.key,
|
||||||
|
required this.text,
|
||||||
|
this.onTap,
|
||||||
|
this.margin,
|
||||||
|
this.radius,
|
||||||
|
});
|
||||||
|
|
||||||
|
final String text;
|
||||||
|
final VoidCallback? onTap;
|
||||||
|
final EdgeInsets? margin;
|
||||||
|
final double? radius;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return DecoratedBox(
|
||||||
|
decoration: ShapeDecoration(
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
side: Theme.of(context).brightness == Brightness.light
|
||||||
|
? const BorderSide(color: Color(0x1E14171B))
|
||||||
|
: const BorderSide(color: Colors.white10),
|
||||||
|
borderRadius: BorderRadius.circular(radius ?? 8),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: FlowyButton(
|
||||||
|
useIntrinsicWidth: true,
|
||||||
|
margin: margin ??
|
||||||
|
const EdgeInsets.symmetric(
|
||||||
|
horizontal: 16.0,
|
||||||
|
vertical: 9.0,
|
||||||
|
),
|
||||||
|
radius: BorderRadius.circular(radius ?? 8),
|
||||||
|
text: FlowyText.regular(
|
||||||
|
text,
|
||||||
|
lineHeight: 1.0,
|
||||||
|
),
|
||||||
|
onTap: onTap,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -15,7 +15,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
|
|||||||
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
||||||
# Read more about iOS versioning at
|
# Read more about iOS versioning at
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
version: 0.6.7
|
version: 0.6.8
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
flutter: ">=3.22.0"
|
flutter: ">=3.22.0"
|
||||||
|
41
frontend/appflowy_tauri/src-tauri/Cargo.lock
generated
41
frontend/appflowy_tauri/src-tauri/Cargo.lock
generated
@ -172,7 +172,7 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "app-error"
|
name = "app-error"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bincode",
|
"bincode",
|
||||||
@ -192,7 +192,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "appflowy-ai-client"
|
name = "appflowy-ai-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -826,7 +826,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "client-api"
|
name = "client-api"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"again",
|
"again",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
@ -877,19 +877,20 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "client-api-entity"
|
name = "client-api-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"collab-entity",
|
"collab-entity",
|
||||||
"collab-rt-entity",
|
"collab-rt-entity",
|
||||||
"database-entity",
|
"database-entity",
|
||||||
"gotrue-entity",
|
"gotrue-entity",
|
||||||
"shared-entity",
|
"shared-entity",
|
||||||
|
"uuid",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "client-websocket"
|
name = "client-websocket"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -963,7 +964,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab"
|
name = "collab"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -988,7 +989,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-database"
|
name = "collab-database"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -1018,7 +1019,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-document"
|
name = "collab-document"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -1038,7 +1039,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-entity"
|
name = "collab-entity"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -1057,7 +1058,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-folder"
|
name = "collab-folder"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -1100,7 +1101,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-plugins"
|
name = "collab-plugins"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-stream",
|
"async-stream",
|
||||||
@ -1138,7 +1139,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-rt-entity"
|
name = "collab-rt-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bincode",
|
"bincode",
|
||||||
@ -1163,7 +1164,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-rt-protocol"
|
name = "collab-rt-protocol"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -1180,7 +1181,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-user"
|
name = "collab-user"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"collab",
|
"collab",
|
||||||
@ -1426,7 +1427,7 @@ dependencies = [
|
|||||||
"cssparser-macros",
|
"cssparser-macros",
|
||||||
"dtoa-short",
|
"dtoa-short",
|
||||||
"itoa 1.0.6",
|
"itoa 1.0.6",
|
||||||
"phf 0.11.2",
|
"phf 0.8.0",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1551,7 +1552,7 @@ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "database-entity"
|
name = "database-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
@ -3076,7 +3077,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "gotrue"
|
name = "gotrue"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -3093,7 +3094,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "gotrue-entity"
|
name = "gotrue-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
@ -3525,7 +3526,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "infra"
|
name = "infra"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -6122,7 +6123,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "shared-entity"
|
name = "shared-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
|
@ -53,7 +53,7 @@ collab-user = { version = "0.2" }
|
|||||||
# Run the script:
|
# Run the script:
|
||||||
# scripts/tool/update_client_api_rev.sh new_rev_id
|
# scripts/tool/update_client_api_rev.sh new_rev_id
|
||||||
# ⚠️⚠️⚠️️
|
# ⚠️⚠️⚠️️
|
||||||
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "7878a018a18553e3d8201e572a0c066c14ba3b35" }
|
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "ae3833ea91c238a66ca7bda63763d1d654740fb4" }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde_json.workspace = true
|
serde_json.workspace = true
|
||||||
@ -116,13 +116,13 @@ custom-protocol = ["tauri/custom-protocol"]
|
|||||||
# To switch to the local path, run:
|
# To switch to the local path, run:
|
||||||
# scripts/tool/update_collab_source.sh
|
# scripts/tool/update_collab_source.sh
|
||||||
# ⚠️⚠️⚠️️
|
# ⚠️⚠️⚠️️
|
||||||
collab = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-entity = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-entity = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-folder = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-folder = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-document = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-document = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-database = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-database = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-plugins = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-plugins = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-user = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-user = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
|
|
||||||
# Working directory: frontend
|
# Working directory: frontend
|
||||||
# To update the commit ID, run:
|
# To update the commit ID, run:
|
||||||
|
41
frontend/appflowy_web_app/src-tauri/Cargo.lock
generated
41
frontend/appflowy_web_app/src-tauri/Cargo.lock
generated
@ -163,7 +163,7 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "app-error"
|
name = "app-error"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bincode",
|
"bincode",
|
||||||
@ -183,7 +183,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "appflowy-ai-client"
|
name = "appflowy-ai-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -800,7 +800,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "client-api"
|
name = "client-api"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"again",
|
"again",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
@ -851,19 +851,20 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "client-api-entity"
|
name = "client-api-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"collab-entity",
|
"collab-entity",
|
||||||
"collab-rt-entity",
|
"collab-rt-entity",
|
||||||
"database-entity",
|
"database-entity",
|
||||||
"gotrue-entity",
|
"gotrue-entity",
|
||||||
"shared-entity",
|
"shared-entity",
|
||||||
|
"uuid",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "client-websocket"
|
name = "client-websocket"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -946,7 +947,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab"
|
name = "collab"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -971,7 +972,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-database"
|
name = "collab-database"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -1001,7 +1002,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-document"
|
name = "collab-document"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -1021,7 +1022,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-entity"
|
name = "collab-entity"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -1040,7 +1041,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-folder"
|
name = "collab-folder"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -1083,7 +1084,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-plugins"
|
name = "collab-plugins"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-stream",
|
"async-stream",
|
||||||
@ -1121,7 +1122,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-rt-entity"
|
name = "collab-rt-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bincode",
|
"bincode",
|
||||||
@ -1146,7 +1147,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-rt-protocol"
|
name = "collab-rt-protocol"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -1163,7 +1164,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-user"
|
name = "collab-user"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"collab",
|
"collab",
|
||||||
@ -1416,7 +1417,7 @@ dependencies = [
|
|||||||
"cssparser-macros",
|
"cssparser-macros",
|
||||||
"dtoa-short",
|
"dtoa-short",
|
||||||
"itoa 1.0.10",
|
"itoa 1.0.10",
|
||||||
"phf 0.11.2",
|
"phf 0.8.0",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1541,7 +1542,7 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "database-entity"
|
name = "database-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
@ -3143,7 +3144,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "gotrue"
|
name = "gotrue"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -3160,7 +3161,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "gotrue-entity"
|
name = "gotrue-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
@ -3597,7 +3598,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "infra"
|
name = "infra"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -6186,7 +6187,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "shared-entity"
|
name = "shared-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
|
@ -52,7 +52,7 @@ collab-user = { version = "0.2" }
|
|||||||
# Run the script:
|
# Run the script:
|
||||||
# scripts/tool/update_client_api_rev.sh new_rev_id
|
# scripts/tool/update_client_api_rev.sh new_rev_id
|
||||||
# ⚠️⚠️⚠️️
|
# ⚠️⚠️⚠️️
|
||||||
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "7878a018a18553e3d8201e572a0c066c14ba3b35" }
|
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "ae3833ea91c238a66ca7bda63763d1d654740fb4" }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde_json.workspace = true
|
serde_json.workspace = true
|
||||||
@ -116,13 +116,13 @@ custom-protocol = ["tauri/custom-protocol"]
|
|||||||
# To switch to the local path, run:
|
# To switch to the local path, run:
|
||||||
# scripts/tool/update_collab_source.sh
|
# scripts/tool/update_collab_source.sh
|
||||||
# ⚠️⚠️⚠️️
|
# ⚠️⚠️⚠️️
|
||||||
collab = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-entity = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-entity = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-folder = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-folder = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-document = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-document = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-database = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-database = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-plugins = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-plugins = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-user = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-user = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
|
|
||||||
# Working directory: frontend
|
# Working directory: frontend
|
||||||
# To update the commit ID, run:
|
# To update the commit ID, run:
|
||||||
|
6
frontend/resources/flowy_icons/16x/m_settings_member.svg
Normal file
6
frontend/resources/flowy_icons/16x/m_settings_member.svg
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M10.5 13.625V12.375C10.5 11.712 10.2366 11.0761 9.76777 10.6072C9.29893 10.1384 8.66304 9.875 8 9.875H4.25C3.58696 9.875 2.95107 10.1384 2.48223 10.6072C2.01339 11.0761 1.75 11.712 1.75 12.375V13.625" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M3.625 4.875C3.625 5.53804 3.88839 6.17393 4.35723 6.64277C4.82607 7.11161 5.46196 7.375 6.125 7.375C6.78804 7.375 7.42393 7.11161 7.89277 6.64277C8.36161 6.17393 8.625 5.53804 8.625 4.875C8.625 4.21196 8.36161 3.57607 7.89277 3.10723C7.42393 2.63839 6.78804 2.375 6.125 2.375C5.46196 2.375 4.82607 2.63839 4.35723 3.10723C3.88839 3.57607 3.625 4.21196 3.625 4.875Z" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M14.25 13.625V12.375C14.2496 11.8211 14.0652 11.283 13.7259 10.8452C13.3865 10.4074 12.9113 10.0947 12.375 9.95624" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M10.5 2.45624C11.0378 2.59393 11.5144 2.90668 11.8548 3.34518C12.1952 3.78369 12.3799 4.32301 12.3799 4.87811C12.3799 5.43322 12.1952 5.97254 11.8548 6.41104C11.5144 6.84955 11.0378 7.1623 10.5 7.29999" stroke="black" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
@ -395,6 +395,12 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"title": "Settings",
|
"title": "Settings",
|
||||||
|
"popupMenuItem": {
|
||||||
|
"settings": "Settings",
|
||||||
|
"members": "Members",
|
||||||
|
"trash": "Trash",
|
||||||
|
"helpAndSupport": "Help & Support"
|
||||||
|
},
|
||||||
"accountPage": {
|
"accountPage": {
|
||||||
"menuLabel": "My account",
|
"menuLabel": "My account",
|
||||||
"title": "My account",
|
"title": "My account",
|
||||||
@ -1103,6 +1109,7 @@
|
|||||||
},
|
},
|
||||||
"inviteFailedDialogTitle": "Failed to send invite",
|
"inviteFailedDialogTitle": "Failed to send invite",
|
||||||
"inviteFailedMemberLimit": "Member limit has been reached, please upgrade to invite more members.",
|
"inviteFailedMemberLimit": "Member limit has been reached, please upgrade to invite more members.",
|
||||||
|
"inviteFailedMemberLimitMobile": "Your workspace has reached the member limit. Upgrade on Desktop to unlock more features.",
|
||||||
"memberLimitExceeded": "Member limit reached, to invite more members, please ",
|
"memberLimitExceeded": "Member limit reached, to invite more members, please ",
|
||||||
"memberLimitExceededUpgrade": "upgrade",
|
"memberLimitExceededUpgrade": "upgrade",
|
||||||
"memberLimitExceededPro": "Member limit reached, if you require more members contact ",
|
"memberLimitExceededPro": "Member limit reached, if you require more members contact ",
|
||||||
|
File diff suppressed because it is too large
Load Diff
39
frontend/rust-lib/Cargo.lock
generated
39
frontend/rust-lib/Cargo.lock
generated
@ -163,7 +163,7 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "app-error"
|
name = "app-error"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bincode",
|
"bincode",
|
||||||
@ -183,7 +183,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "appflowy-ai-client"
|
name = "appflowy-ai-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -718,7 +718,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "client-api"
|
name = "client-api"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"again",
|
"again",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
@ -769,19 +769,20 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "client-api-entity"
|
name = "client-api-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"collab-entity",
|
"collab-entity",
|
||||||
"collab-rt-entity",
|
"collab-rt-entity",
|
||||||
"database-entity",
|
"database-entity",
|
||||||
"gotrue-entity",
|
"gotrue-entity",
|
||||||
"shared-entity",
|
"shared-entity",
|
||||||
|
"uuid",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "client-websocket"
|
name = "client-websocket"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -824,7 +825,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab"
|
name = "collab"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -849,7 +850,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-database"
|
name = "collab-database"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -879,7 +880,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-document"
|
name = "collab-document"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -899,7 +900,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-entity"
|
name = "collab-entity"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -918,7 +919,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-folder"
|
name = "collab-folder"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
@ -961,7 +962,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-plugins"
|
name = "collab-plugins"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-stream",
|
"async-stream",
|
||||||
@ -999,7 +1000,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-rt-entity"
|
name = "collab-rt-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bincode",
|
"bincode",
|
||||||
@ -1024,7 +1025,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-rt-protocol"
|
name = "collab-rt-protocol"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -1041,7 +1042,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "collab-user"
|
name = "collab-user"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=6a5e7e49c159fcf782df84208cdb26c212c28ede#6a5e7e49c159fcf782df84208cdb26c212c28ede"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Collab?rev=520b75dbe84ff17a55cf9424a55028781ae0bfc6#520b75dbe84ff17a55cf9424a55028781ae0bfc6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"collab",
|
"collab",
|
||||||
@ -1375,7 +1376,7 @@ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "database-entity"
|
name = "database-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
@ -2754,7 +2755,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "gotrue"
|
name = "gotrue"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -2771,7 +2772,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "gotrue-entity"
|
name = "gotrue-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
@ -3136,7 +3137,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "infra"
|
name = "infra"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -5344,7 +5345,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "shared-entity"
|
name = "shared-entity"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=d503905#d5039059313804103f34eee49ee9844c255a99c0"
|
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=ae3833ea91c238a66ca7bda63763d1d654740fb4#ae3833ea91c238a66ca7bda63763d1d654740fb4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"app-error",
|
"app-error",
|
||||||
|
@ -100,8 +100,8 @@ dashmap = "6.0.1"
|
|||||||
# Run the script.add_workspace_members:
|
# Run the script.add_workspace_members:
|
||||||
# scripts/tool/update_client_api_rev.sh new_rev_id
|
# scripts/tool/update_client_api_rev.sh new_rev_id
|
||||||
# ⚠️⚠️⚠️️
|
# ⚠️⚠️⚠️️
|
||||||
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "d503905" }
|
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "ae3833ea91c238a66ca7bda63763d1d654740fb4" }
|
||||||
client-api-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "d503905" }
|
client-api-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "ae3833ea91c238a66ca7bda63763d1d654740fb4" }
|
||||||
|
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
opt-level = 0
|
opt-level = 0
|
||||||
@ -136,13 +136,13 @@ rocksdb = { git = "https://github.com/rust-rocksdb/rust-rocksdb", rev = "1710120
|
|||||||
# To switch to the local path, run:
|
# To switch to the local path, run:
|
||||||
# scripts/tool/update_collab_source.sh
|
# scripts/tool/update_collab_source.sh
|
||||||
# ⚠️⚠️⚠️️
|
# ⚠️⚠️⚠️️
|
||||||
collab = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-entity = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-entity = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-folder = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-folder = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-document = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-document = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-database = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-database = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-plugins = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-plugins = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
collab-user = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "6a5e7e49c159fcf782df84208cdb26c212c28ede" }
|
collab-user = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "520b75dbe84ff17a55cf9424a55028781ae0bfc6" }
|
||||||
|
|
||||||
# Working directory: frontend
|
# Working directory: frontend
|
||||||
# To update the commit ID, run:
|
# To update the commit ID, run:
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use collab_database::database::{gen_database_id, gen_database_view_id, gen_row_id, DatabaseData};
|
use collab_database::database::{gen_database_id, gen_database_view_id, gen_row_id, DatabaseData};
|
||||||
use collab_database::views::{DatabaseLayout, DatabaseView};
|
use collab_database::entity::DatabaseView;
|
||||||
|
use collab_database::views::DatabaseLayout;
|
||||||
use event_integration_test::database_event::TestRowBuilder;
|
use event_integration_test::database_event::TestRowBuilder;
|
||||||
|
|
||||||
use collab_database::fields::Field;
|
use collab_database::fields::Field;
|
||||||
|
@ -8,9 +8,10 @@ use std::sync::{Arc, Weak};
|
|||||||
use collab::core::collab::DataSource;
|
use collab::core::collab::DataSource;
|
||||||
use collab::preclude::Collab;
|
use collab::preclude::Collab;
|
||||||
use collab_database::database::{Database, DatabaseData};
|
use collab_database::database::{Database, DatabaseData};
|
||||||
|
use collab_database::entity::{CreateDatabaseParams, CreateViewParams};
|
||||||
use collab_database::error::DatabaseError;
|
use collab_database::error::DatabaseError;
|
||||||
use collab_database::rows::RowId;
|
use collab_database::rows::RowId;
|
||||||
use collab_database::views::{CreateDatabaseParams, CreateViewParams, DatabaseLayout};
|
use collab_database::views::DatabaseLayout;
|
||||||
use collab_database::workspace_database::{
|
use collab_database::workspace_database::{
|
||||||
DatabaseCollabService, DatabaseMeta, EncodeCollabByOid, WorkspaceDatabase,
|
DatabaseCollabService, DatabaseMeta, EncodeCollabByOid, WorkspaceDatabase,
|
||||||
};
|
};
|
||||||
|
@ -22,11 +22,10 @@ use crate::utils::cache::AnyTypeCache;
|
|||||||
use crate::DatabaseUser;
|
use crate::DatabaseUser;
|
||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use collab_database::database::Database;
|
use collab_database::database::Database;
|
||||||
|
use collab_database::entity::DatabaseView;
|
||||||
use collab_database::fields::{Field, TypeOptionData};
|
use collab_database::fields::{Field, TypeOptionData};
|
||||||
use collab_database::rows::{Cell, Cells, Row, RowCell, RowDetail, RowId};
|
use collab_database::rows::{Cell, Cells, Row, RowCell, RowDetail, RowId};
|
||||||
use collab_database::views::{
|
use collab_database::views::{DatabaseLayout, FilterMap, LayoutSetting, OrderObjectPosition};
|
||||||
DatabaseLayout, DatabaseView, FilterMap, LayoutSetting, OrderObjectPosition,
|
|
||||||
};
|
|
||||||
use collab_entity::CollabType;
|
use collab_entity::CollabType;
|
||||||
use collab_integrate::collab_builder::{AppFlowyCollabBuilder, CollabBuilderConfig};
|
use collab_integrate::collab_builder::{AppFlowyCollabBuilder, CollabBuilderConfig};
|
||||||
use flowy_error::{internal_error, ErrorCode, FlowyError, FlowyResult};
|
use flowy_error::{internal_error, ErrorCode, FlowyError, FlowyResult};
|
||||||
@ -508,7 +507,7 @@ impl DatabaseEditor {
|
|||||||
.await
|
.await
|
||||||
.ok_or_else(|| FlowyError::internal().with_context("error while copying row"))?;
|
.ok_or_else(|| FlowyError::internal().with_context("error while copying row"))?;
|
||||||
|
|
||||||
let (index, row_order) = database.create_row_in_view(view_id, params);
|
let (index, row_order) = database.create_row_in_view(view_id, params)?;
|
||||||
trace!(
|
trace!(
|
||||||
"duplicate row: {:?} at index:{}, new row:{:?}",
|
"duplicate row: {:?} at index:{}, new row:{:?}",
|
||||||
row_id,
|
row_id,
|
||||||
@ -578,9 +577,9 @@ impl DatabaseEditor {
|
|||||||
} = view_editor.v_will_create_row(params).await?;
|
} = view_editor.v_will_create_row(params).await?;
|
||||||
|
|
||||||
let mut database = self.database.write().await;
|
let mut database = self.database.write().await;
|
||||||
let (index, order_id) = database.create_row_in_view(&view_editor.view_id, collab_params);
|
let (index, order_id) = database.create_row_in_view(&view_editor.view_id, collab_params)?;
|
||||||
let row_detail = database.get_row_detail(&order_id.id).await;
|
let row_detail = database.get_row_detail(&order_id.id).await;
|
||||||
drop(database); // Explicitly release the lock here
|
drop(database);
|
||||||
|
|
||||||
if let Some(row_detail) = row_detail {
|
if let Some(row_detail) = row_detail {
|
||||||
trace!("created row: {:?} at {}", row_detail, index);
|
trace!("created row: {:?} at {}", row_detail, index);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
use collab_database::views::{DatabaseLayout, DatabaseView};
|
use collab_database::entity::DatabaseView;
|
||||||
|
use collab_database::views::DatabaseLayout;
|
||||||
|
|
||||||
use crate::entities::{
|
use crate::entities::{
|
||||||
DatabaseLayoutPB, DatabaseLayoutSettingPB, DatabaseViewSettingPB, FieldSettingsPB, FilterPB,
|
DatabaseLayoutPB, DatabaseLayoutSettingPB, DatabaseViewSettingPB, FieldSettingsPB, FilterPB,
|
||||||
|
@ -3,9 +3,10 @@ use std::collections::HashMap;
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use collab_database::database::{gen_database_calculation_id, gen_database_sort_id, gen_row_id};
|
use collab_database::database::{gen_database_calculation_id, gen_database_sort_id, gen_row_id};
|
||||||
|
use collab_database::entity::DatabaseView;
|
||||||
use collab_database::fields::Field;
|
use collab_database::fields::Field;
|
||||||
use collab_database::rows::{Cells, Row, RowDetail, RowId};
|
use collab_database::rows::{Cells, Row, RowDetail, RowId};
|
||||||
use collab_database::views::{DatabaseLayout, DatabaseView};
|
use collab_database::views::DatabaseLayout;
|
||||||
use lib_infra::util::timestamp;
|
use lib_infra::util::timestamp;
|
||||||
use tokio::sync::{broadcast, RwLock};
|
use tokio::sync::{broadcast, RwLock};
|
||||||
use tracing::instrument;
|
use tracing::instrument;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use collab_database::database::Database;
|
use collab_database::database::Database;
|
||||||
use std::collections::HashMap;
|
use collab_database::entity::DatabaseView;
|
||||||
use std::sync::Arc;
|
|
||||||
|
|
||||||
use collab_database::fields::{Field, TypeOptionData};
|
use collab_database::fields::{Field, TypeOptionData};
|
||||||
use collab_database::rows::{Row, RowCell, RowDetail, RowId};
|
use collab_database::rows::{Row, RowCell, RowDetail, RowId};
|
||||||
use collab_database::views::{DatabaseLayout, DatabaseView, LayoutSetting};
|
use collab_database::views::{DatabaseLayout, LayoutSetting};
|
||||||
|
use std::collections::HashMap;
|
||||||
|
use std::sync::Arc;
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
|
|
||||||
use flowy_error::FlowyError;
|
use flowy_error::FlowyError;
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
use std::{fs::File, io::prelude::*};
|
use std::{fs::File, io::prelude::*};
|
||||||
|
|
||||||
use collab_database::database::{gen_database_id, gen_field_id, gen_row_id, timestamp};
|
use collab_database::database::{gen_database_id, gen_field_id, gen_row_id, timestamp};
|
||||||
|
use collab_database::entity::{CreateDatabaseParams, CreateViewParams};
|
||||||
use collab_database::fields::Field;
|
use collab_database::fields::Field;
|
||||||
use collab_database::rows::{new_cell_builder, Cell, CreateRowParams};
|
use collab_database::rows::{new_cell_builder, Cell, CreateRowParams};
|
||||||
use collab_database::views::{CreateDatabaseParams, CreateViewParams, DatabaseLayout};
|
use collab_database::views::DatabaseLayout;
|
||||||
|
|
||||||
use collab_entity::EncodedCollab;
|
use collab_entity::EncodedCollab;
|
||||||
use flowy_error::{FlowyError, FlowyResult};
|
use flowy_error::{FlowyError, FlowyResult};
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
use collab_database::database::{gen_database_id, gen_row_id, timestamp};
|
use collab_database::database::{gen_database_id, gen_row_id, timestamp};
|
||||||
|
use collab_database::entity::{CreateDatabaseParams, CreateViewParams};
|
||||||
use collab_database::rows::CreateRowParams;
|
use collab_database::rows::CreateRowParams;
|
||||||
use collab_database::views::{
|
use collab_database::views::{DatabaseLayout, LayoutSettings};
|
||||||
CreateDatabaseParams, CreateViewParams, DatabaseLayout, LayoutSettings,
|
|
||||||
};
|
|
||||||
|
|
||||||
use crate::entities::FieldType;
|
use crate::entities::FieldType;
|
||||||
use crate::services::cell::{insert_select_option_cell, insert_text_cell};
|
use crate::services::cell::{insert_select_option_cell, insert_text_cell};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use collab_database::database::{gen_database_id, gen_database_view_id, gen_row_id, DatabaseData};
|
use collab_database::database::{gen_database_id, gen_database_view_id, gen_row_id, DatabaseData};
|
||||||
use collab_database::views::{DatabaseLayout, DatabaseView, LayoutSetting, LayoutSettings};
|
use collab_database::entity::DatabaseView;
|
||||||
|
use collab_database::views::{DatabaseLayout, LayoutSetting, LayoutSettings};
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::database::mock_data::{COMPLETED, FACEBOOK, GOOGLE, PAUSED, PLANNED, TWITTER};
|
use crate::database::mock_data::{COMPLETED, FACEBOOK, GOOGLE, PAUSED, PLANNED, TWITTER};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use collab_database::database::{gen_database_id, gen_database_view_id, gen_row_id, DatabaseData};
|
use collab_database::database::{gen_database_id, gen_database_view_id, gen_row_id, DatabaseData};
|
||||||
use collab_database::views::{DatabaseLayout, DatabaseView, LayoutSetting, LayoutSettings};
|
use collab_database::entity::DatabaseView;
|
||||||
|
use collab_database::views::{DatabaseLayout, LayoutSetting, LayoutSettings};
|
||||||
use flowy_database2::services::field_settings::default_field_settings_for_fields;
|
use flowy_database2::services::field_settings::default_field_settings_for_fields;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use collab_database::database::{gen_database_id, gen_database_view_id, gen_row_id, DatabaseData};
|
use collab_database::database::{gen_database_id, gen_database_view_id, gen_row_id, DatabaseData};
|
||||||
use collab_database::views::{DatabaseLayout, DatabaseView};
|
use collab_database::entity::DatabaseView;
|
||||||
|
use collab_database::views::DatabaseLayout;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::database::mock_data::{COMPLETED, FACEBOOK, GOOGLE, PAUSED, PLANNED, TWITTER};
|
use crate::database::mock_data::{COMPLETED, FACEBOOK, GOOGLE, PAUSED, PLANNED, TWITTER};
|
||||||
|
@ -22,20 +22,20 @@ AppDir:
|
|||||||
- amd64
|
- amd64
|
||||||
allow_unauthenticated: true
|
allow_unauthenticated: true
|
||||||
sources:
|
sources:
|
||||||
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ jammy main restricted
|
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ noble main restricted
|
||||||
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ jammy-updates main restricted
|
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ noble-updates main restricted
|
||||||
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ jammy universe
|
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ noble universe
|
||||||
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ jammy-updates universe
|
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ noble-updates universe
|
||||||
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ jammy multiverse
|
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ noble multiverse
|
||||||
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ jammy-updates multiverse
|
- sourceline: deb http://id.archive.ubuntu.com/ubuntu/ noble-updates multiverse
|
||||||
- sourceline:
|
- sourceline:
|
||||||
deb http://id.archive.ubuntu.com/ubuntu/ jammy-backports main restricted
|
deb http://id.archive.ubuntu.com/ubuntu/ noble-backports main restricted
|
||||||
universe multiverse
|
universe multiverse
|
||||||
- sourceline: deb http://security.ubuntu.com/ubuntu jammy-security main restricted
|
- sourceline: deb http://security.ubuntu.com/ubuntu noble-security main restricted
|
||||||
- sourceline: deb http://security.ubuntu.com/ubuntu jammy-security universe
|
- sourceline: deb http://security.ubuntu.com/ubuntu noble-security universe
|
||||||
- sourceline: deb http://security.ubuntu.com/ubuntu jammy-security multiverse
|
- sourceline: deb http://security.ubuntu.com/ubuntu noble-security multiverse
|
||||||
- sourceline:
|
- sourceline:
|
||||||
deb https://ppa.launchpadcontent.net/touchegg/stable/ubuntu/ jammy
|
deb https://ppa.launchpadcontent.net/touchegg/stable/ubuntu/ noble
|
||||||
main
|
main
|
||||||
- sourceline:
|
- sourceline:
|
||||||
deb https://packagecloud.io/slacktechnologies/slack/debian/ jessie
|
deb https://packagecloud.io/slacktechnologies/slack/debian/ jessie
|
||||||
|
Loading…
Reference in New Issue
Block a user