AppFlowy-IO / AppFlowy

Bring projects, wikis, and teams together with AI. AppFlowy is an AI collaborative workspace where you achieve more without losing control of your data. The best open source alternative to Notion.
https://www.appflowy.io
GNU Affero General Public License v3.0
56.31k stars 3.67k forks source link

[Bug] CSV and Markdown importer does not show up in ArchLinux #6414

Open groaking opened 3 days ago

groaking commented 3 days ago

Bug Description

Whenever the CSV and "Text & Markdown" importer options are selected, no file picker shows up. If AppFlowy was ran through terminal, however, an error message gets logged, indicating error at dart-ffi/src/lib.rs:291.

How to Reproduce

  1. Open AppFlowy via terminal
  2. Click on the "plus" button in any note
  3. Select "Import" menu. The importer window will appear
  4. Click "CSV" or "Text & Markdown"
  5. The error message will be logged in the terminal, and the file picker does not show up

GIF demonstration to reproduce the error (may be slow to load, click here if the GIF file does not load):

app_flowy_bug-archlinux_v6 10 8-arch1-1

Expected Behavior

The CSV/Markdown file picker should show up when the importer buttons are pressed, allowing the user to import CSV/Markdown files from the local storage.

Operating System

ArchLinux v6.10.8-arch1-1

AppFlowy Version(s)

v0.7.0

Screenshots

No screenshot in the form of a picture file. But there is a "screenshot" of the error message copied from the terminal.

2024-09-27 10:24:35 ERROR dart_ffi: [Flutter]: Uncaught platform error
StackTrace:
#0      isExecutableOnPath (package:file_picker/src/utils.dart:60)
<asynchronous suspension>
#1      FilePickerLinux._getPathToExecutable (package:file_picker/src/linux/file_picker_linux.dart:127)
<asynchronous suspension>
#2      FilePickerLinux.pickFiles (package:file_picker/src/linux/file_picker_linux.dart:29)
<asynchronous suspension>
#3      FilePicker.pickFiles (package:flowy_infra/file_picker/file_picker_impl.dart:25)
<asynchronous suspension>
#4      _ImportPanelState._importFile (package:appflowy/workspace/presentation/home/menu/sidebar/import/import_panel.dart:143)
<asynchronous suspension>
#5      _ImportPanelState.build.<anonymous closure>.<anonymous closure> (package:appflowy/workspace/presentation/home/menu/sidebar/import/import_panel.dart:115)
<asynchronous suspension>

at dart-ffi/src/lib.rs:291

{"msg":"[Flutter]: Uncaught platform error
StackTrace:
#0      isExecutableOnPath (package:file_picker/src/utils.dart:60)
<asynchronous suspension>
#1      FilePickerLinux._getPathToExecutable (package:file_picker/src/linux/file_picker_linux.dart:127)
<asynchronous suspension>
#2      FilePickerLinux.pickFiles (package:file_picker/src/linux/file_picker_linux.dart:29)
<asynchronous suspension>
#3      FilePicker.pickFiles (package:flowy_infra/file_picker/file_picker_impl.dart:25)
<asynchronous suspension>
#4      _ImportPanelState._importFile (package:appflowy/workspace/presentation/home/menu/sidebar/import/import_panel.dart:143)
<asynchronous suspension>
#5      _ImportPanelState.build.<anonymous closure>.<anonymous closure> (package:appflowy/workspace/presentation/home/menu/sidebar/import/import_panel.dart:115)
<asynchronous suspension>
","time":"09-27 10:24:35","target":"dart_ffi"}

Additional Context

Tested on AppImage variant of AppFlowy v0.7.0.

I also did the CSV import in the AppImage and .deb variants of v0.6.9. The Error at dart-ffi/src/lib.rs:291 was also raised and the CSV/Markdown file picker did not show up.

emmggi commented 3 days ago

Have you tried installing it through AUR? I'm using this AUR package which just extracts the deb file into a directory.

Also do you have all the dependencies? If this is a freshly built system from ground up, you're likely missing something.

I'm using EndeavourOS and it's all working.

groaking commented 1 day ago

Have you tried installing it through AUR? I'm using this AUR package which just extracts the deb file into a directory.

I have, but there's still no chance of success. I even installed dart using pacman, but the CSV/Markdown importer still does work.

There's one more thing: the same error keeps showing up whenever I'm trying to export any note (e.g., as CSV or to HTML). No file picker is opened whenever the Share > Export as > CSV button is clicked, and the [Flutter]: Uncaught platform error debug log is shown again. I cannot export notes.

I'm using EndeavourOS and it's all working.

It's weird knowing the fact that EndeavourOS is also Arch-based. But I'm not comfortable with the idea of switching distro. My current vanilla ArchLinux setup is more than 3 years old.

Also do you have all the dependencies?

I thought AppImage does not necessitate the user to install any dependency (source), other than fuse (source).

I'm guessing that:

  1. A class in dart_ffi used in the file picker detects the user's operating system;
  2. Vanilla ArchLinux is not in the class' list of supported operating systems;
  3. There is no catch-all for not-yet-supported-os, so the class just simply raises error