diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml
index bb3a2291b1..06bba18715 100644
--- a/.github/workflows/flatpak.yml
+++ b/.github/workflows/flatpak.yml
@@ -86,7 +86,7 @@ jobs:
draft: false
prerelease: false
title: "Latest Release"
- automatic_release_tag: "v5.0.147"
+ automatic_release_tag: "v5.0.148"
files: |
${{ github.workspace }}/artifacts/Invoice-Ninja-Archive
${{ github.workspace }}/artifacts/Invoice-Ninja-Hash
diff --git a/flatpak/com.invoiceninja.InvoiceNinja.metainfo.xml b/flatpak/com.invoiceninja.InvoiceNinja.metainfo.xml
index 5c6b4e1ecf..f6c8ce0c10 100644
--- a/flatpak/com.invoiceninja.InvoiceNinja.metainfo.xml
+++ b/flatpak/com.invoiceninja.InvoiceNinja.metainfo.xml
@@ -50,6 +50,7 @@
+
diff --git a/lib/constants.dart b/lib/constants.dart
index 255e1f8a52..096d477dfe 100644
--- a/lib/constants.dart
+++ b/lib/constants.dart
@@ -4,7 +4,7 @@ class Constants {
}
// TODO remove version once #46609 is fixed
-const String kClientVersion = '5.0.147';
+const String kClientVersion = '5.0.148';
const String kMinServerVersion = '5.0.4';
const String kAppName = 'Invoice Ninja';
diff --git a/lib/ui/bank_account/bank_account_screen.dart b/lib/ui/bank_account/bank_account_screen.dart
index 444d1c2e81..640c01c823 100644
--- a/lib/ui/bank_account/bank_account_screen.dart
+++ b/lib/ui/bank_account/bank_account_screen.dart
@@ -37,7 +37,9 @@ class BankAccountScreen extends StatelessWidget {
void connectAccounts(BuildContext context) {
final localization = AppLocalization.of(context)!;
- if (isSelfHosted(context)) {
+ if (!supportsLatestFeatures('5.8.0')) {
+ _connectAccounts(context, BankAccountEntity.INTEGRATION_TYPE_YODLEE);
+ } else if (isSelfHosted(context)) {
_connectAccounts(context, BankAccountEntity.INTEGRATION_TYPE_NORDIGEN);
} else {
showDialog(
diff --git a/lib/ui/invoice/edit/invoice_edit_items_desktop.dart b/lib/ui/invoice/edit/invoice_edit_items_desktop.dart
index 76bd7be4ab..31d9f926e8 100644
--- a/lib/ui/invoice/edit/invoice_edit_items_desktop.dart
+++ b/lib/ui/invoice/edit/invoice_edit_items_desktop.dart
@@ -821,6 +821,19 @@ class _InvoiceEditItemsDesktopState extends State {
EntityAutocompleteListTile(
onTap: (entity) => onSelected(
entity as ProductEntity),
+ overrideSuggestedLabel:
+ (entity) {
+ var label =
+ entity.listDisplayName;
+ if (state.company
+ .trackInventory) {
+ final product = entity
+ as ProductEntity;
+ label +=
+ ' [${product.stockQuantity}]';
+ }
+ return label;
+ },
overrideSuggestedAmount:
(entity) {
final product =
diff --git a/lib/ui/invoice/view/invoice_view_overview.dart b/lib/ui/invoice/view/invoice_view_overview.dart
index 52f92b81d7..7b1c5d59b7 100644
--- a/lib/ui/invoice/view/invoice_view_overview.dart
+++ b/lib/ui/invoice/view/invoice_view_overview.dart
@@ -268,11 +268,6 @@ class InvoiceOverview extends StatelessWidget {
widgets.add(EntityListTile(entity: project, isFilter: isFilter));
}
- if ((invoice.invoiceId ?? '').isNotEmpty) {
- final linkedInvoice = state.invoiceState.get(invoice.invoiceId!);
- widgets.add(EntityListTile(entity: linkedInvoice, isFilter: isFilter));
- }
-
if (invoice.expenseId.isNotEmpty) {
final expense = state.vendorState.get(invoice.expenseId);
widgets.add(EntityListTile(entity: expense, isFilter: isFilter));
@@ -303,16 +298,16 @@ class InvoiceOverview extends StatelessWidget {
));
}
- if (invoice.isQuote || invoice.isCredit) {
- final relatedInvoice = state.invoiceState.map[invoice.invoiceId] ??
- InvoiceEntity(id: invoice.invoiceId);
- if ((invoice.invoiceId ?? '').isNotEmpty) {
- widgets.add(EntityListTile(
- isFilter: isFilter,
- entity: relatedInvoice,
- ));
- }
- } else {
+ final relatedInvoice = state.invoiceState.map[invoice.invoiceId] ??
+ InvoiceEntity(id: invoice.invoiceId);
+ if ((invoice.invoiceId ?? '').isNotEmpty) {
+ widgets.add(EntityListTile(
+ isFilter: isFilter,
+ entity: relatedInvoice,
+ ));
+ }
+
+ if (invoice.isInvoice) {
final relatedQuote =
memoizedInvoiceQuoteSelector(invoice, state.quoteState.map);
if (relatedQuote != null) {
diff --git a/lib/utils/platforms.dart b/lib/utils/platforms.dart
index 46fa467d34..9de2c369a4 100644
--- a/lib/utils/platforms.dart
+++ b/lib/utils/platforms.dart
@@ -57,9 +57,11 @@ bool supportsLatestFeatures(String version) {
return true;
}
+ /*
if (state.isSelfHosted) {
return true;
}
+ */
if (version.isEmpty) {
return false;
diff --git a/pubspec.foss.yaml b/pubspec.foss.yaml
index c7855369c6..8f1a9cbc3b 100644
--- a/pubspec.foss.yaml
+++ b/pubspec.foss.yaml
@@ -1,6 +1,6 @@
name: invoiceninja_flutter
description: Client for Invoice Ninja
-version: 5.0.147+147
+version: 5.0.148+148
homepage: https://invoiceninja.com
documentation: https://invoiceninja.github.io
publish_to: none
diff --git a/pubspec.yaml b/pubspec.yaml
index 0af313129d..72013144c5 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
name: invoiceninja_flutter
description: Client for Invoice Ninja
-version: 5.0.147+147
+version: 5.0.148+148
homepage: https://invoiceninja.com
documentation: https://invoiceninja.github.io
publish_to: none
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index 32562562ae..fcaa27387b 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -1,5 +1,5 @@
name: invoiceninja
-version: '5.0.147'
+version: '5.0.148'
summary: Create invoices, accept payments, track expenses & time tasks
description: "### Note: if the app fails to run using `snap run invoiceninja` it may help to run `/snap/invoiceninja/current/bin/invoiceninja` instead