Giter Club home page Giter Club logo

litewallet-ios's People

Contributors

acorscadden avatar dev-noname-crypto avatar dts avatar gutyn avatar iferencak avatar jmacwhyte avatar kcw-grunt avatar losh11 avatar mosadialiou avatar samuraisam avatar voisine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

litewallet-ios's Issues

✨[Feature Polish] Litecoin Card Add password criteria

Goal

Make sure the user knows the password criteria for registration

Criteria

  • 1 Capital letter, 1 number, 8 min chars, accepts special chars

Definition of Done

  • Shows the criteria in the registration
  • Add a failure note in the verification/register

🥳[Feature] Add new Logo

Overview

There is a new Litewallet logo and the version should be match everywhere.

Graphic

Before After
CoinBlue180 new-logo-200

[Feature / Tech Debt] Migrate settings functions to single view

Problem

The current issue is users have 2 layers of views to access all their configuration details.

What's wrong?

This is a burden for users where they are already skeptical of any crypto app. This should be streamlined.

Proposal

Move all the user configuration controls to one view

Proposed Settings View
settings

🥳 [Feature] Redesign of Login View

Overview

The current Login and the Header need to change to reduce confusion for users. Many users mistake the latest Litecoin price with their balance. Also, some device layouts run out of space and some fiat currencies have multiple decimal places.

Feature Description

This feature will have to improvements.

  • Move the daily price to a obvious location
  • Remove the price from the header to give more space for the balance / local fiat value
  • Re-layout in the Login View for better UX

Definition of Done

  • Re-layout per @antematijaca design
    v1-login.png

  • Removed price from the header view
    remove.png

🦟[Bugfix] Send confirmation pin entry fails - no crash

Problem

When the user is ready to send they tap on the Send button. The modal requires a second PIN entry. This process sometime fails where the user must enter the PIN again.

Steps to reproduce

  1. Select and setup a transaction
  2. Tap on the Send button
  3. Read to the confirmation modal and tap Send again
  4. Enter the PIN in the PIN Required modal
  5. At the 4th digit the keyboard may dismiss
  6. Restart to enter the PIN
  7. View the Send confirmation

Section Screenshot/ Video Clip

Current - v3.4.0
pin-required.gif

Locks up when trying to send LTC using QR code

When I try to send LTC to an address using a QR code, I get to the point where it asks me for my password and then it locks up. Shortly after that, it gives me a local database error. I do not have the option is asking me to go to (Delete Database).
IMG_1201
IMG_1202

Sent 1 LTC to Blockcard - It disappeared from by blockcard balance

Describe the bug
5 days ago, I sent 1 LTC to my blockcard. It appeared in the balance shortly afterwards, but then disappeared.

To Reproduce
Send 1 LTC from Litewallet to Blockcard using QR code

Expected behavior
Transactions should not diappear

Screenshots
IMG_1216
blockcard

Desktop (please complete the following information):
IOS 14.3
Windows 10

Smartphone (please complete the following information):
Iphone 11
PC

Additional context

🦺[Tech Debt] Add Hide/Unhide Litecoin Card Tab Functionality

Why?

Implementing per the epic here: Hide/Unhide Card Tab Epic

Approach / Definition of Done

A few steps need to happen to make a better solution:

  • Add a switch in the Settings section to allow user to Unhide/Hide the Card tab.
  • At launch, the app should check the Locale to see if they are en-US / Locale.US or not
  • At launch, the Card tab should be shown/hidden based on the Locale
  • At launch, the switch should reflect the Locale status

Screenshots

Current Tab bar Proposed Tab bar for FR Proposed Tab bar for US
afterlivebalance.gif 4tab.gif new-phase2-modal.gif

🥳[Feature] ENS Support

Overview

Why?

Is your request related to a problem? Or, do you have an idea to improve the app? Please describe.
Support for ENS names for payments (ENS supports payments for all cryptos, including LTC; and in addition to .eth name also supports DNS names imported into ENS). You support Unstoppable Domains for some reason (a lower quality copy of ENS), and ENS has more features and is supported much much more widely.

