VeilidChat
Go to file
Rivka Segan e0a3baaefd Disrecommend Flutter snap (Corrosion builds fail)
If Flutter has not been installed before building VeilidChat on Linux,
the user can end up with CMake 3.16.3 and encounter errors for
Corrosion files that require CMake 3.22 or later. Unfortunately,
recovering from this is apparently more complex than putting a newer
cmake earlier in the PATH, so it's perhaps best not to obtain CMake
3.16.3 in the first place.

The set of conflicts that cause this issue to exist include:

veilidchat indirectly recommends the Flutter snap:

268b86d131/setup_linux.sh (L19)

f59c4509ea/veilid-flutter/setup_flutter.sh (L23)

https://docs.flutter.dev/get-started/install

https://docs.flutter.dev/get-started/install/linux

"The easiest way to install Flutter on Linux is by using snapd."

Flutter apparently requires CMake 3.16.3 and someone is not especially
interested in newer versions. Historically, CMake in the Flutter snap
has been multiple minor versions behind upstream CMake (e.g., 3.10
when a user needed 3.16, 3.16 when a user needed 3.22, etc.):

9427b77376/packages/flutter_tools/test/general.shard/linux/linux_doctor_test.dart (L120)

https://github.com/canonical/flutter-snap/issues/53

https://github.com/flutter/flutter/issues/101726#issuecomment-1095681610

"We discourage plugin developers from requiring a newer version of
CMake than Flutter requires, but we cannot control what third-party
developers do. ... If you want to use the snap installation, and want
an update with a newer version of CMake, you'd need to file a request
at https://github.com/canonical/flutter-snap"

When the Flutter snap is installed, flutter commands execute cmake
from within the snap's read-only filesystem, and do not use the cmake
found in the PATH. This may lead to challenges regardless of whether
the user already has a /usr/bin/cmake that is recent enough, or
whether the user needs to replace /usr/bin/cmake by following the
https://apt.kitware.com process.

3.16.3 is not recent enough because veilid uses Corrosion from GitHub:

f59c4509ea/veilid-flutter/linux/rust.cmake (L11)

https://corrosion-rs.github.io/corrosion/

"The master branch of Corrosion currently requires CMake 3.22 or
newer."
2023-10-01 17:43:42 +00:00
android icon 2023-09-29 12:31:16 -04:00
assets icon 2023-09-29 12:31:16 -04:00
doc contact accept 2023-08-05 21:01:27 -04:00
ios icon 2023-09-29 12:31:16 -04:00
lib turn off autodispose for real globals 2023-09-30 21:28:45 -04:00
linux scanning 2023-09-28 10:06:22 -04:00
macos icon 2023-09-29 12:31:16 -04:00
snap/gui icon 2023-09-29 12:31:16 -04:00
test checkpoint 2023-01-09 22:50:34 -05:00
web icon 2023-09-29 12:31:16 -04:00
windows icon 2023-09-29 12:31:16 -04:00
_script_common refactor and move stuff 2023-01-10 21:04:18 -05:00
.gitignore refactor and move stuff 2023-01-10 21:04:18 -05:00
.gitlab-ci.yml Switched to manual mode 2023-09-28 14:38:50 +00:00
.metadata initial flutter create 2023-01-07 21:43:31 -05:00
analysis_options.yaml lint cleanup 2023-07-26 17:42:11 -04:00
build.sh proto cleanup 2023-09-26 18:46:02 -04:00
build.yaml xfer 2023-07-26 10:06:54 -04:00
code_of_conduct.md Setting up the repo for opening 2023-09-26 21:22:54 -05:00
CONTRIBUTING.md Setting up the repo for opening 2023-09-26 21:22:54 -05:00
flutter_config.sh updates 2023-07-02 11:31:40 -04:00
LICENSE Setting up the repo for opening 2023-09-26 21:22:54 -05:00
pubspec.lock flutter stuff 2023-09-28 18:10:05 -04:00
pubspec.yaml icon 2023-09-29 12:31:16 -04:00
README.md clean up build 2023-01-11 19:17:04 -05:00
reset_run.bat work 2023-07-26 10:23:42 -04:00
reset_run.sh work 2023-07-26 10:23:42 -04:00
setup_linux.sh Disrecommend Flutter snap (Corrosion builds fail) 2023-10-01 17:43:42 +00:00
setup_macos.sh Add missing folder path to dev setup 2023-09-29 17:28:37 -07:00
update_icons.sh work 2023-07-26 22:38:09 -04:00
wasm_update.sh refactor and move stuff 2023-01-10 21:04:18 -05:00

VeilidChat

VeilidChat is a chat application written for the Veilid (https://www.veilid.com) distributed application platform. It has a familiar and simple interface and is designed for private, and secure person-to-person communications.

For more information about VeilidChat: https://veilid.chat

For more information about the Veilid network protocol and app development platform: https://veilid.com

Setup

While this is still in development, you must have a clone of the Veilid source checked out at ../veilid relative to the working directory of this repository.

For Linux Systems:

./setup_linux.sh

For Mac Systems:

./setup_macos.sh

Updating Code

To update the WASM binary from veilid-wasm:

  • Debug WASM: run ./wasm_update.sh
  • Release WASM: run /wasm_update.sh release