Technical Debt List #1410
Replies: 4 comments 4 replies
-
@MosCD3 @fc-santos @timbl-ont @jcdrouin21 @thiagoromanos FYI. Feel free to add to or comment on this list |
Beta Was this translation helpful? Give feedback.
-
Thanks @bryce-mcmath. I think the list captures much of what we are tracking and have raised in Bifold meetings. A couple of notes:
|
Beta Was this translation helpful? Give feedback.
-
@bryce-mcmath not sure if this would be part of the technical debt list, but one problem with the wallet currently is if the user changes phone, they have to go through the whole process again to obtain the credentials from the issuers they had before. |
Beta Was this translation helpful? Give feedback.
-
Here is another technical debt: maybe remove any components or views that are not being used anywhere anymore. Here are a few examples:
|
Beta Was this translation helpful? Give feedback.
-
This is an ongoing list of noted technical debt. If you are a Bifold maintainer, feel free to add to this list, if you are not you should still be able to add a comment with your suggestion and one of the maintainers will add it on your behalf.
Refactor✅mainStack
into it's own filePR: #1426
this is a simple one, it is currently unlike all the other stacks and is tightly coupled with its parentRootStack
componentcurrent approach is at risk of causing re-rendering issuesMerge✅NewQRView.tsx
withQRScanner.tsx
PR: #1440
NewQRView.tsx
is essentially the scan screen that is gated behind the developer setting, "Use connection inviter capability"Maintaining both views separately requires a bit of doubled effort and they are similar enough that they cause SonarCloud duplication failures.Should be merged and handle the different behaviour as one componentUpgrade React Native version✅PR: #1439
We would like to update to the latest RN versionThe architecture changed so this may be some effort0.73.5 might be a good starting point, lots of improvements + native debuggingFolder structure✅PR: #1487
replace legacy with just coremove app to samples folderrename App to srcState load, onboarding, and initialization logic✅PR: #1464
organize into a customizable sequence of steps, preferably an array, with each entry having a fairly uniform structure including metadata of whether a given step is completedprefer migrations rather than extra checks eg. rather than handle store values being more than one type, migrate existing users to the latest type that is expected as part of the loadState call / storage service fetchsimplify the many effect dependencies and messy functions that determine where to pick up if the user has not finished onboarding (this is mostly a problem in the splash screen)Releases✅PR: #1502
Move to@bifold
namespaceAdd the ability to publish major, minor, and patch stable releases (currently we only publish alpha releases)Refactor✅useInitializeAgent
and use of@credo-ts/react-hooks
lib so we can remove patchPR: #1512
addwalletSecret
as a parameterremove all thewalletSecret
dependencies and early returnsplace theAgentProvider
at a lower level in the component tree around only the components / stacks that are past authRemove unused / dead components✅PR: #1512
ModularView (components/views/ModularView.tsx)Label (components/texts/Label.tsx)Title (components/texts/Title.tsx)NotificationModal (components/modals/NotificationModal.tsx)Implement path aliasing for imports
import ThingA from '../../../../../components/misc/ThingA'
in favour ofimport ThingA from '@components/misc/ThingA'
Componentize and rename
QRScanner.tsx
ScanScreenContent.tsx
or something along those linesProof request logic
Simplify OCA logic
useBranding
hook and maker wider use of itoca
packageNavigation structure / componentization
Screens
enum should only be for one screen, none used more than once in different stacks. eg.Screens.EnterPIN
being used in two separate stacks for both wallet unlock and biometrics change confirmation would becomeScreens.EnterPIN
for the former andScreens.VerifyPIN
for the latter, with only components in commonExpo Support
Credential card component should be generalized
Beta Was this translation helpful? Give feedback.
All reactions