What?

Describe the solution you'd like
Add support for ENS

Describe alternatives you've considered

Additional context
https://docs.ens.domains/dapp-developer-guide/resolving-names

Definition of Done

  • I'm able to send LTC to any ENS name in the app

UI Changes

Before After

🦺[Tech Debt] Add automatic swift code formatting [SwiftLint]

Goal

Now that there are multiple devs working on Litewallet code, this will provide more consistent formatting and will help the team read and manage the code base more effectively

Approach

There is a well-used tool to met this criteria called SwiftLint. This will be used by added it to the Podfile and the instructions

Definition of Done

  • Review the formatting switches
  • Review some test commits
  • Test code

🥳[Feature] Add Transfer Capability between Litecoin Card -> Litewallet

Overview

Final phase for the Litecoin card integration this should allow the user to transfer to Litewallet from Litecoin Card

Why?

Allow users to transfer Litecoin from their Litecoin Card accounts

Action

Litewallet Balance Litecoin Card Balance Action
>0Ł Card moves to allow deposit to Litewallet

This action is pre-staged as the clarification for the Ternio API needs to happen.
Search the codebase for: //DEV: Need to get information back from Ternio for more details

Test

Describe the bug

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Screenshots

Observed Environment

  • OS version [e.g. iOS 13.0]:
  • Litewallet Version [e.g. v3.4.0]:
  • Device model:[e.g. iPhone 11]:

Additional context or information

🦺[Tech Debt] Add dummy file for new Litewallet teammates to compile

Why?

The current process requires a few sensitive files for the project to compile. Yet, we have a few 🥳 new developers 🥳 that need to work on the project without access to the private files.

Approach

  • Create a dummy file and add it to the project
  • Add code under which the compiler and knows to reference the release vs. develop version files.
  • Files of concern:
  • partner-keys.plist

  • GoogleServices-Info.plist

✨[Polish] Improve Language Switching

Overview

The current implementation of iOS language switching in Litewallet works but ti relies on the user to return to the app. Apple made this process difficult and it should be more continous and less disjointed.

Why?

This newer iOS versions may allow a better solution

What?

Look of options: https://apple.stackexchange.com/questions/231000/ios-how-to-set-language-of-app-independent-of-iphone-ipad-language/371690#371690

Describe alternatives you've considered

Additional context

Definition of Done

  • Pick a more updated language capability in app
  • Implement
  • Test and submit PR

UI Changes

Show the before and after

Before After
ChangeLanguage

Bug - Litewallet iOS: Scanning a Private Key with zero balance crashes

Describe the bug
When using https://walletgenerator.net/?currency=Litecoin The scan causes a crash
To Reproduce
Steps to reproduce the behavior:

  1. Go to https://walletgenerator.net/?currency=Litecoin
  2. Generate a wallet and private Key
  3. Go to Menu > Import Wallet > Scan

Expected behavior

  1. Go to Menu > Import Wallet > Scan
  2. Litewallet tell me the balance added

Mobile (please complete the following information):

  • OS: iOS 14
  • Litewallet Version v3.2.0

[Tech Debt] Litewallet Feature: Development Switch

Value of feature
3 pts

Feature Name Value(Ł)
Development Environment Switch

Is your feature request related to a problem? Please describe.
When testing the builds of Litewallet, the team needs to test without relying on the developers experience.
There are an increasing number of partner integrations that require incremental testing

Describe the solution you'd like
Some the feature should include:
release that feature, someone is playing around in settings and toggles it. Then they cant buy ltc, and you see a spike in support cases. ... that if someone toggles to Debug mode, purposely or by mistake, then on the Buy tab, where you list the partners, you could show a banner or header that says "This apps environment is set to Debug, if you want to really buy Litecoin, toggle the Environment setting to Release" <- or something like that....

...switching to testnet or debug mode, would it just use partner stage urls? do you actually switch the litecoin network that displays your balance, allows for send and receives to be on testnet? (edited)

