Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RC] 0.9.2: Docker support, minor fixes, and update coin assets/icons #162

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

CharlVS
Copy link
Member

@CharlVS CharlVS commented Dec 19, 2024

Release 0.9.2 - Docker support, minor fixes, and update coin assets/icons

Overview

This release focuses on establishing Docker support for development and builds, adding new coins, improving platform builds, and fixing volume calculations for orderbooks.

Key Changes

UX Enhancements

  • Added copy support for transaction amounts (@DeckerSU)
  • Better password validation feedback (@mdmohsin7)
  • Improved welcome page layout (@mdmohsin7)

Docker Support

  • Added complete Docker setup for Android builds and development
  • Dockerized release APK build process
  • Added Android CI build containers
  • Build scripts for containerized development setup

Trading Improvements

  • Fixed broken volume calculations in orderbook
  • Added proper support for relative volumes in trades
  • Enhanced handling of minimum trade amounts
  • Fixed volume validation for matched bids

Platform & Build Updates

  • Fixed broken iOS builds broke by recent macOS update.
  • Improved iOS builds with updated CocoaPods (1.15.2) and Bitcode support
  • Added FVM support for Flutter version management
  • Added Ruby version configuration (2.7.5)
  • Updated coin config fetch scripts to support TCP configs

New Coin Support

Added support for several new coins including:

  • New protocol: Arbitrum (ARB)
  • Pepecoin (PEP)
  • First Digital USD (FDUSD)
  • And more...

