Giter VIP home page Giter VIP logo

dart-lightning / lndart.clnapp Goto Github PK

View Code? Open in Web Editor NEW
9.0 1.0 18.0 7.2 MB

CLN App is an experimental cross platform app to manage your core lightning node from any kind of platform

Home Page: https://clnapp.netlify.app

License: Apache License 2.0

Kotlin 0.08% Swift 0.88% Objective-C 0.02% Dart 69.56% CMake 11.36% C++ 13.11% C 0.89% HTML 1.14% Makefile 0.16% Dockerfile 0.29% Shell 0.10% Ruby 1.76% Nix 0.64%
cln core-lightning flutter lightning-network hacktoberfest

lndart.clnapp's Introduction

lndart.clnapp

๐ŸŽฏ Cross platform app to manage remotely and locally a core lightning node ๐ŸŽฏ

GitHub Workflow Status Github Pages Integeration Testing

Table of Content

Introduction

A cross platform application to effortlessly manage your core lightning node using multiple cln clients.

Core lightning clients which are supported by lndart.clnapp:

Core Lightning Client Description Version
A dart library which facilitates dart gRPC client for core lightning. Pub Version (including pre-releases)
Minimal interface to run lnlambda function with dart. Pub Version (including pre-releases)
A RPC wrapper around the core lightning API. Pub Version (including pre-releases)

How to Build

Installation

  • Clone the lndart.clnapp repository.
sudo git clone https://github.com/dart-lightning/lndart.clnapp.git
  • Get flutter dependencies
make dep
make get

Linux(desktop)

  • Enable the linux desktop to run the application
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
flutter config --enable-linux-desktop
flutter run -d linux

Chrome(web)

flutter run -d chrome
  • The clnapp webapp is also deployed using github pages Checkout here.

Emulator Android & iOS

  • Find the device-id of Android/iOS emulator device connected
flutter devices
  • Run the flutter application using device-id
flutter run -d <device-id>

Android device

  • Build the .apk file for Android application
flutter build apk
  • The apk file generated can be found inside [project]/build/app/outputs/bundle/release/

iOS device

  • Build the .xarchive file for iOS application
flutter build ipa
  • The Xcode build archive (.xcarchive file) generated can be found inside [project]/build/ios/archive/ directory and an App Store app bundle (.ipa file) in [project]/build/ios/ipa/

How to Contribute

Read our Hacking guide

License

lndart.clnapp's People

Contributors

aaj013 avatar harshit933 avatar kavan-desai avatar mdmohsin7 avatar saentari avatar vincenzopalazzo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

lndart.clnapp's Issues

Sort list of payments in a specific manner

the list of payments is made by merging list of funds and list of invoice, so we need to sort then in specific manner(present thought is sort by time but listfunds do not have time).

cln app do not work when we try to pay an invoice with any amount

Trying to pay the following invoice where the amount is any

lntb1pjp50d2sp58xnxem6034jdczh5hw9wpydtre6uredj5ldclsefw9tufrfg542spp5nrh4dy08u2txsshwgksw39gzmpfakkyl36gegrwnw4fdelv9h7xqdqavdkxugrpwpczqar9wd6zqurjyqur2xqyjw5qcqp2rzjqwyx8nu2hygyvgc02cwdtvuxe0lcxz06qt3lpsldzcdr46my5epmjf9c9yqqqegqqyqqqqlgqqqqqqgq9q9qxpqysgqmlg6tqn3s40rtvxtq4jvdgvd35mpgnzfaysmg3m9zy6clcrdgfg80nyx3zs4vta6m8vw5jrq4zaytey87hkh3dve3xh0adtld258vtcpk9az7y

So in the UI we should specify the amount but looks like the amount do not work.

Also the error handling do not work well, in the terminal I see