Describe alternatives you've considered
Do nothing

Mockup

Simulator Screen Shot - iPhone 12 Pro-boring-proud - 2021-01-26 at 15 20 30

Advanced Sync Improvement

The app provides a way to sync the Litewallet but the sync is slow and cumbersome. This should be improved once the BIP-157 & BIP-158 are implemented in the Litecoin protocol. These improvements significantly decrease the time it takes sync the blockchain.

Currently the Loafwallet-core library utilized the bloom filter method but this method is sub-optimal and the improvements will appreciated.

🦺[Tech Debt] Make CI/CD provider the gatekeeper of merges and test passage

Goal

The connected CI/CD Provider should notify the team that the changes of a pushed commit has triggered a build and the tests are run

Definition of Done

  • CI/CD provider runs a build when a commit is pushed to the repo
  • CI/CD provider runs tests on build
  • CI/CD provider communicates whether testspass or fail
  • CI/CD provider communicates the code coverage percentage to the repo

🦺[Tech Debt] Add monitoring of API server in client for notification

Goal

Make the team aware if the API server has an outage through the monitoring in the mobile app. Offer a message in the Buy + tab for users rather than a 521 Error code

Definition of Done

  • Add and test a monitoring function for when the mobile client first makes a query to the litewallet-mobile-api which fires a message/email to a mailing list
  • Add and test a monitoring function for when the mobile client first makes a query to any partner endpoint which fires a message/email to a mailing list
  • Select the recipients in the mailing list
  • Add a UI View explaining about the outage

🦺[Tech Debt] Remove Cruft: Bcash

Describe the work to be done
Remove any references to the original fork (Breadwallet) where Bcash was used. This was because Breadwallet was a BTC wallet and the BRD team were going to allow use of Bcash.

For us it causes confusion and problems maintaining the codebase. It must be removed safely

Definition of Done

  • Open a working branch and let @kcw-grunt know
  • Identify S,M,L refactors
  • Branch off the working branch and write issues for the refactors.
  • Test with older and newer iOS devices and simulators

🥳[Feature] Add Turkish Language support

Why?

In the customer support Help Center, we have many Turkish users.
Lack of language support causes confusion for them and the Turkish economy problems is drawing them to Litewallet.

Example

English Turkish
Hello! Thanks for donating to the Litecoin Foundation Merhaba! Litecoin Vakfı'na bağış yaptığınız için teşekkürler

Approach

  • Add Turkish as a new locale in Xcode
  • Find the Strings class / file
  • Confirm the Localizable.strings (Turkish) exists
  • Add the translations using Google Translate or DeepL

🥳[Feature] Add an option to use PIN or Biometrics ONLY before payments

Value of feature
5 pts

Feature Name Value(Ł)
Allow user to open Litewallet without PIN

Is your feature request related to a problem? Please describe.
I hate it when i just want to get into my Litewallet without a LOGIN
Describe the solution you'd like
Have a switch where I can choose to show the transaction and balance when I set a switch in settings.

Empirical Data

To get the users feedback, a poll was taken:

Twitter Poll
Screen Shot 2021-03-11 at 12 16 51 AM

Results / Recommendation

Clearly, many users want the option to turn that on and off.

Here are the steps to implement the feature that all users can benefit from:

  1. Default behavior requires the PIN and/or Biometrics of the launch of Litewallet
  2. Adds a switch in the Hamburger > Settings > Launch Litewallet without PIN or Biometrics
  3. Sending Litecoin still requires the PIN or Biometrics

🦺[Tech Debt] Remove cruft: BitID

Goal

Describe the work to be done
Remove any references to the original fork (Breadwallet) where BitID was used. This was a service to be used by the BRD team and was never implemented in Litewallet (or Loafwallet).

It causes confusion and problems maintaining the codebase. It must be removed safely

Definition of Done

  • Open a working branch and let @kcw-grunt know
  • Identify S,M,L refactors
  • Branch off the working branch and write issues for the refactors.
  • Test with older and newer iOS devices and simulators