QA: Suggested tests

  1. Ensure that all functionality for Pepecoin works correctly and that the icon shows
  2. Verify coin icon loading for new and updated coins (e.g. Pepecoin)
  3. Verify Docker builds work correctly
  4. Test minimum volume validation in trades
  5. Check password input validation behaviour
  6. Test relative volume calculations in orderbook
  7. Optional (I've already done this): verify iOS builds with updated configurations

Dev Notes

The APK can be built using sh .docker/build_apk_release.sh. Currently this only works on x86 machines. (i.e. building on an Apple silicon machine will fail)

Misc

Thank you to our first-time contributors for your valuable contributions: @DeckerSU @mdmohsin7

CharlVS and others added 17 commits May 3, 2024 12:19
`coins_config_ssl` delists coins without SSL support whereas `coins_config_tcp` favours SSL but falls back to TCP if not available.
Signed-off-by: Charl (Nitride) <[email protected]>
* update rates url

* Add docker image and devcontainer

Only Linux and WSL on x86 are supported at the moment

* SSL migration (#143)

* Update coins to SSL config

* Rename references to SSL coin config

* Prefer SSL, but fall back to TCP if not available.

`coins_config_ssl` delists coins without SSL support whereas `coins_config_tcp` favours SSL but falls back to TCP if not available.

* Sync latest TCP file from coins repo

* bump target SDK 

https://developer.android.com/google/play/requirements/target-sdk

Signed-off-by: Kadan Stadelmann <[email protected]>

* Bump app build

Signed-off-by: Charl (Nitride) <[email protected]>

---------

Signed-off-by: Kadan Stadelmann <[email protected]>
Signed-off-by: Charl (Nitride) <[email protected]>
Co-authored-by: CharlVS <[email protected]>

* Replace python script with new dart version

Also update dockerfile

* Fix issues with new dart script as when used via CLI

* Revert "Replace python script with new dart version"

This reverts commit 0bde503.

* Change from clone to COPY and fix permission issue

* Add documentation and fix build directory permission issues

* Update devcontainer image and fix permission issues

* Fix devcontainer ndk install error

Write permission denied to `/opt/android-sdk-linux`

* Move changing ownership of android sdk folder to dockerfile

* Replace Flutter archive download with git clone of Flutter repo

Use a build matching the current architecture rather than downloading a prebuilt archive

* Refactor to fetch Defi binaries only from GH releases (#148)

* Refactor to fetch Defi binaries from GH releases

Refactor to fetch Defi binaries from GH releases since they are built in a secure environment instead of the automated CI builds.

* Fix script to use version tag

Fix the script to use a version tag instead of a hash, as GH’s API does not support fetching a release tied to a specific commit. In the future, we can investigate if there’s an alternate way to verify/validate that the release build is indeed built from a given hash so we can change from a tag ref to a hash ref.

* Fix bug in API fetch script

Fix the API binary fetch script

Ravioli ravioli

* Remove the hardcoded platform from the devcontainer image

* Copy over android sdk dockerfile from Cirrus CI

Remove references to 3rd party dockerfiles, allow for local image tagging and simplify code review.
Credit to https://github.com/cirruslabs/docker-images-android/tree/master

* Fix bug in API fetch script

Fix bug in API fetch script where fetching would fail if the android lib folders didn’t already exist.

* Add script to abstract apk release build

* Change devcontainer to docker-compose format

Use local tagged image instead of the 3rd party image

* Revert "Change devcontainer to docker-compose format"

This reverts commit 95ce8bf.

* Add note regarding build limitations and the Python script

* Update fetch coins scripts

* Add komodo-defi-framework build step to apk build image

Also standardise base images to ubuntu:22.04

* Fix kdf branch build argument

* Remove unnecessary copy

Leftover artefact from previous build stage setup

* Combine dockerfiles into `android-dev` for Github codespaces

* Move API build to postAttach event of devcontainer

API was built in image to reduce Codespaces startup time, but ended up increasing the already large image size

* Fix cargo install in devcontainer/Codespaces

* Set the minimum host requirements for Codespaces

4 cores, 16GB RAM and 32GB storage is the minimum requirements for the API to build successfully from source.

---------

Signed-off-by: Kadan Stadelmann <[email protected]>
Signed-off-by: Charl (Nitride) <[email protected]>
Co-authored-by: Charl <[email protected]>
Co-authored-by: smk762 <[email protected]>
Co-authored-by: Kadan Stadelmann <[email protected]>
* allow copy tx amount to clipboard from tx details page

* set executable attributes to *.sh inside docker

* fix flutter version on git checkout, should be from env. variable
* Fix incorrect minimum volume calculation in advanced swap tab

- Add missing minimum and maximum rel coin volume fields
- Simplify minimum volume check on advanced tab order creation
- Fix incorrect minimum volume warning text in initial popup

* Fix error message in the case of insufficient gas fee balance

Base coin minimum volume was being used in place of the rel coin minimum volume to check for the threshold
* Update coin configs and assets

83794c99944ae451d7898a8db78898be7a63de8a

* Sync wallet only coins

* Remove recently added NFT_ coins

NFTs are not supported, so remove the coins for now to avoid showing activateable coins with no icon

* Bump minor version to 0.9.2

---------

Co-authored-by: Charl (Nitride) <[email protected]>
commit 69d98b2
Author: Kadan Stadelmann <[email protected]>
Date:   Mon May 13 12:25:31 2024 +0200

    SSL migration (#143)

    * Update coins to SSL config

    * Rename references to SSL coin config

    * Prefer SSL, but fall back to TCP if not available.

    `coins_config_ssl` delists coins without SSL support whereas `coins_config_tcp` favours SSL but falls back to TCP if not available.

    * Sync latest TCP file from coins repo

    * bump target SDK

    https://developer.android.com/google/play/requirements/target-sdk

    Signed-off-by: Kadan Stadelmann <[email protected]>

    * Bump app build

    Signed-off-by: Charl (Nitride) <[email protected]>

    ---------

    Signed-off-by: Kadan Stadelmann <[email protected]>
    Signed-off-by: Charl (Nitride) <[email protected]>
    Co-authored-by: CharlVS <[email protected]>

commit 6df3044
Merge: b853544 66471b9
Author: Kadan Stadelmann <[email protected]>
Date:   Sat May 4 22:03:41 2024 +0200

    Merge pull request #123 from KomodoPlatform/dev

    [RC] `0.9.1`: Chart & Order Book Fixes + Sync assets

commit b853544
Merge: 68138a3 06947f9
Author: Kadan Stadelmann <[email protected]>
Date:   Wed Jan 24 09:34:50 2024 +0100

    Merge pull request #100 from KomodoPlatform/dev

    sync master

commit 68138a3
Merge: b0eb54a 36c6afd
Author: Kadan Stadelmann <[email protected]>
Date:   Tue Jan 16 12:59:34 2024 +0100

    Merge pull request #93 from KomodoPlatform/dev

    sync master

commit b0eb54a
Merge: 8281a1a b4d69d1
Author: Kadan Stadelmann <[email protected]>
Date:   Wed Dec 20 00:53:07 2023 +0100

    Merge pull request #91 from KomodoPlatform/dev

    `0.9.0` RC - Net ID migration and file sharing fixes

commit 8281a1a
Author: smk762 <[email protected]>
Date:   Mon Oct 30 16:42:47 2023 +0800

    update rates url

commit 40b1eb2
Merge: 0f30d51 e32aff7
Author: Charl <[email protected]>
Date:   Fri Oct 20 18:38:35 2023 +0200

    0.8.0 Release: Merge pull request #78 from KomodoPlatform/dev

    0.8.0 Release (stable): UI revamp, bug fixes and coins update
Co-authored-by: Charl (Nitride) <[email protected]>
@CharlVS CharlVS self-assigned this Dec 19, 2024
@CharlVS CharlVS marked this pull request as ready for review December 19, 2024 17:51
@CharlVS CharlVS marked this pull request as draft December 20, 2024 12:39
Update KDF to latest stable release and sync coin icons + configs
@CharlVS CharlVS marked this pull request as ready for review December 20, 2024 15:06
@CharlVS CharlVS added the QA Ready for QA testing label Dec 20, 2024
DeckerSU

This comment was marked as duplicate.

@DeckerSU DeckerSU self-requested a review December 24, 2024 19:56
Copy link

@DeckerSU DeckerSU left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM from a security perspective.

@smk762
Copy link
Contributor

smk762 commented Dec 27, 2024

Docker builds not working in this branch, but will be fixed once #156 is merged.

PEPE native logo is https://github.com/KomodoPlatform/coins/blob/master/icons_original/pepe.png
PEPE-ERC20 and other networks token are using https://github.com/KomodoPlatform/coins/blob/master/icons_original/pep.png

I'm unsure if this is intended?

Testing otherwise successful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
QA Ready for QA testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants