a mirror of DefinedNet/mobile_nebula
Find a file
2026-07-23 17:34:32 -05:00
.github/workflows Switch to swift package manager instead of cocoa pods (#386) 2026-07-13 17:02:56 -05:00
android Update flutter to latest (#385) 2026-07-13 16:45:46 -05:00
fonts flutter_platform_widgets is deprecated, remove it (#366) 2026-03-10 08:11:41 -05:00
images Support DN host enrollment (#86) 2022-11-17 16:43:16 -05:00
ios Switch to swift package manager instead of cocoa pods (#386) 2026-07-13 17:02:56 -05:00
lib Use a better file picker 2026-07-23 17:34:32 -05:00
nebula Update flutter to latest (#385) 2026-07-13 16:45:46 -05:00
test/models Firewall support in the UI (#368) 2026-03-24 20:26:05 -05:00
.git-blame-ignore-revs Ignore that last commit to main because flutter format (#346) 2026-02-10 11:14:44 -06:00
.gitignore Switch to swift package manager instead of cocoa pods (#386) 2026-07-13 17:02:56 -05:00
.metadata Remove IncomingSite, muck with config less in the intermediate layers (#361) 2026-03-05 16:20:21 -06:00
.swiftformatignore Use swift-format for Swift file formatting (#261) 2025-02-20 16:09:05 -06:00
analysis_options.yaml Add Flutter lint (#253) 2025-03-04 11:29:23 -06:00
CHANGELOG.md Fix date 2021-06-09 20:31:00 -05:00
ensure-mobile-nebula.sh Switch to swift package manager instead of cocoa pods (#386) 2026-07-13 17:02:56 -05:00
env.sh.example Initial commit 2020-07-27 15:43:58 -05:00
gen-artifacts.sh Switch to swift package manager instead of cocoa pods (#386) 2026-07-13 17:02:56 -05:00
pubspec.lock Use a better file picker 2026-07-23 17:34:32 -05:00
pubspec.yaml Use a better file picker 2026-07-23 17:34:32 -05:00
README.md Use a better file picker 2026-07-23 17:34:32 -05:00
RELEASE.md Add more detailed release docs (#300) 2025-12-04 12:13:23 -06:00
swift-format.sh Use swift-format for Swift file formatting (#261) 2025-02-20 16:09:05 -06:00

Mobile Nebula

Play Store | App Store

Setting up dev environment

Install all of the following things:

Ensure your path is set up correctly to execute flutter

Run flutter doctor and fix everything it complains before proceeding

NOTE on iOS, always open Runner.xcworkspace and NOT the Runner.xccodeproj

Before first compile

  • Copy env.sh.example and set it up for your machine
  • Ensure you have run gomobile init
  • In Android Studio, make sure you have the current ndk installed by going to Tools -> SDK Manager, go to the SDK Tools tab, check the Show package details box, expand the NDK section and select 28.2.13676358 version.
  • Ensure you have downloaded an ndk via android studio, this is likely not the default one and you need to check the Show package details box to select the correct version. The correct version comes from the error when you try and compile
  • Make sure you have gem installed with sudo gem install
  • If on MacOS arm, sudo gem install ffi -- --enable-libffi-alloc

After a fresh checkout, run ./ensure-mobile-nebula.sh once before building for iOS. Swift package resolution needs MobileNebula.xcframework to exist before the pre-build action that maintains it gets a chance to run. After that, Xcode keeps it fresh automatically, rebuilding only when the Go code in nebula/ changes. If an iOS build ever complains the framework is stale or missing, run the script again by hand.

Formatting

dart format can be used to format the code in lib and test. We use a line-length of 120 characters.

Use:

dart format lib/ test/ -l 120

In Android Studio, set the line length using Preferences -> Editor -> Code Style -> Dart -> Line length, set it to 120. Enable auto-format with Preferences -> Languages & Frameworks -> Flutter -> Format code on save.

./swift-format.sh can be used to format Swift code in the repo.

Once swift-format supports ignoring directories (https://github.com/swiftlang/swift-format/issues/870), we can move to a method of running it more like what https://calebhearth.com/swift-format-github-action describes.