🦟[Bug Report]force close

Describe the bug
-application force close before entering pin , issue happened after updating ios 15.1

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...' open app
  2. Click on '....' you not have chance for clicking, force close after 1-2 seconds
  3. Scroll down to '....'
  4. See error

Screenshots

Observed Environment

  • OS version [e.g. iOS 13.0]:iOS 15.1
  • Litewallet Version [e.g. v3.4.0]:3.6.1(3)
  • Device model:[e.g. iPhone 11]:Iphone 12 pro max

🦺[Tech Debt] CI/CD provider uploads signed production binary

Goal

When PR merges to the development and main branch the CI/CD provider should upload a signed binary

Definition of Done

  • Binary is uploaded to the platform dashboard platform App Store Connect or Play Store
  • Binary build number should increment each time

Bug - Litewallet iOS: Syncing is inaccurate

Describe the bug
Note: This is a different variation of an issue I previously logged. Yesterday I received some LTC and it showed up in my history just fine. It went through all the steps of processing (the percentage completion etc) and then showed as complete. Balance was correctly updated and everything was good. This morning, I sign in and see everything is good, but then all of a sudden, yesterday's transaction said something like "processing" and then magically disappeared from the history, and the balance was reduced. So there is some sort of persistent sync issue, that seems like when you sign in, sometimes it may not sync correctly, and just lose the transaction. It's like it connected to my history from before when I received the transaction. Syncing the blockchain fixes it, but the transaction should not disappear right before my eyes. I did notice something though. When I synced with the blockchain, all my transactions showed as "complete" but when I signed in for the first time, I don't believe any of them showed any status except the one that disappeared, as mentioned above. So, it's like Litewallet had no memory of any of the transactions ever being completed, although only the most recent one disappeared.

To Reproduce
Receive LTC and verify it shows as complete in the history. Close out of Litewallet. Sign in to Litewallet the following day. Look at the history. If the most recent receipt shows as "processing", it will disappear shortly.

Expected behavior
Once a transaction is completed, it should remain in history.

Screenshots
Did not have time to capture. The transaction was gone before I realized what was about to happen.

Desktop (please complete the following information):

Smartphone (please complete the following information):
iOS 14.4 iphone 11

Additional context

🥳[Feature] Export xpub key

Overview

Why?

Litepay operators can use the xpub key to sync their copy of Litewallet with their LTCPay server.

What?

Add a UI flow to allow the user to export the xpubkey.

Definition of Done

  • Add Tests that export function and copy and button functions
  • Create a model that creates the xpub key string
  • Add a cell in Settings > Blockchain > Export Xpub key
  • Add a view showing the xpub key and the supporting information

Draft of Changes / Workflow

Refer to : litecoin-foundation/Litewallet-Project#20

This changes would match the mockup:

Untitled87

🥳[Feature] Add ChangeNow

Goal

We have integrated 2 payment providers into Litewallets. They are highly successful. But some people want to trade or change one crypto <-> Łitecoin. We have waited for over a year and we need to provide this feature and we want to offer this option for our users.

Partner

ChangeNow

Approach

New Information

Using the API instead of the library.

🥳[Feature]: New Welcome Animation

Value of feature
13pts

Feature Name Value(Ł)
Add a new Welcome Animation

Is your feature request related to a problem? Please describe.
The current welcome view (shown when a user first installs Litewallet) is static and is inadequate

Current Welcome
welcome-current
Proposed Welcome
welcome-draft.png

Describe the solution you'd like
A typical animation and description of the tutorial for users

✨[Feature - Polish] Geo hide the Card tab when outside the US

Problem

A majority of our users are outside the US and the Litecoin Card is of no use to them at the moment. This is burdening our Customer portal.

Approach

  • Check though FB/Geolocation and or Default locale for the user
  • No GPS Frameworks! (this would drain the battery)
  • Hide the tab if they are outside the US
  • Add a switch in settings to allow user to unhide

Screenshots

