Xcode updates
Localization
Pods upgrade
Update package.json
Upgrade android
Fix gitignore
Add flipper
Do not enable flipper by default on ios
maven update
Remove outdated hermes
idk what it is, but it's outdated
show warning on build
gradle update
rebase
Update deprecated clipboard
nix
align e2e to rn upgrade
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
fix header title spacing
Remove translate animation
Add press for profile header
Rebase
Attempt to fix e2e
Add back button accessibility-label
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
When the account card is scrolled out of view a send/receive button group
appears at the bottom of the asset list; uses native animation to raise and
lower the button group into and out of view.
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
fix for universal link not opening properly when app was closed with
back button, returning nil instead of the url
Signed-off-by: yenda <eric@status.im>
- only show notifications when app is in background
- open the user chat upon tap on notification
- remove chat from notifications on tap or dismiss notification
- keep the service alive on host destroy
- enable local notifications
Add text component
Add header component
Change animated root ns
Add spacing design tokens
Add components preview
Add Readme
Add safe area components
Use reanimated from component library
Add colors tokens
Add inherit style for text
Add animated header component
A view with header which can be animated on scroll, used in walled, profile and contact screens
Persist previews navigation state
Rename component library into Quo
Document colors
Extend readme
Header handle long titles
Add InterStatus as monospace font
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Prior to this commit, deleted accounts would stay in the database but
set to `nil`. With this change accounts are properly removed from the database
when scheduled for deletion.
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
As discussed in #10326 and later in https://github.com/status-im/status-go/issues/1939, it turns out
that, when a user tries to add an account (from a seed phrase), while an account
with the same address (that the seed phrase would result in) exists in the application
state, the application would still go ahead and store the derived account in
status-go.
After that it still reports to the user that the 'Account already exits'.
This commit ensures that Status doesn't try to store the derived account when
the account already exists in the application database.
Fixes#10326
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
Usage of `Keycard.generateMnemonic` is removed from the code as we
always generate new multiaccounts on status-go side. Previously it was
misused and was called with intention of generation of mnemonic for an
existing keycard multiacc.
In some cases message confirmations might arrive out of order, before
status-go calls the callback for a sent message.
This commit changes the behavior so that confirmations out of order are
not ignored and they are checked when the callback for sending message
is called.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Fixes: #10297Fixes: #10274
Before if a reply was missing (for example if it the message replied to
arrived after the reply) status-react would subscribe to it dynamically
and use that. This caused some flickering issues when offloading the
messages from the database, as the message being replied to would be
offloaded and later loaded back again, triggering scroll and ending up
in a loop.
This commit changes the behavior so that status-go always adds the
reply to the message. In case the message being replied to arrives after
the reply, this will be included in the message update, and status-react
will replace it in the local storage.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
All leading and trailing whitespace is now removed from strings derived from QR
codes, both in the case of `get-qr-code-data` (real camera) and
`qr-test-view` (mock camera).
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
- wasn't able to reproduce the issue as it seems that all inputs are already
properly turned to lower case
- added :auto-capitalize :none property to the input field though to ensure
the keyboard doesn't force the user to start with an uppercase later
Signed-off-by: yenda <eric@status.im>
add a check on the function that adds the stateofus domain to
usernames. if the username already contains a domain, don't
concat stateofus domain to it
Signed-off-by: yenda <eric@status.im>
Prior to this commit `sign-message-completed` effect would always use
the `wrong-password` label for error handling. We now ensure that `wrong-password`
is only used in case the error in question has a code `5`, which is
associated to unmatching passwords.
In any other case we'll use the `message` attached to the `error`.
Fixes#8275
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
Fixes: #10249
We were using seconds instead of seconds, therefore the gap would always
end up as last.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Set font-size and line-height for text-input
Add min height to seed phrase
Min 3 lines for phrase fixes#10121
Increase touchable area for text-input
Fix wrong styles on mailserver inputs
Fix wallet wrong styling on text input
Make seed phrase centred on ios
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Add search for contacts
Add format name inside contact
Add back button on create group
Fix current contact name and alias
fixup
Update UI for group chat profile
Fix tests
Ui clean up
fix change group chat name
Add leave group chat option
Hide options if user has left the chat
Use modal for all required chat screens
Add dark mode to group chats
Fix offset 10 pt off screen on presentation modals
Wrap keyboard avoiding view with safe area offset
Keep only leave chat
Fix search input focus
Make edit name active when title not changed
Fix lint
review cleanup
QA review
Fix group chat inviter name
Fit flat list into container
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Changes:
- Includes `VERSION` file in source for `jsbundle` derivation
- Includes `BUILD_NUMBER` file and it's generation scripts
- Includes minimal `.git` files to make `git rev-parse --short HEAD` work
- Implements `ignoreVCS` for `mkFilter` to be able to include `.git` files
- Adds missing `git` and `bash` to `buildInputs` for `jsbundle` derivation
- Dropped `bash -c` from Clojure code calling `git`
Signed-off-by: Jakub Sokołowski <jakub@status.im>
If a message is hidden and is not currently loaded, it will not be
marked as read, resulting in the count being always positive. To avoid this
we always mark it as read, and from the backend we return whether it has
been marked as read or was already seen.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
In some instances when receiving messages from a mailsever in the chat
you are in, the flag `all-loaded?` would not be reset, meaning that
messages not in the current view would be added to the db, but would not be seen until actually
reloading the chat (go back home, open again).
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Fixes: #7333
Validates enode url if blank as well, so `Save` button is disabled.
Handles as well if for any reason invalid values are passed.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Handle default case for ens confirmation
Before navigation away the registration state is cleared and case does not handle default value for nil
Remove extra space on home button
Remove outdated options
Fix e2e
Change navigation replace arguments as per rn5
Fixes#10178
Dispatch navigation later
Do not restore state for react-native-screens
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Get rid of navigation wrapper
Use new API to declare navigation
Update tabbar component
Update to use new navigation events
Add ios presentation modal
Navigation cleanups
Android specific updates
Use letsubs for stack subscriptions
Keycard did load event backward compatibility
Fix tabbar and wallet on-focus bad rebase
Do not keep welcome screen into the stack
Comment outdated test
Fix rebase on home PR
Cancel back button on screens which can't be popped
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
This commit ensures that a user can flawlessly interact with a keycard,
regardless of the moment when the card was tapped to the device. To make
it so:
- in case if the card was tapped before the interaction the user doesn't
need to re-connect card to continue
- in case if the connection with the card was lost during the interaction
the application restarts that interaction as soon as the card was
connected again (unless the user canceled the flow)
While on tabs we want a slightly different behavior:
Unread counter should increase, message should be loaded in the chat
On moving to the chat tab from one of these tabs, it should mark the
messages as seen.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
This commit allows setting waku-mode and waku-bloom-filter-mode
dynamically.
It requires a relogin for the changes to take effect.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Remove screens that are not needed for new flow
Replace keycard flows with new interaction
If card connected start processing on sheet open
Remove outdated pin screens
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Do not hide sheet when tag was lost during generating keys
Change cancel action for no-key on card recovery
Change pin screen when loading keys to an initialised card
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Using last visible message ignores an edge case:
If we are on top of the list (i.e oldest message), any received message
should be appended (it must be visible).
When using last-visible message for this, a newer message will have <
clock-value, therefore it will be offloaded to the database, which is
not correct.
Instead if we use the first-not-visible message, this should not be a
problem. If we are on top of the list, this will be nil, and therefore
the message will be appended.
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
Do not change auth method if user does not save password
Sanity check - fix only for biometric method
Check for new auth method only when save password
ScrollView Persist taps on login view
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
- unused code is removed
- "load more" button is hidden for a new account
- each next page of tx history contains 20 transfers
unless thare is no enough transfers in history
Add bottom sheet to message long press
Make whole bottom sheet panel dragable
Fixes #9846
Use spring animation for bottom size of bottom sheet
Remove extra border height from bottom sheet
The height is already added to content height
Remove extra set value for animation
Timing and spring already mutates the animation value
Reuse chat bottom sheet in chat list
Update the size of new chat bottom sheet
Add remove to group chat
add chat id for clear history to be reused outside of current chat
Fix public chat bottom sheet missing destructoring
Replace icon for chat fetch history
Could be rotated arrow up, but this requires special handling in icons or list item
Fix remove public chat event
Dismiss keyboard on sheet mount
iOs rename arrow down icon
Fix unusable screen after close of bottom shet
The callback is called after 1.5 seconds after the animation starts. This happens because spring animation takes more time on animating post animation oscillations.
Add accessibility labels
Fix bad message destructoring
add view profile on long message press
Reset bottom value after animation
Remove pending circle from avatar in chat sheets
Do not show open profile on own messages
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
This commit does a few things:
1) Messages are offloaded from any chat once we go back from the home.
This allows us to ignore any message that is coming in from a chat we
are not currently focused.
2) After 5 seconds of not-scrolling activity, any received message that
is not currently visible will be offloaded to the database.
3) Similarly received messages that are not visible will be offloaded to
the database directly
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
We check that ENS does not return an empty public key. In addition to
that validation is done on status-go in order to avoid saving the chat.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
This commits resolves ENS names in the background, implementing retries
and exponential backoff.
All is handled in the background in status-go.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Storing absolute path for different configs breaks compatibility on iOS
as app's dir is changed after upgrade. The solution is to store relative
paths and to concatenate it with `backend.rootDataDir`. The only
exception is `LogFile` as it is stored outside `backend.rootDataDir` on
Android. `LogDir` config was added to allow adding of custom dir for log
file.
Configs concerned:
`DataDir`
`LogDir`
`LogFile`
`KeystoreDir`
`BackupDisabledDataDir`
Add contact indicator in 1:1 as a text. Fixes#9826
Fix e2e
explicitly define line height
On android and iOs line height is different, explicitly define so it will be the same in both platforms.
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Front end changes:
As there is no guarantee that `newblock` event will be dispatched
consequently (e.g. if there was a delay after block#1 the next event
might be dispatched for a block#2000, no guarantee that block#2 will be
the next one), `newTransactions` field was added with a map of accounts
to the number of new transactions received to this block. In result if
there are new transactions we request them all of db instead of fetching
them on for the block specified in `newblock` event, as it was done
previously.
Back end changes:
- In order to avoid handling of the reorganized blocks we use an offset
from the latest known block when start listening to new blocks. Before
this commit the offset was 15 blocks for all networks. This offset is
too big for mainnet and causes noticeable delay of marking a transfer as
confirmed in Status (comparing to etherscan). So it was changed to be 5
blocks on mainnet and is still 15 blocks on other networks.
- Also before this commit all new blocks were handled one by one with
network specific interval (10s for mainnet), which means that in case of
lost internet connection or application suspension (happens on iOS)
receiving of new blocks would be paused and then resumed with the same
"speed" - 1 blocks per 10s. In case if that pause is big enough the
application would never catch up with the latest block in the network,
and this also causes the state of transfers to be delayed in the
application. In this commit in case if there was more than 40s delay
after receiving of the previous block the whole history in range between
the previous received block and ("latest"-reorgeSafetyDepth) block is
checked at once and app catches up with a recent state of the chain.
We should only start receiving messages/processing topics once all the
initializiation is completed, so an endpoint that start the messenger
has been added.
Before we would initialize the topics/receiving messages at the same time,
which resulted in a race condition where a topic was signaled from
status-go and was considered new just because was not loaded yet.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
Handle ens-name in qr reader
If user has an username generate link with it
Ensure no infinite recursion happens on qr scan event
Fix test for custom profile ens-name
Fix QR code read for ens-name
Extra check for ens name in QR code
Do not open unknown profile for bad ens name
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
When moving from chat to chat, component-did-mount is not fired as the
component is never unmounted, therefore messages were not loaded.
This changes the behavior to use the component-did-update lifecycle
method.
Signed-off-by: yenda <eric@status.im>
This commit fixes a couple of issues.
The first one is that when we go from offline->cellular-network->wifi
historical requests were not triggered (only when going from
offline->online, but if they are disabled in cellular network they won't
fire).
The second is due to the fact that it is possible that the connection
status gets into a bad state, (this happens for example if get-latency
returns all errors, but we are online, and it won't be retried), and no
connection attempt is made anymore.
I have changed the logic to periodically check the connection state, and
try to connect if too much time has passed since last error (10s),
similarly to what we did before, but in a tick, so we are less reliant
on having the right state in the db.
Signed-off-by: yenda <eric@status.im>
Fixes#9884 React modal is drawn above the app (maximum z-index) while the bottom sheet and popover are part of the app. https://facebook.github.io/react-native/docs/modal.html documentation also suggest to not use modal in that case cause we lose some control over navigation. Now modal are handled by navigation and we can draw our popover and bottom sheet on bigger z-index and better control what should be on the top.
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
- all messages are not shown right away, in order to paginate history
a user has to press "load more" button
- added link to etherscan before transfers list
- there is a new "fetch more" button at the end of the list
- rest of changes can be found here status-im/status-go#1775
This adds a feel that it is opened already on the desired index
Add input margin only when there's no bottom shet
Use the right height for sticker panel
Use the stickers panel height in extensions panel
Fix indentation on stickers view
Remove extra margin on stickers indicator
Use custom panel height on android
Rename chat panel height subscription
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Add animated assets on intro screens
Add component for video on home view
Did not use it for now - as the asset for that video is broken
Do not justify center videos in intro
Update video assets for home view
fix generate-nix.sh script for maven deps
Signed-off-by: Jakub Sokołowski <jakub@status.im>
add missing android-scalablevideoview dependency
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Fix center position of videos in onboarding
Use image for sample key in android
Because during animation transition in creates a black background
Add play when inactive for ios
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Update the rounded corners on all messages
Update paddings and margin for message author
Move timestamp 3pt from bottom
Fix miss-placed padding in message author name
Add margin between emoji and timestamp
Change reply icon
Decrese font size of emoji message
Remove extra space in style map
Remove extra margin between author and message
Replace reply icon with glymph
Update Inter font to support new glyphs
Update paddings for reply author
Update timestamp padding from bottom
Added line-height explicitly to support it cross platform. Otherwise android and ios use different size.
Remove margin right space on usernames
Remove hardcoded width of messages
Use same line-height for all types of names
Add background to emoji
Bug in RN emoji cropped on smaller line-height https://github.com/facebook/react-native/issues/18559
Fix reply on user with ens name
Fix message margin top should be always 4
Add minimal fix for ui in ens name screen
Remove extra computations for timestamp position
Update e2e test
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Fix misspelled wallet
Change glossary position in help center
Fix wrong padding on the view
Make letter transition more smooth
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
Makes the view stretch to the size of safe area instead of moving it from bottom. Fixes transparent background on navigation animation iPhoneX. Fixes#9695
Do not set cover bg on android
Signed-off-by: yenda <eric@status.im>