lutter: โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”‚ #0   LogManager.debug (package:cln_common/src/logger/logger_manager.dart:16:13)
flutter: โ”‚ #1   UnixRPCClient.transmit.<anonymous closure> (package:clightning_rpc/src/utils/unix_rpc_client.dart:24:16)
flutter: โ”œโ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„
flutter: โ”‚ ๐Ÿ› Event received is {"jsonrpc":"2.0","id":81767493,"error":{"code":-32602,"message":"msatoshi parameter required"}}
flutter: โ”‚ ๐Ÿ› 
flutter: โ”‚ ๐Ÿ› 
flutter: โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Instance of 'LNClientException'

but in the app I do not see nothings

Feature Request [Developement ]: No issue and PR template in repository

Problem : Currently there is not any Issue message templates available in the repository. Due to that we can't get a clear details about the new issues are produced or it just takes too much time to organize the details about an issue.

Solution:

App does not build for iOS

Problem

App version: 0.0.1-alpha.3+1 does not build and run on iOS devices.

Proposed Solution

Update Podfile.

Details

When building or running the app, the build fails with the following error:

[!] The following Swift pods cannot yet be integrated as static libraries:

The Swift pod `DKPhotoGallery` depends upon `SDWebImage`, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.

As suggested in this stack overflow topic Swift pods cannot yet be integrated as static libraries, adding use_frameworks! to the Podfile should fix this issue. And it is also recommended to add use_modular_headers! in there as well.

But there is a second issue. The build still fails because of the DKImagePickerController with the following error:

Swift Compiler Error (Xcode): Stored properties cannot be marked potentially unavailable with '@available'
/Users/***/***/lndart.clnapp/ios/Pods/DKImagePickerController/Sources/DKImagePickerController/DKImagePickerController.swift:67:5

This bug has been reported (e.g. on this DKImagePickerControler GitHub page). A solution has been made here to add the following line to the Podfile as well:

pod 'DKImagePickerController/PhotoGallery', :git => 'https://github.com/zhangao0086/DKImagePickerController.git'

With these new adjustments, some other files are also updated with minor changes. Also a Podfile.lock is added. Unsure if this generated file is deliberately left out. But according to https://guides.cocoapods.org/using/using-cocoapods.html "the Podfile and Podfile.lock should always be kept under version control."

use listpays instead of listinvoices in the home view

List invoices did not contain the payments that we did or received with the node, but the listpays does.

In addition, payment can decrease or increase the actual capacity of the node and this is something that we can calculate with the node id contained inside the from the field of the listpays command

bug : CLNAPP send Payment error.

When sending the amount to an invoice using the CLNAPP, it throws below error :

"NoSuchMethodError: The method '[ ]' was called on null.
Receiver : null
Tried calling : "

pymnt error

bottom dialog do not work on the web

Ok, I test this function on the web, but this does not work, so each time that we show a bottom dialogue
the dialogue does not show up.

So we should look inside it, and also we should look if the component work on the web, or if it is but of
our implementation.

cc @Harshit933

fix the flutter widget in order to display the Setting view

Problem

Our Setting View is not showing a very nice UI because is developed in the wrong way!

Backgbround

This task required reworking the Setting View by wrapping the UI inside a SafeArea and building the component with the Row/Colum + Expanded or Flexible

view01

Goal

Make the setting view responsive and nicer to use.

Object of this tasks

grpc: with the last version of grpc we have a compiler error

