fix: Issues with 1.1.0-rc (#328)

* bump(rust): Toolchain to 1.82

* bump(tauri): Bump some Tauri peer-dependencies

* fix(gui): Prefer maker with known version, bump MIN_ASB_VERSION to 1.1.0-rc.3

* amend: CHANGELOG.md
This commit is contained in:
Mohan 2025-05-19 12:43:27 +02:00 committed by GitHub
parent 0c4de7e4cd
commit e66881d6eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 411 additions and 538 deletions

View file

@ -1,31 +1,29 @@
import { ExtendedMakerStatus } from "models/apiModel";
import { isMakerOnCorrectNetwork, isMakerOutdated } from "./multiAddrUtils";
import _ from 'lodash';
export function sortMakerList(list: ExtendedMakerStatus[]) {
return list
return _(list)
// Filter out makers that are on the wrong network (testnet / mainnet)
.filter(isMakerOnCorrectNetwork)
.concat()
// Sort by criteria
.sort((firstEl, secondEl) => {
// If either provider is outdated, prioritize the one that isn't
if (isMakerOutdated(firstEl) && !isMakerOutdated(secondEl)) return 1;
if (!isMakerOutdated(firstEl) && isMakerOutdated(secondEl)) return -1;
// If neither of them have a relevancy score or they are the same, sort by price
if (firstEl.relevancy == secondEl.relevancy) {
return firstEl.price - secondEl.price;
}
// If only one of the two doesn't have a relevancy score, prioritize the one that does
if (firstEl.relevancy == null) return 1;
if (secondEl.relevancy == null) return -1;
// Otherwise, sort by relevancy score
return secondEl.relevancy - firstEl.relevancy;
})
// Remove duplicate makers
.filter((provider, index, self) =>
index === self.findIndex((p) => p.peerId === provider.peerId)
.orderBy(
[
// Prefer makers that have a 'version' attribute
// If we don't have a version, we cannot clarify if it's outdated or not
m => (m.version ? 0 : 1),
// Prefer makers that are not outdated
m => (isMakerOutdated(m) ? 1 : 0),
// Prefer makers that have a relevancy score
m => (m.relevancy == null ? 1 : 0),
// Prefer makers with a higher relevancy score
m => -(m.relevancy ?? 0),
// Prefer makers with a lower price
m => m.price
],
['asc', 'asc', 'asc', 'asc', 'asc']
)
// Remove duplicate makers
.uniqBy(m => m.peerId)
.value();
}