Compare commits

..
Author SHA1 Message Date
Nathan 71cb0f023b chore: bump client api 2025-02-06 17:33:28 +08:00
Nathan 669c17064b chore: bump client api 2025-02-06 17:06:57 +08:00
Nathan b3cb6090f2 Merge branch 'main' into chore/optional-response-format 2025-02-06 17:03:07 +08:00
FakhriAzzouz 0d89e22ed2 chore(i18n): update ar-SA translations (#7312)
* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦
2025-02-06 13:54:16 +08:00
ArtemisOne ff2aae213c chore(i18n): update es-VE and ga-IE translations (#7320)
* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦

* chore: update translations with Fink 🐦
2025-02-06 13:53:24 +08:00
Richard Shiue 43e64d8219 test: fix image integration test (#7323) 2025-02-05 19:45:21 +08:00
Richard Shiue 6823fe5d24 fix: row document images (#7322)
* fix: row document images

* fix: calendar

* chore: fallback to documentbloc
2025-02-05 16:40:03 +08:00
Lucas f683085618 fix: unable to upload file on Android devices (#7314) 2025-02-04 20:57:06 +08:00
Nathan.fooo 71a22dc466 chore: fix ai page user profile refresh (#7317) 2025-02-04 20:29:56 +08:00
Lucas eb508a3ec9 fix: editor stuck on image loading loop when uploading image in row document (#7313)
* fix: editor stuck on image loading loop when uploading image in row document

* test: editor stuck on image loading loop when uploading image in row document
2025-02-04 14:05:57 +08:00
Nathan.fooo aacd09d8e2 chore: Support new error code (#7311)
* chore: fetch model list

* chore: suppor new error code
2025-02-03 20:52:08 +08:00
Peter Jose 25a27dfa81 chore(i18n): update id-ID translations (#7290)
- Translate 'themeMode' label
- Adjust text 'fontFamily'
- Update 'layoutDirection' translation
- Update 'textDirection' translation
2025-02-03 10:41:05 +08:00
Mohammad Mahdi Momeni 36349778e3 chore(i18n): update fa translations (#7292) 2025-02-03 10:05:34 +08:00
Nathan.fooo 9271d42db5 chore: fetch model list (#7306)
* chore: fetch model list
2025-02-01 23:48:32 +08:00
Richard Shiue 90d6e98b51 fix(flutter_mobile): drop focus on tap outside (#7274) 2025-01-24 09:23:52 +08:00
Richard Shiue c39a91a014 chore: optional response format 2025-01-16 11:10:55 +08:00
26 changed files with 314 additions and 104 deletions

No files matched your search

-7
View File
@@ -1,11 +1,4 @@
# Release Notes
## Version 0.8.3 - 05/02/2025
### New Features
- Support OpenAI o3-mini model
### Bug Fixes
- Fixed an issue where users were unable to upload images in row pages
- Fixed an issue where users were unable to upload files on Android devices
## Version 0.8.2 - 23/01/2025
### New Features
- Customized database view icons
+1 -1
View File
@@ -26,7 +26,7 @@ CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
CARGO_MAKE_CRATE_FS_NAME = "dart_ffi"
CARGO_MAKE_CRATE_NAME = "dart-ffi"
LIB_NAME = "dart_ffi"
APPFLOWY_VERSION = "0.8.3"
APPFLOWY_VERSION = "0.8.2"
FLUTTER_DESKTOP_FEATURES = "dart"
PRODUCT_NAME = "AppFlowy"
MACOSX_DEPLOYMENT_TARGET = "11.0"
@@ -458,7 +458,7 @@ void main() {
});
testWidgets('paste the image url', (tester) async {
const plainText = 'https://appflowy.io/1.jpg';
const plainText = 'http://example.com/1.jpg';
final image = await rootBundle.load('assets/test/images/sample.jpeg');
final bytes = image.buffer.asUint8List();
await tester.pasteContent(plainText: plainText, image: ('jpeg', bytes),
+22 -22
View File
@@ -175,36 +175,36 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/webview_flutter_wkwebview/ios"
SPEC CHECKSUMS:
app_links: c5161ac5ab5383ad046884568b4b91cb52df5d91
appflowy_backend: 78f6a053f756e6bc29bcc5a2106cbe77b756e97a
connectivity_plus: 481668c94744c30c53b8895afb39159d1e619bdf
device_info_plus: 71ffc6ab7634ade6267c7a93088ed7e4f74e5896
app_links: e70ca16b4b0f88253b3b3660200d4a10b4ea9795
appflowy_backend: 144c20d8bfb298c4e10fa3fa6701a9f41bf98b88
connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d
device_info_plus: 97af1d7e84681a90d0693e63169a5d50e0839a0d
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
file_picker: 9b3292d7c8bc68c8a7bf8eb78f730e49c8efc517
flowy_infra_ui: 931b73a18b54a392ab6152eebe29a63a30751f53
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
flowy_infra_ui: 0455e1fa8c51885aa1437848e361e99419f34ebc
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
fluttertoast: 76fea30fcf04176325f6864c87306927bd7d2038
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
integration_test: d5929033778cc4991a187e4e1a85396fa4f59b3a
irondash_engine_context: 8e58ca8e0212ee9d1c7dc6a42121849986c88486
keyboard_height_plugin: ef70a8181b29f27670e9e2450814ca6b6dc05b05
open_filex: 432f3cd11432da3e39f47fcc0df2b1603854eff1
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
fluttertoast: e9a18c7be5413da53898f660530c56f35edfba9c
image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1
integration_test: ce0a3ffa1de96d1a89ca0ac26fca7ea18a749ef4
irondash_engine_context: 3458bf979b90d616ffb8ae03a150bafe2e860cc9
keyboard_height_plugin: 43fa8bba20fd5c4fdeed5076466b8b9d43cc6b86
open_filex: 6e26e659846ec990262224a12ef1c528bb4edbe4
package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
SDWebImage: b9a731e1d6307f44ca703b3976d18c24ca561e84
Sentry: 1fe34e9c2cbba1e347623610d26db121dcb569f1
sentry_flutter: e24b397f9a61fa5bbefd8279c3b2242ca86faa90
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
sqflite: c35dad70033b8862124f8337cc994a809fcd9fa3
super_native_extensions: b763c02dc3a8fd078389f410bf15149179020cb4
sentry_flutter: a39c2a2d67d5e5b9cb0b94a4985c76dd5b3fc737
share_plus: 8b6f8b3447e494cca5317c8c3073de39b3600d1f
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
super_native_extensions: 4916b3c627a9c7fffdc48a23a9eca0b1ac228fa7
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
webview_flutter_wkwebview: 45a041c7831641076618876de3ba75c712860c6b
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
webview_flutter_wkwebview: 2a23822e9039b7b1bc52e5add778e5d89ad488d1
PODFILE CHECKSUM: d0d9b4ff572d8695c38eb3f9b490f55cdfc57eca
@@ -138,16 +138,18 @@ class _MobileChatInputState extends State<MobileChatInput> {
else
const VSpace(8.0),
inputTextField(context),
Container(
padding: const EdgeInsets.symmetric(vertical: 8.0),
child: Row(
children: [
const HSpace(8.0),
leadingButtons(context),
const Spacer(),
sendButton(),
const HSpace(12.0),
],
TextFieldTapRegion(
child: Container(
padding: const EdgeInsets.symmetric(vertical: 8.0),
child: Row(
children: [
const HSpace(8.0),
leadingButtons(context),
const Spacer(),
sendButton(),
const HSpace(12.0),
],
),
),
),
],
@@ -281,6 +283,7 @@ class _MobileChatInputState extends State<MobileChatInput> {
fontWeight: FontWeight.w600,
),
),
onTapOutside: (_) => focusNode.unfocus(),
);
},
);
+3 -3
View File
@@ -603,13 +603,13 @@ packages:
source: hosted
version: "7.0.0"
file_picker:
dependency: transitive
dependency: "direct overridden"
description:
name: file_picker
sha256: c904b4ab56d53385563c7c39d8e9fa9af086f91495dfc48717ad84a42c3cf204
sha256: "16dc141db5a2ccc6520ebb6a2eb5945b1b09e95085c021d9f914f8ded7f1465c"
url: "https://pub.dev"
source: hosted
version: "8.1.7"
version: "8.1.4"
file_selector_linux:
dependency: transitive
description:
+5 -1
View File
@@ -4,7 +4,7 @@ description: Bring projects, wikis, and teams together with AI. AppFlowy is an
your data. The best open source alternative to Notion.
publish_to: "none"
version: 0.8.3
version: 0.8.2
environment:
flutter: ">=3.22.0"
@@ -197,6 +197,10 @@ dependency_overrides:
commit: fbab857b1b1d209240a146d32f496379b9f62276
path: flutter_cache_manager
# Don't upgrade file_picker until the issue is fixed
# https://github.com/miguelpruivo/flutter_file_picker/issues/1652
file_picker: 8.1.4
flutter:
generate: true
uses-material-design: true
@@ -384,6 +384,8 @@
"askOwnerToUpgradeToProIOS": "مساحة العمل الخاصة بك على وشك النفاد من مساحة التخزين المجانية.",
"askOwnerToUpgradeToAIMax": "لقد نفدت الاستجابات المجانية للذكاء الاصطناعي من مساحة العمل الخاصة بك. يرجى مطالبة مالك مساحة العمل الخاصة بك بترقية الخطة أو شراء إضافات الذكاء الاصطناعي",
"askOwnerToUpgradeToAIMaxIOS": "مساحة العمل الخاصة بك تفتقر إلى الاستجابات المجانية للذكاء الاصطناعي.",
"purchaseAIMax": "لقد نفدت استجابات الصور بالذكاء الاصطناعي من مساحة العمل الخاصة بك. يرجى مطالبة مالك مساحة العمل الخاصة بك بشراء AI Max",
"aiImageResponseLimit": "لقد نفدت استجابات الصور الخاصة بالذكاء الاصطناعي.<inlang-LineFeed>\nانتقل إلى الإعدادات -&gt; الخطة -&gt; انقر فوق AI Max للحصول على المزيد من استجابات صور AI",
"purchaseStorageSpace": "شراء مساحة تخزين",
"singleFileProPlanLimitationDescription": "لقد تجاوزت الحد الأقصى لحجم تحميل الملف المسموح به في الخطة المجانية. يرجى الترقية إلى الخطة الاحترافية لتحميل ملفات أكبر حجمًا",
"purchaseAIResponse": "شراء",
@@ -1194,6 +1196,7 @@
"system": "التكيف مع النظام"
},
"fontScaleFactor": "عامل مقياس الخط",
"displaySize": "حجم العرض",
"documentSettings": {
"cursorColor": "لون مؤشر المستند",
"selectionColor": "لون اختيار المستند",
+2 -2
View File
@@ -54,8 +54,8 @@
"LogInWithGoogle": "چوونە ژوورەوە لە ڕێگەی گووگڵەوە",
"LogInWithGithub": "چوونە ژوورەوە لە ڕێگەی گیتهاب",
"LogInWithDiscord": "چوونە ژوورەوە لە ڕێگەی دیسکۆرد",
"loginAsGuestButtonText": "دەست پێ بکە",
"logInWithMagicLink": "بە مەجیک لینک بچۆرە ژوورەوە"
"logInWithMagicLink": "بە مەجیک لینک بچۆرە ژوورەوە",
"loginAsGuestButtonText": "دەست پێ بکە"
},
"workspace": {
"chooseWorkspace": "هەڵبژاردنی شوێنی کارەکەت",
-1
View File
@@ -901,7 +901,6 @@
"description": "Unlimited AI responses powered by advanced AI models, and 50 AI images per month",
"price": "{}",
"priceInfo": "Per user per month billed annually"
},
"aiOnDevice": {
"title": "AI On-device for Mac",
+48 -7
View File
@@ -36,6 +36,7 @@
"loginButtonText": "Ingresar",
"loginStartWithAnonymous": "Comience una sesión anónima",
"continueAnonymousUser": "Continuar con una sesión anónima",
"anonymous": "Anónimo",
"buttonText": "Ingresar",
"signingInText": "Iniciando sesión...",
"forgotPassword": "¿Olvidó su contraseña?",
@@ -50,6 +51,8 @@
"signInWithGoogle": "Iniciar sesión con Google",
"signInWithGithub": "Iniciar sesión con Github",
"signInWithDiscord": "Iniciar sesión con Discord",
"signInWithApple": "Continuar con Apple",
"continueAnotherWay": "Continuar por otro camino",
"signUpWithGoogle": "Registrarse con Google",
"signUpWithGithub": "Registrarse con Github",
"signUpWithDiscord": "Registrarse con Discord",
@@ -68,8 +71,12 @@
},
"workspace": {
"chooseWorkspace": "Elige tu espacio de trabajo",
"defaultName": "Mi espacio de trabajo",
"create": "Crear espacio de trabajo",
"new": "Nuevo espacio de trabajo",
"learnMore": "Más información",
"reset": "Restablecer espacio de trabajo",
"renameWorkspace": "Cambiar el nombre del espacio de trabajo",
"resetWorkspacePrompt": "Al restablecer el espacio de trabajo se eliminarán todas las páginas y datos que contiene. ¿Está seguro de que desea restablecer el espacio de trabajo? Alternativamente, puede comunicarse con el equipo de soporte para restaurar el espacio de trabajo.",
"hint": "Espacio de trabajo",
"notFoundError": "Espacio de trabajo no encontrado",
@@ -105,7 +112,9 @@
"html": "HTML",
"clipboard": "Copiar al portapapeles",
"csv": "CSV",
"copyLink": "Copiar enlace"
"copyLink": "Copiar enlace",
"publish": "Publicar",
"publishTab": "Publicar"
},
"moreAction": {
"small": "pequeño",
@@ -118,7 +127,9 @@
"charCount": "Número de caracteres : {}",
"createdAt": "Creado: {}",
"deleteView": "Borrar",
"duplicateView": "Duplicar"
"duplicateView": "Duplicar",
"createdAtLabel": "Creado: ",
"syncedAtLabel": "Sincronizado: "
},
"importPanel": {
"textAndMarkdown": "Texto y Markdown",
@@ -136,7 +147,8 @@
"openNewTab": "Abrir en una pestaña nueva",
"moveTo": "Mover a",
"addToFavorites": "Añadira los favoritos",
"copyLink": "Copiar Enlace"
"copyLink": "Copiar Enlace",
"move": "Mover"
},
"blankPageTitle": "Página en blanco",
"newPageText": "Nueva página",
@@ -149,16 +161,31 @@
"relatedQuestion": "Relacionado",
"serverUnavailable": "Servicio temporalmente no disponible. Por favor, inténtelo de nuevo más tarde.",
"aiServerUnavailable": "🌈 ¡Uh-oh! 🌈. Un unicornio se comió nuestra respuesta. ¡Por favor, intenta de nuevo!",
"retry": "Rever",
"clickToRetry": "Haga clic para volver a intentarlo",
"regenerateAnswer": "Regenerar",
"question1": "Cómo utilizar Kanban para gestionar tareas",
"question2": "Explica el método GTD",
"question3": "¿Por qué usar Rust?",
"aiMistakePrompt": "La IA puede cometer errores. Consulta información importante."
"aiMistakePrompt": "La IA puede cometer errores. Consulta información importante.",
"referenceSource": {
"one": "Se encontró {count} fuente",
"other": "Se encontraron {count} fuentes"
},
"regenerate": "Intentar otra vez",
"addToNewPage": "Crear nueva página",
"changeFormat": {
"textOnly": "Texto",
"text": "Párrafo"
},
"selectBanner": {
"saveButton": "Añadir …"
}
},
"trash": {
"text": "Papelera",
"restoreAll": "Recuperar todo",
"restore": "Restaurar",
"deleteAll": "Eliminar todo",
"pageHeader": {
"fileName": "Nombre de archivo",
@@ -204,7 +231,8 @@
"moreButtonToolTip": "Eliminar, renombrar y más...",
"addPageTooltip": "Inserta una página",
"defaultNewPageName": "Sin Título",
"renameDialog": "Renombrar"
"renameDialog": "Renombrar",
"pageNameSuffix": "Copiar"
},
"noPagesInside": "No hay páginas dentro",
"toolbar": {
@@ -260,7 +288,10 @@
"emptyRecent": "Sin documentos recientes",
"favoriteSpace": "Favoritos",
"RecentSpace": "Reciente",
"Spaces": "Espacios"
"Spaces": "Espacios",
"aiImageResponseLimit": "Se ha quedado sin respuestas de imágenes de IA.\n\nVaya a Configuración -> Plan -> Haga clic en AI Max para obtener más respuestas de imágenes de IA",
"purchaseStorageSpace": "Comprar espacio de almacenamiento",
"purchaseAIResponse": "Compra "
},
"notifications": {
"export": {
@@ -294,6 +325,7 @@
"upload": "Subir",
"edit": "Editar",
"delete": "Borrar",
"copy": "Copiar",
"duplicate": "Duplicar",
"putback": "Volver",
"update": "Actualizar",
@@ -305,6 +337,7 @@
"helpCenter": "Centro de ayuda",
"add": "Añadir",
"yes": "Si",
"no": "No",
"clear": "Limpiar",
"remove": "Eliminar",
"dontRemove": "no quitar",
@@ -319,7 +352,12 @@
"signInDiscord": "Iniciar sesión con discordia",
"more": "Más",
"create": "Crear",
"close": "Cerca"
"close": "Cerca",
"next": "Próximo",
"previous": "Anterior",
"submit": "Entregar",
"download": "Descargar",
"backToHome": "Volver a Inicio"
},
"label": {
"welcome": "¡Bienvenido!",
@@ -343,6 +381,9 @@
},
"settings": {
"title": "Ajustes",
"popupMenuItem": {
"settings": "Ajustes"
},
"accountPage": {
"menuLabel": "Mi cuenta",
"title": "Mi cuenta",
+30
View File
@@ -2,12 +2,14 @@
"appName": "AppFlowy",
"defaultUsername": "من",
"welcomeText": "به @:appName خوش آمدید",
"welcomeTo": "خوش آمدید به",
"githubStarText": "به گیت‌هاب ما ستاره دهید",
"subscribeNewsletterText": "اشتراک در خبرنامه",
"letsGoButtonText": "شروع کنید",
"title": "عنوان",
"youCanAlso": "همچنین می‌توانید",
"and": "و",
"failedToOpenUrl": "خطا در بازکردن نشانی وب: {}",
"blockActions": {
"addBelowTooltip": "برای افزودن در زیر کلیک کنید",
"addAboveCmd": "Alt+click",
@@ -32,19 +34,47 @@
"signIn": {
"loginTitle": "ورود به @:appName",
"loginButtonText": "ورود",
"loginStartWithAnonymous": "ادامه دادن با یک جلسه ناشناس",
"continueAnonymousUser": "ادامه دادن به صورت کاربر مهمان",
"anonymous": "ناشناس",
"buttonText": "ورود",
"signingInText": "در حال ورود...",
"forgotPassword": "رمز عبور را فراموش کرده اید؟",
"emailHint": "ایمیل",
"passwordHint": "رمز عبور",
"dontHaveAnAccount": "آیا حساب کاربری ندارید؟",
"createAccount": "ساخت حساب کاربری",
"repeatPasswordEmptyError": "تکرار رمز عبور نمی‌تواند خالی باشد",
"unmatchedPasswordError": "تکرار رمز عبور مشابه رمز عبور نیست",
"syncPromptMessage": "همگام سازی داده ها ممکن است کمی طول بکشد. لطفا این صفحه را نبندید",
"or": "یا",
"signInWithGoogle": "ادامه دادن با گوگل",
"signInWithGithub": "ادامه دادن با گیتهاب",
"signInWithDiscord": "ادامه دادن با دیسکورد",
"signInWithApple": "ادامه دادن با اپل",
"continueAnotherWay": "ادامه دادن از طریق دیگر",
"signUpWithGoogle": "ثبت نام با گوگل",
"signUpWithGithub": "ثبت نام با گیتهاب",
"signUpWithDiscord": "ثبت نام با دیسکورد",
"signInWith": "ثبت نام با:",
"signInWithEmail": "ادامه دادن با ایمیل",
"signInWithMagicLink": "ادامه",
"pleaseInputYourEmail": "لطفا آدرس ایمیل خود را وارد کنید",
"settings": "تنظیمات",
"invalidEmail": "لطفا یک آدرس ایمیل معتبر وارد کنید",
"alreadyHaveAnAccount": "حساب کاربری دارید؟",
"logIn": "ورود",
"generalError": "مشکلی پیش آمد. لطفاً بعداً دوباره امتحان کنید",
"loginAsGuestButtonText": "شروع کنید"
},
"workspace": {
"chooseWorkspace": "فضای کار خود را انتخاب کنید",
"defaultName": "فضای کار من",
"create": "ایجاد فضای کار",
"new": "فضای کار جدید",
"learnMore": "بیشتر بدانید",
"renameWorkspace": "حذف فضای کار",
"workspaceNameCannotBeEmpty": "اسم فضای کار نمی‌تواند خالی باشد",
"hint": "فضای کار",
"notFoundError": "فضای کاری پیدا نشد"
},
+2 -2
View File
@@ -72,8 +72,8 @@
"LogInWithGoogle": "Se connecter avec Google",
"LogInWithGithub": "Se connecter avec Github",
"LogInWithDiscord": "Se connecter avec Discord",
"loginAsGuestButtonText": "Commencer",
"logInWithMagicLink": "Connectez-vous avec Magic Link"
"logInWithMagicLink": "Connectez-vous avec Magic Link",
"loginAsGuestButtonText": "Commencer"
},
"workspace": {
"chooseWorkspace": "Choisissez votre espace de travail",
+119
View File
@@ -0,0 +1,119 @@
{
"appName": "Appflowy",
"defaultUsername": "Liom",
"welcomeText": "Fáilte go @:appName",
"welcomeTo": "Fáilte chuig",
"githubStarText": "Réalta ar GitHub",
"subscribeNewsletterText": "Liostáil le Nuachtlitir",
"letsGoButtonText": "Tús Tapa",
"title": "Teideal",
"youCanAlso": "Is féidir leat freisin",
"and": "agus",
"failedToOpenUrl": "Theip ar oscailt an url: {}",
"blockActions": {
"addBelowTooltip": "Cliceáil chun cur leis thíos",
"addAboveCmd": "Alt+cliceáil",
"addAboveMacCmd": "Option+cliceáil",
"addAboveTooltip": "a chur thuas",
"dragTooltip": "Tarraing chun bogadh",
"openMenuTooltip": "Cliceáil chun an roghchlár a oscailt"
},
"signUp": {
"buttonText": "Cláraigh",
"title": "Cláraigh le @:appName",
"getStartedText": "Faigh Tosaigh",
"emptyPasswordError": "Ní féidir le pasfhocal a bheith folamh",
"repeatPasswordEmptyError": "Ní féidir an pasfhocal athdhéanta a bheith folamh",
"unmatchedPasswordError": "Ní ionann pasfhocal athdhéanta agus pasfhocal",
"alreadyHaveAnAccount": "An bhfuil cuntas agat cheana féin?",
"emailHint": "Ríomhphost",
"passwordHint": "Pasfhocal",
"repeatPasswordHint": "Déan pasfhocal arís",
"signUpWith": "Cláraigh le:"
},
"signIn": {
"loginTitle": "Logáil isteach ar @:appName",
"loginButtonText": "Logáil isteach",
"loginStartWithAnonymous": "Lean ar aghaidh le seisiún gan ainm",
"continueAnonymousUser": "Lean ar aghaidh le seisiún gan ainm",
"anonymous": "Gan ainm",
"buttonText": "Sínigh Isteach",
"signingInText": "Ag síniú isteach...",
"forgotPassword": "Pasfhocal Dearmadta?",
"emailHint": "Ríomhphost",
"passwordHint": "Pasfhocal",
"dontHaveAnAccount": "Nach bhfuil cuntas agat?",
"createAccount": "Cruthaigh cuntas",
"repeatPasswordEmptyError": "Ní féidir an pasfhocal athdhéanta a bheith folamh",
"unmatchedPasswordError": "Ní hionann pasfhocal athdhéanta agus pasfhocal",
"syncPromptMessage": "Seans go dtógfaidh sé tamall na sonraí a shioncronú. Ná dún an leathanach seo, le do thoil",
"or": "NÓ",
"signInWithGoogle": "Lean ar aghaidh le Google",
"signInWithGithub": "Lean ar aghaidh le GitHub",
"signInWithDiscord": "Lean ar aghaidh le Discord",
"signInWithApple": "Lean ar aghaidh le Apple",
"continueAnotherWay": "Lean ar aghaidh ar bhealach eile",
"signUpWithGoogle": "Cláraigh le Google",
"signUpWithGithub": "Cláraigh le Github",
"signUpWithDiscord": "Cláraigh le Discord",
"signInWith": "Lean ar aghaidh le:",
"signInWithEmail": "Lean ar aghaidh le Ríomhphost",
"signInWithMagicLink": "Lean ort",
"signUpWithMagicLink": "Cláraigh le Magic Link",
"pleaseInputYourEmail": "Cuir isteach do sheoladh ríomhphoist",
"settings": "Socruithe",
"magicLinkSent": "Magic Link seolta!",
"invalidEmail": "Cuir isteach seoladh ríomhphoist bailí",
"alreadyHaveAnAccount": "An bhfuil cuntas agat cheana féin?",
"logIn": "Logáil isteach",
"generalError": "Chuaigh rud éigin mícheart. Bain triail eile as ar ball",
"limitRateError": "Ar chúiseanna slándála, ní féidir leat nasc draíochta a iarraidh ach gach 60 soicind"
},
"workspace": {
"chooseWorkspace": "Roghnaigh do spás oibre",
"defaultName": "Mo Spás Oibre",
"create": "Cruthaigh spás oibre",
"new": "Spás oibre nua",
"importFromNotion": "Iompórtáil ó Notion",
"learnMore": "Foghlaim níos mó",
"reset": "Athshocraigh spás oibre",
"renameWorkspace": "Athainmnigh spás oibre",
"workspaceNameCannotBeEmpty": "Ní féidir leis an ainm spás oibre a bheith folamh",
"hint": "spás oibre",
"notFoundError": "Spás oibre gan aimsiú",
"errorActions": {
"reportIssue": "Tuairiscigh saincheist",
"reportIssueOnGithub": "Tuairiscigh ceist faoi Github",
"exportLogFiles": "Easpórtáil comhaid logáil",
"reachOut": "Bhaint amach le Discord"
},
"menuTitle": "Spásanna oibre",
"createSuccess": "Cruthaíodh spás oibre go rathúil",
"leaveCurrentWorkspace": "Fág spás óibre"
},
"shareAction": {
"buttonText": "Comhroinn",
"workInProgress": "Ag teacht go luath",
"markdown": "Markdown",
"html": "HTML",
"clipboard": "Cóipeáil chuig an ngearrthaisce",
"csv": "CSV",
"copyLink": "Cóipeáil nasc",
"publishToTheWeb": "Foilsigh don Ghréasán",
"publishToTheWebHint": "Cruthaigh suíomh Gréasáin le AppFlowy",
"publish": "Foilsigh",
"unPublish": "Dífhoilsiú",
"visitSite": "Tabhair cuairt ar an suíomh",
"publishTab": "Foilsigh",
"shareTab": "Comhroinn"
},
"moreAction": {
"small": "beag",
"medium": "meánach",
"large": "mór",
"fontSize": "Clómhéid",
"import": "Iompórtáil",
"createdAt": "Cruthaithe: {}",
"deleteView": "Scrios"
}
}
+21 -21
View File
@@ -206,13 +206,13 @@
"addBlockBelow": "Tambahkan blok di bawah ini"
},
"sideBar": {
"closeSidebar": "Close sidebar",
"openSidebar": "Open sidebar",
"closeSidebar": "Tutup sidebar",
"openSidebar": "Buka sidebar",
"personal": "Pribadi",
"favorites": "Favorit",
"clickToHidePersonal": "Klik untuk menutup seksi pribadi",
"clickToHideFavorites": "Klik untuk menutup seksi favorit",
"addAPage": "Tambah sebuah page"
"clickToHidePersonal": "Klik untuk menutup Pribadi",
"clickToHideFavorites": "Klik untuk menutup Favorit",
"addAPage": "Tambah halaman baru"
},
"notifications": {
"export": {
@@ -305,28 +305,28 @@
"appearance": {
"resetSetting": "Mengatur ulang pengaturan ini",
"fontFamily": {
"label": "Keluarga Fon",
"search": "Mencari"
"label": "Jenis Font",
"search": "Cari"
},
"themeMode": {
"label": "Theme Mode",
"light": "Mode Terang",
"dark": "Mode Gelap",
"system": "Adapt to System"
"label": "Tema",
"light": "Terang",
"dark": "Gelap",
"system": "Sesuai Sistem"
},
"layoutDirection": {
"label": "Arah Layout",
"hint": "Mengontrol aliran konten pada layar Anda, dari kiri ke kanan atau kanan ke kiri.",
"ltr": "LTR",
"rtl": "RTL"
"label": "Arah Tampilan",
"hint": "Mengatur arah tampilan konten, apakah dari kiri ke kanan atau kanan ke kiri.",
"ltr": "Kiri ke Kanan",
"rtl": "Kanan ke Kiri"
},
"textDirection": {
"label": "Arah teks default",
"hint": "Menentukan apakah teks harus dimulai dari kiri atau kanan sebagai default.",
"ltr": "LTR",
"rtl": "RTL",
"auto": "AUTO",
"fallback": "Sama seperti arah layout"
"label": "Arah Teks Bawaan",
"hint": "Atur arah teks bawaan, apakah dari kiri ke kanan atau kanan ke kiri.",
"ltr": "Kiri ke Kanan",
"rtl": "Kanan ke Kiri",
"auto": "Otomatis",
"fallback": "Sesuai Arah Tampilan"
},
"themeUpload": {
"button": "Mengunggah",
+2 -2
View File
@@ -72,8 +72,8 @@
"LogInWithGoogle": "使用 Google 登录",
"LogInWithGithub": "使用 Github 登录",
"LogInWithDiscord": "使用 Discord 登录",
"loginAsGuestButtonText": "开始使用",
"logInWithMagicLink": "使用魔法链接登录"
"logInWithMagicLink": "使用魔法链接登录",
"loginAsGuestButtonText": "开始使用"
},
"workspace": {
"chooseWorkspace": "选择您的工作区",
+28 -14
View File
@@ -163,7 +163,7 @@ checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7"
[[package]]
name = "app-error"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"bincode",
@@ -183,7 +183,7 @@ dependencies = [
[[package]]
name = "appflowy-ai-client"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"bytes",
@@ -786,7 +786,7 @@ dependencies = [
[[package]]
name = "client-api"
version = "0.2.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"again",
"anyhow",
@@ -843,7 +843,7 @@ dependencies = [
[[package]]
name = "client-api-entity"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"collab-entity",
"collab-rt-entity",
@@ -856,7 +856,7 @@ dependencies = [
[[package]]
name = "client-websocket"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"futures-channel",
"futures-util",
@@ -1128,7 +1128,7 @@ dependencies = [
[[package]]
name = "collab-rt-entity"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"bincode",
@@ -1153,7 +1153,7 @@ dependencies = [
[[package]]
name = "collab-rt-protocol"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"async-trait",
@@ -1400,7 +1400,7 @@ dependencies = [
"cssparser-macros",
"dtoa-short",
"itoa",
"phf 0.8.0",
"phf 0.11.2",
"smallvec",
]
@@ -1548,7 +1548,7 @@ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
[[package]]
name = "database-entity"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"app-error",
@@ -2970,7 +2970,7 @@ dependencies = [
[[package]]
name = "gotrue"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"futures-util",
@@ -2987,7 +2987,7 @@ dependencies = [
[[package]]
name = "gotrue-entity"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"app-error",
@@ -3598,7 +3598,7 @@ dependencies = [
[[package]]
name = "infra"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"bytes",
@@ -4624,7 +4624,7 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
dependencies = [
"phf_macros",
"phf_macros 0.8.0",
"phf_shared 0.8.0",
"proc-macro-hack",
]
@@ -4644,6 +4644,7 @@ version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
dependencies = [
"phf_macros 0.11.3",
"phf_shared 0.11.2",
]
@@ -4711,6 +4712,19 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "phf_macros"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
dependencies = [
"phf_generator 0.11.2",
"phf_shared 0.11.2",
"proc-macro2",
"quote",
"syn 2.0.94",
]
[[package]]
name = "phf_shared"
version = "0.8.0"
@@ -6140,7 +6154,7 @@ dependencies = [
[[package]]
name = "shared-entity"
version = "0.1.0"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a#4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a"
source = "git+https://github.com/AppFlowy-IO/AppFlowy-Cloud?rev=c80157a687397a38c7390ec3d7fee034b93db963#c80157a687397a38c7390ec3d7fee034b93db963"
dependencies = [
"anyhow",
"app-error",
+2 -2
View File
@@ -103,8 +103,8 @@ dashmap = "6.0.1"
# Run the script.add_workspace_members:
# scripts/tool/update_client_api_rev.sh new_rev_id
# ⚠️⚠️⚠️️
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a" }
client-api-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "4ed5b367eac5ae9ffd603812e2fea26b3ed3da7a" }
client-api = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "c80157a687397a38c7390ec3d7fee034b93db963" }
client-api-entity = { git = "https://github.com/AppFlowy-IO/AppFlowy-Cloud", rev = "c80157a687397a38c7390ec3d7fee034b93db963" }
[profile.dev]
opt-level = 0
+1 -1
View File
@@ -54,7 +54,7 @@ pub trait ChatCloudService: Send + Sync + 'static {
workspace_id: &str,
chat_id: &str,
message_id: i64,
format: ResponseFormat,
format: Option<ResponseFormat>,
) -> Result<StreamAnswer, FlowyError>;
async fn get_answer(
+3 -3
View File
@@ -138,7 +138,7 @@ impl Chat {
// Save message to disk
save_and_notify_message(uid, &self.chat_id, &self.user_service, question.clone())?;
let format = params.format.clone().unwrap_or_default().into();
let format = params.format.clone().map(Into::into);
self.stream_response(
params.answer_stream_port,
@@ -171,7 +171,7 @@ impl Chat {
.store(false, std::sync::atomic::Ordering::SeqCst);
self.stream_buffer.lock().await.clear();
let format = format.unwrap_or_default().into();
let format = format.map(Into::into);
let answer_stream_buffer = self.stream_buffer.clone();
let uid = self.user_service.user_id()?;
@@ -196,7 +196,7 @@ impl Chat {
uid: i64,
workspace_id: String,
question_id: i64,
format: ResponseFormat,
format: Option<ResponseFormat>,
) {
let stop_stream = self.stop_stream.clone();
let chat_id = self.chat_id.clone();
@@ -104,8 +104,10 @@ impl CompletionTask {
custom_prompt: None,
metadata: Some(CompletionMetadata {
object_id: self.context.object_id,
workspace_id: None,
rag_ids: Some(self.context.rag_ids),
}),
format: Default::default(),
};
info!("start completion: {:?}", params);
@@ -156,7 +156,7 @@ impl ChatCloudService for AICloudServiceMiddleware {
workspace_id: &str,
chat_id: &str,
question_id: i64,
format: ResponseFormat,
format: Option<ResponseFormat>,
) -> Result<StreamAnswer, FlowyError> {
if self.local_llm_controller.is_running() {
let row = self.get_message_record(question_id)?;
@@ -704,7 +704,7 @@ impl ChatCloudService for ServerProvider {
workspace_id: &str,
chat_id: &str,
message_id: i64,
format: ResponseFormat,
format: Option<ResponseFormat>,
) -> Result<StreamAnswer, FlowyError> {
let workspace_id = workspace_id.to_string();
let chat_id = chat_id.to_string();
@@ -100,8 +100,9 @@ where
workspace_id: &str,
chat_id: &str,
message_id: i64,
format: ResponseFormat,
format: Option<ResponseFormat>,
) -> Result<StreamAnswer, FlowyError> {
let format = format.unwrap_or_default();
trace!(
"stream_answer: workspace_id={}, chat_id={}, format={:?}",
workspace_id,
@@ -51,7 +51,7 @@ impl ChatCloudService for DefaultChatCloudServiceImpl {
_workspace_id: &str,
_chat_id: &str,
_message_id: i64,
_format: ResponseFormat,
_format: Option<ResponseFormat>,
) -> Result<StreamAnswer, FlowyError> {
Err(FlowyError::not_support().with_context("Chat is not supported in local server."))
}
+1
View File
@@ -13,6 +13,7 @@
"fa",
"fr-CA",
"fr-FR",
"ga-IE",
"he",
"hu-HU",
"id-ID",