Building Linux application...                                   
ERROR: lib/api/cln/cln_client.dart:[11](https://github.com/dart-lightning/lndart.clnapp/runs/7815097891?check_suite_focus=true#step:7:12)3:56: Error: No named parameter with the name 'msatoshi'.
ERROR:               grpcRequest: PayRequest(bolt11: invoice, msatoshi: amount));
ERROR:                                                        ^^^^^^^^
ERROR: /opt/hostedtoolcache/flutter/stable-3.0.5-x64/.pub-cache/hosted/pub.dartlang.org/cln_grpc-0.0.1-beta.3/lib/src/generated/node.pb.dart:1[13](https://github.com/dart-lightning/lndart.clnapp/runs/7815097891?check_suite_focus=true#step:7:14)25:11: Context: Found this candidate, but the arguments don't match.
ERROR:   factory PayRequest({
ERROR:           ^
Build process failed

Bottom dialog hide the error dialog

When the core lightning returns an error, a bottom dialogue opens simultaneously (for instance, when requesting a Bitcoin address but your account lacks sufficient permissions), and the error gets obscured by the bottom dialogue.

However, the expected behaviour is to close the bottom dialogue and display the error message instead.

Exception: type 'Null' is not a subtype of type 'String'

Stack trace

flutter: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”‚ #0   LogManager.debug (package:cln_common/src/logger/logger_manager.dart:16:13)
flutter: โ”‚ #1   new AppInvoice.fromJSON (package:clnapp/model/app_model/list_invoices.dart:56:28)
flutter: โ”œโ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„
flutter: โ”‚ ๐Ÿ› {label: lndart.app, description: esting ln payments, paymentHash: <string>, status: PAID, expiresAt: 1656670602, bolt11: <string>, payIndex: 1, amountReceivedMsat: {msat: 100}, paidAt: 1656068039, paymentPreimage: <string>}
flutter: โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”‚ #0   LogManager.debug (package:cln_common/src/logger/logger_manager.dart:16:13)
flutter: โ”‚ #1   new AppInvoice.fromJSON (package:clnapp/model/app_model/list_invoices.dart:56:28)
flutter: โ”œโ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„
flutter: โ”‚ ๐Ÿ› {label: testingInvoice, description: Invoice for Gautam, paymentHash: <string>, expiresAt: 1657626799, bolt11: <string>}
flutter: โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

โ•โ•โ•ก EXCEPTION CAUGHT BY WIDGETS LIBRARY โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
The following _Exception was thrown building FutureBuilder<List<dynamic>>(dirty, state:
_FutureBuilderState<List<dynamic>>#7c2ff):
Exception: type 'Null' is not a subtype of type 'String'

The relevant error-causing widget was:
  FutureBuilder<List<dynamic>>
  FutureBuilder:file:///home/kavan/AndroidStudioProjects/lndart.clnapp/lib/views/home/home_view.dart:144:12

When the exception was thrown, this was the stack:
#0      _HomeViewState._checkIfThereAreError (package:clnapp/views/home/home_view.dart:204:7)
#1      _HomeViewState._buildPaymentListView.<anonymous closure> (package:clnapp/views/home/home_view.dart:147:11)
#2      _FutureBuilderState.build (package:flutter/src/widgets/async.dart:615:55)
#3      StatefulElement.build (package:flutter/src/widgets/framework.dart:4919:27)
#4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4806:15)
#5      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
#6      Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
#7      BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2659:19)
#8      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:891:21)
#9      RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:370:5)
#10     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1146:15)
#11     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1083:9)
#12     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:997:5)
#16     _invoke (dart:ui/hooks.dart:151:10)
#17     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5)
#18     _drawFrame (dart:ui/hooks.dart:115:31)
(elided 3 frames from dart:async)

โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

clnapp crash

Running with the core lightning deprecated api set to false we have the following bug

flutter: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”‚ #0   LogManager.debug (package:cln_common/src/logger/logger_manager.dart:16:13)
flutter: โ”‚ #1   RPCClient.call (package:clightning_rpc/src/clightning_rpc.dart:36:10)
flutter: โ”œโ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„
flutter: โ”‚ ๐Ÿ› Response from RPC is : {payments: [{id: 4, payment_hash: 08b814811c94728d59ee04a3d6f3ee23c92a81e48fa5a8e23972f050989058b5, groupid: 0, destination: 03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134, amount_msat: 200000, amount_sent_msat: 201004, created_at: 1616175716, completed_at: 1616175716, status: complete, payment_preimage: a2effbf3361ad12dd14cb3091d56e9d6566ca5f3d999291fc8b2c1a1a4f30a2e}, {id: 5, payment_hash: 661982f1cb9b8a9fbb48eb42adb1e32548794a98273fafa35a49ea489980dc55, groupid: 0, destination: 035f3c2d601d3dda4f717409cef7c76e1bdce353d79fbe630693bff32beaf217bc, amount_msat: 100, amount_sent_msat: 110, created_at: 1617231911, completed_at: 1617231911, status: complete, payment_preimage: 9e2fad8afbeb8857459f59154827b07cdf9d39e5c24fb0ac69a7dae7a6d58568, bolt11: lntb1n1psxflaqpp5vcvc9uwtnw9flw6gadp2mv0ry4y8jj5cyul6lg66f84y3xvqm32sdq8w3jhxaqxqyjw5qcqp2sp50n6my4zyenrf2ddc0trhlc7g8kyuukp8mhgmp6eecwww5zpjuw4srzjqv9ks6sk823thgpuawut4dmh37kz29fkfxq5rhc2gdkk3q6j6sn0v8v7r5qqqfqqqqqqqqq2qqqq86qqqc9qy9qsq8999a06st5f9llry542rdn9zathwss832kvsd5kqwg0xxh2cawwzhuhw36ypw6zmkxzplpljmg0pwayzmfxtetgcp9q783e23xerkygqtghmwm}, {id: 275, payment_hash: 19e149210c2e4b7beb68b15f648b1973b7d9b83f25d434831650966b27cba606, groupid: 1, destination: 03b39d1ddf13ce486de74e9e44e0538f960401a9ec75534ba9cfe4100d65426880, amount_msat: 450000000, amount_sent_msat: 450002901, created_at: 1651492299, completed_at: 1651492299, status: complete, payment_preimage: a7f511c1180111ccb05d4eb9760187d61f4bd7cd44c2832aaa06d5592078c7f5}, {id: 299, payment_hash: d20f86d925c5b5ff02bcf5614fe731102ce0c04a64b3df78138fb6dd4131a08e, groupid: 8, destination: 02ec99e98f3f3a5e300bebb12a49d5b72d77a55796808a8f5b2e6b42f3db51c7cf, amount_msat: 100, amount_sent_msat: 100, created_at: 1656068042, completed_at: 1656068042, status: complete, payment_preimage: aaf19dd5bb5f49cd44e472cad6c185af715011dd9c8c93fc07b87fce38be6100, bolt11: lntb1p3ttrc2sp5j5arcf6vfmju9m2y954qkff3vduvye88h4yz5yt49gllemm8qddqpp56g8cdkf9ck6l7q4u74s5lee3zqkwpsz2vjea77qn37md6sf35z8qdqav4ehg6twvusxcm3qwpshjmt9de68xxqyjw5qcqp2rzjqgcjvfla7plmm4l9mkcnvcgmmh5mqrfxsgw3fk2gjyu4g5hk0teysgksjcqqq2sqqyqqqqlgqqqqqqgq9q9qyysgqfw7hyzh66echsxpahqhu2r7zjrurcvq7080r0c9z0zwqxtt6fwkyvtte722v75fqnh2f67vteflw8xxgckrgf93jw59semn6qvku24sptvqkmg}, {id: 300, payment_hash: 854e88eb44fc7bcfe89984520bbe9652c2d68d77c842f556b38cf3ec7c0675af, groupid: 1, partid: 1, destination: 0348cc1a9479697cd52db445ea74149ad40bb01bb2045a3e8acba21b70f94ab7cf, amount_msat: 3000000, amount_sent_msat: 3002503, created_at: 1660000901, completed_at: 1660000901, status: complete, payment_preimage: 38ee9c38eee6f8cc636383bab3d4d0ad87c084dc0e4fd10d71f886059cc58c01, bolt11: lntb30u1p30ryqupp5s48g366yl3aul6yes3fqh05k2tpddrthepp0244n3ne7clqxwkhsdq5xvsyymr0ddskxcmfdehsxqrrsscqp79qy9qsqsp5y2c2kn9u7gdxyafxmw8exu05krcqx5yva54jp7kayz7k6jat3nnqqkf34gwennur2t7de7g8nndq9czlff6q38k27kgjufwu7jthpa4qj426edh3peqhfth36etuk7tcx3hax5uche2ues99vparl8rzpgspu9wu8v}]}
flutter: โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”‚ #0   LogManager.error (package:cln_common/src/logger/logger_manager.dart:20:13)
flutter: โ”‚ #1   _HomeViewState._checkIfThereAreError (package:clnapp/views/home/home_view.dart:260:30)
flutter: โ”œโ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„
flutter: โ”‚ โ›” type 'int' is not a subtype of type 'String'
flutter: โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
flutter: โ”‚ #0   LogManager.error (package:cln_common/src/logger/logger_manager.dart:20:13)
flutter: โ”‚ #1   _HomeViewState._checkIfThereAreError (package:clnapp/views/home/home_view.dart:261:30)
flutter: โ”œโ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„
flutter: โ”‚ โ›” #0      new AppSendPays.fromJSON (package:clnapp/model/app_model/list_send_pays.dart:72:21)
flutter: โ”‚ โ›” #1      new AppListSendPays.fromJSON.<anonymous closure> (package:clnapp/model/app_model/list_send_pays.dart:13:38)
flutter: โ”‚ โ›” #2      MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)
flutter: โ”‚ โ›” #3      ListIterator.moveNext (dart:_internal/iterable.dart:344:26)
flutter: โ”‚ โ›” #4      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)
flutter: โ”‚ โ›” #5      new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
flutter: โ”‚ โ›” #6      new List.of (dart:core-patch/array_patch.dart:52:28)
flutter: โ”‚ โ›” #7      ListIterable.toList (dart:_internal/iterable.dart:214:7)
flutter: โ”‚ โ›” #8      new AppListSendPays.fromJSON (package:clnapp/model/app_model/list_send_pays.dart:14:12)
flutter: โ”‚ โ›” #9      CLNApi.listSendPays.<anonymous closure> (package:clnapp/api/cln/cln_client.dart:190:53)
flutter: โ”‚ โ›” #10     RPCClient.call (package:clightning_rpc/src/clightning_rpc.dart:38:22)
flutter: โ”‚ โ›” <asynchronous suspension>
flutter: โ”‚ โ›” #11     _HomeViewState.listPayments (package:clnapp/views/home/home_view.dart:118:22)
flutter: โ”‚ โ›” <asynchronous suspension>
flutter: โ”‚ โ›” #12     _FutureBuilderState._subscribe.<anonymous closure> (package:flutter/src/widgets/async.dart:628:33)
flutter: โ”‚ โ›” <asynchronous suspension>
flutter: โ”‚ โ›” 
flutter: โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

Another exception was thrown: The showSnackBar() method cannot be called during build.

ci: strange empty error with the grpc on the integration testing

00:14 +4: /root/test/grpc_client_appapi_test.dart: clnapp gRPC_client tests API List Funds                                                                                                             
grpc_test_1   | โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
grpc_test_1   | โ”‚ #0   LogManager.debug (package:cln_common/src/logger/logger_manager.dart:16:13)
grpc_test_1   | โ”‚ #1   CLNApi.listFunds.<anonymous closure> (package:clnapp/api/cln/cln_client.dart:77:34)
grpc_test_1   | โ”œโ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„โ”„
grpc_test_1   | โ”‚ ๐Ÿ› {}
grpc_test_1   | โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
grpc_test_1   | 
00:14 +4 -1: /root/test/grpc_client_appapi_test.dart: clnapp gRPC_client tests API List Funds [E]                                                                                                      
grpc_test_1   |   type 'Null' is not a subtype of type 'List<dynamic>' in type cast
grpc_test_1   |   package:clnapp/model/app_model/list_funds.dart 22:29  new AppListFunds.fromJSON
grpc_test_1   |   package:clnapp/api/cln/cln_client.dart 78:31          CLNApi.listFunds.<fn>
grpc_test_1   |   package:cln_grpc/src/cln_grpc_base.dart 101:22        GRPCClient.listFunds

linux release: when we build in linux release and I run it I receive the following error

โžœ  bundle git:(macros/releases) โœ— ./clnapp 
flutter: Error while creating AppApi
flutter: Stack trace:
 #0      _File.throwIfError (dart:io/file_impl.dart:635)
#1      _File.openSync (dart:io/file_impl.dart:479)
#2      _File.readAsBytesSync (dart:io/file_impl.dart:539)
#3      new GRPCClient (package:cln_grpc/src/cln_grpc_base.dart:65)
#4      ClientProvider._buildClient (package:clnapp/api/client_provider.dart:42)
#5      ClientProvider.getClient (package:clnapp/api/client_provider.dart:33)
#6      main.<anonymous closure> (package:clnapp/main.dart:27)
#7      _ServiceFactory.getObject (package:get_it/get_it_impl.dart:160)
#8      _GetItImplementation.get (package:get_it/get_it_impl.dart:409)
#9      AppProvider.get (package:clnapp/utils/app_provider.dart:13)
#10     _HomeViewState.getamountMsat (package:clnapp/views/home/home_view.dart:140)
#11     _HomeViewState.initState (package:clnapp/views/home/home_view.dart:35)
#12     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4942)
#13     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4781)
#14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817)

To build in linux release you can do

flutter build linux --release
cd build/linux/x64/release/bundle/
./clnapp

ci: build-artifact fails due the wrong flutter version

Run flutter build linux --release

๐Ÿ’ช Building with sound null safety ๐Ÿ’ช

Building Linux application...                                   
ERROR: lib/components/buttons.dart:2[9](https://github.com/dart-lightning/lndart.clnapp/actions/runs/3107731556/jobs/5036161436#step:7:10):15: Error: No named parameter with the name 'backgroundColor'.
ERROR:               backgroundColor: Theme.of(context).primaryColor,
ERROR:               ^^^^^^^^^^^^^^^
ERROR: /opt/hostedtoolcache/flutter/stable-3.0.5-x64/packages/flutter/lib/src/material/elevated_button.dart:[14](https://github.com/dart-lightning/lndart.clnapp/actions/runs/3107731556/jobs/5036161436#step:7:15)6:22: Context: Found this candidate, but the arguments don't match.
ERROR:   static ButtonStyle styleFrom({
ERROR:                      ^^^^^^^^^
Build process failed
Error: Process completed with exit code 1.

To fix this we just remove the flutter version in https://github.com/dart-lightning/lndart.clnapp/blob/main/.github/workflows/build-binary.yml :)

Just moving from

      - uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.0.5'

to

      - uses: subosito/flutter-action@v2

Implement basic request view for generating inovice

Background

The application now is not able to show to generate a request payment (aka bolt 11), so this mini project is using the current architecture to propose a workable solution that allow to form the following use case

1 Required an invoice with the following command https://lightning.readthedocs.io/lightning-invoice.7.html
1.1 Required all the required input from the user in a well defined UI
1.2 Make the request to core lightning, and get back the response
1.3 show the response in a QRCode by using the following package https://github.com/theyakka/qr.flutter

Goal

Implement basic screen which takes useful inputs to generate invoice. Primiraly there are 3 input fields amount_msat, label, description. Feel free to checkout docs and add more optional fields(https://lightning.readthedocs.io/lightning-invoice.7.html)

After the user enters all the 3 fields and requests to generate an Invoice a QR code should be displayed.

I am hereby attaching some raw UI for the requested view reference

image

image

image

End Goal

The final goal of this project is to be able to require from a remote node invoice and show it to the screen, and the solution needs to be workable and a well-developed solution following all the standards of flutter that need to work on all the platforms

split the setting view in different view

Problem

Our Setting View is not showing a very nice UI because is developed in the wrong way!

Backgbround

This task required reworking the Setting View by splitting the sub-view in different Widget as suggested in this issue #35 (comment)

Goal

Make the setting view code clean to read and also easy to work on it

Object of this tasks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.