Current (ex. Japan) New (ex. Japan)
animation-fi.gif lfclipmove.gif

🥳[Feature] Re-add Donation using SafariViewController

Overview

The donation UI caused an App Store rejection in Nov 2020. The solution was a fix that caused users to simply not donate in the iOS version because the donation page is hidden.

Why?

The small donations sent from users are the engine to improve Litewallet. We spend hundreds (USD) each month for tools and services the donations help quite a bit.

History

  1. This button was in the Send ViewController in the past. And this work should put it back in the same place,
Legacy Donation Button Location
Screen Shot 2020-10-11 at 1 31 43 PM
  1. Apple missed at first it but eventually rejected the implementation and the wording since LF are not a charity
  2. The only way to include it was that use a SafariViewController to drive users to a webpage (it can be a local .js or .html page)
  3. Here is the commit last version prior: 45bd44d
  4. Here is the current path to have users donate:
    Tap Hamburger > Tap Support the Litecoin Foundation > Copy address > _user must paste into send_..🤨💩

New UI/UX

The new flow should return the button to the SendViewController but there needs to have 3 steps:

  1. User must tap on the Give button
  2. User must read and tap send in the disclaimer (This can be the SafariViewController)
  3. UX navigates the user to the donation view

New-Giving

Approach

  • Review rejection language from Apple
  • Add code re-add the button in Send

[Bug] QR Decoder failed to recognize Litecoin URI

Problem

When trying to Add LTC address, the QR code was rejected.

Reality

The QR includes an URI which includes a prefix "litecoin:" which causes the failure.

Recommendation

Referring to https://en.bitcoin.it/wiki/BIP_0021, the Litecoin Core app produces a similar URI and should be parsed accordingly.

Environment

  • Device: iPhone xsMax
  • iOS Version: iOS 13.7
  • Litewallet version: v2.7.1 (5)
  • Other: ChangeNow Branch

Video Clips

Clip of Bug
ChangeNow-bech32

Environment

  • Device: iPhone xsMax
  • iOS Version: iOS 13.7
  • Litewallet version: v2.7.1 (5)
  • Other: ChangeNow Branch

Video Clips

Clip of Bug
ChangeNow-bech32

🥳[Feature] Add Bitrefill

Overview

Why?

Litewallet is meant as a platform for both sending and receiving Litecoin, but also enable Litecoin-related activities. So, it enables purchases of Litecoin, allows Litecoin Card visibility. Adding the Bitrefill functionality will allow users to buy gift cards with their Litecoin balances held in Litewallet.

What?

The feature would include a section in the Buy section in Litewallet where the user can select and order Bitrefilll cards.

Progression

There is the possibility of adding more integration. Consider allow users to add a Bitrefill gift card to Apple Wallet

Definition of Done

  • UI/UX Flow complete from selection to purchase
  • Add Tests

Branding

Square Logo Logotype
bitrefill@3x bitrefillLogoType

[Feature] Export transactions

Problem

Users may need to calculate gains and losses from sending/receiving LTC from their Litewallet.

Feature

Give the ability to export a csv file from Litewallet.

🥳[Feature] Add Transfer Capability between Litewallet and Litecoin Card

Overview

Final phase for the Litecoin card integration this should allow the user to transfer from to or from Litewallet or Litecoin Card

Why?

Allow users to transfer Litecoin between either

Action

Litewallet Balance Litecoin Card Balance Action
>0Ł Card moves to allow deposit to Litewallet
>0Ł >0Ł Either Litewallet icon or Litecoin Card can move to allow deposit
No movement or either
>0Ł Litewallet moves to allow deposit to Litecoin Card

Draft v1

LitecoinCardTransfer-v1

Before After

🦺[Tech Debt] Refactor project to allow sync on dev env.

Goal

Describe the work to be done
The basic spike and work to make sure all iOS devs workspaces are synced so pairing and discussions are aligned.

Definition of Done

  • Review the steps for dependencies
  • Test the proposed configuration with other agent accounts
  • Submit PR

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.