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

v9.2.0 - Seamless DApp Browser #1341

Merged
merged 234 commits into from
Jan 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
234 commits
Select commit Hold shift + click to select a range
73b03e7
create and persist dapp browser tabs
svojsu Nov 19, 2024
65b9f32
more tabs persistence logic added
svojsu Nov 20, 2024
a58bb0e
handle new tabs and current tabs updates
svojsu Nov 20, 2024
a8d70a8
Merge branch 'develop' into feature/dapp-browser-tabs
svojsu Nov 20, 2024
9a8ee70
fix operations
svojsu Nov 20, 2024
0244de6
use cached webview
svojsu Nov 20, 2024
506ea81
grid UI integrated
svojsu Nov 20, 2024
e387f62
render caching logic
svojsu Nov 21, 2024
8c2bd1b
update render for tab
svojsu Nov 21, 2024
75f4e28
open tab from tab list fix
svojsu Nov 21, 2024
1965fe3
fix reloads on tab change
svojsu Nov 21, 2024
0984c5c
transport state handling fixes
svojsu Nov 21, 2024
34f9eda
add toolbar for tabs view
svojsu Nov 21, 2024
5078265
open new tab action
svojsu Nov 21, 2024
0f1ad85
close all action
svojsu Nov 21, 2024
22ba33c
handle errors
svojsu Nov 21, 2024
26a8dfe
close button fix
svojsu Nov 21, 2024
079632a
get rid of dApp in browser modules
svojsu Nov 21, 2024
cc465a1
clear renders on tab delete
svojsu Nov 21, 2024
395986b
sort tabs on receive
svojsu Nov 21, 2024
2e9c6ba
close tab cell action
svojsu Nov 21, 2024
7c3e4ac
prepare collection cell to reuse
svojsu Nov 21, 2024
7778e61
add marks
svojsu Nov 21, 2024
3b8b1e6
fix
svojsu Nov 21, 2024
3ae19a6
add WebViewRenderFilesOperationFactory interface for RuntimeFilesOper…
svojsu Nov 22, 2024
bbc7eac
fix
svojsu Nov 22, 2024
2958610
fix remove tab wrapper
svojsu Nov 22, 2024
4c62999
fix tests
svojsu Nov 22, 2024
37b5483
DAppBrowsderInteractor fixes
svojsu Nov 22, 2024
4537d90
animated zoom transition
svojsu Nov 22, 2024
4c40f37
Parent FilesOperationFactory added for runtime files and webview rend…
svojsu Nov 23, 2024
a5cc1d2
review fixes
svojsu Nov 25, 2024
891cf53
diffable datasource and tab manager write sync
svojsu Nov 25, 2024
28accd3
errors fix
svojsu Nov 25, 2024
36eed77
Open new tab after getting search result
svojsu Nov 25, 2024
3a591af
fix
svojsu Nov 25, 2024
abae7e4
more fixes
svojsu Nov 25, 2024
62b6154
Merge branch 'feature/dapp-browser-tabs' into feature/dapp-tab-animation
svojsu Nov 26, 2024
d92c507
sync source and zoomed views
svojsu Nov 26, 2024
64914eb
tab open/close animation fix
svojsu Nov 26, 2024
ddf08ef
new ui for actions
svojsu Nov 26, 2024
8693c7c
secure url color indication
svojsu Nov 26, 2024
cece6a9
favorites fix
svojsu Nov 26, 2024
1b80ebe
animation fixes
svojsu Nov 26, 2024
0563db6
don't persist tab before page load
svojsu Nov 27, 2024
c8789ab
navigation fix
svojsu Nov 27, 2024
e1b8bd7
fix tab counter
svojsu Nov 27, 2024
ea2d9b1
move files
svojsu Nov 27, 2024
c62faf4
generate modules
svojsu Nov 27, 2024
6a67ef1
widget module implemented
svojsu Nov 27, 2024
f17e105
factory fix
svojsu Nov 27, 2024
c1c18e0
implement container
svojsu Nov 27, 2024
e37fb0f
fix title
svojsu Nov 27, 2024
6893aae
localization for widget title
svojsu Nov 27, 2024
d73e772
use NovaMainAppContainer
svojsu Nov 27, 2024
837f16c
fix typo
svojsu Nov 27, 2024
b00cd96
navigation for widget
svojsu Nov 27, 2024
03333f2
implement open/close animation and navigation
svojsu Nov 28, 2024
1d31712
transition coordination
svojsu Nov 29, 2024
58e430e
fix widget title
svojsu Nov 29, 2024
6d858c5
minimize from browser with tab on screen
svojsu Nov 29, 2024
d930f14
close transition fix
svojsu Nov 29, 2024
8a63e24
navigation fix
svojsu Nov 29, 2024
7e64b6b
error handling
svojsu Nov 30, 2024
260394d
webview state render and animation fixes
svojsu Dec 1, 2024
9d1d35e
Merge pull request #1287 from novasamatech/feature/dapp-browser-tabs
svojsu Dec 2, 2024
dd71744
Merge pull request #1290 from novasamatech/feature/dapp-tab-animation
svojsu Dec 2, 2024
b1d7827
Merge pull request #1291 from novasamatech/feature/dapp-browser-new-ui
svojsu Dec 2, 2024
e609db3
fix tests
svojsu Dec 2, 2024
c0236eb
Merge pull request #1292 from novasamatech/feature/dapp-browser-tabs-…
svojsu Dec 2, 2024
4b22bcf
dapp transports setup fix
svojsu Dec 2, 2024
5ab4016
categories changes
svojsu Dec 3, 2024
7c72f58
implement new compositional layout
svojsu Dec 4, 2024
6097077
formatting
svojsu Dec 4, 2024
9fa8ce9
fix view model
svojsu Dec 4, 2024
994dad8
layout additions for every section available
svojsu Dec 5, 2024
5f27b72
fix layout for dapp groups and favorites
svojsu Dec 5, 2024
927301f
new actions layout
svojsu Dec 6, 2024
c789ecb
select dapp
svojsu Dec 6, 2024
d4cbcc3
category select with routing to search
svojsu Dec 6, 2024
042d136
base layout and logic
svojsu Dec 6, 2024
06b8847
reorder favorites feature
svojsu Dec 6, 2024
aed2c52
remove favorite feature
svojsu Dec 6, 2024
aea0ea3
show categories for favorites
svojsu Dec 6, 2024
0638dec
open tab feature
svojsu Dec 6, 2024
74b9177
don't persist categories for favorites
svojsu Dec 6, 2024
64dd837
fix category section mapping
svojsu Dec 6, 2024
a46f1b0
fix layout changes on browser minimize
svojsu Dec 6, 2024
c171344
layout fixes, skeletons, errors
svojsu Dec 9, 2024
9a82705
Merge branch 'feature/new-dapp-list-redesign' into feature/dapp-favor…
svojsu Dec 9, 2024
8d60889
error state fix
svojsu Dec 9, 2024
42f7986
Merge branch 'feature/new-dapp-list-redesign' into feature/dapp-favor…
svojsu Dec 9, 2024
903c0d3
presenter marks
svojsu Dec 9, 2024
5cc09e4
implement custom card presentation
svojsu Dec 9, 2024
62798fd
implement custom transitions
svojsu Dec 10, 2024
17f25c4
typo fix and moving files
svojsu Dec 10, 2024
23d93c4
use new presentation across the app
svojsu Dec 10, 2024
21191ff
fix layout bugs
svojsu Dec 10, 2024
3e394a3
review fixes
svojsu Dec 11, 2024
802ad03
update tests
svojsu Dec 12, 2024
3c396b6
Merge branch 'feature/new-dapp-list-redesign' into feature/dapp-favor…
svojsu Dec 12, 2024
c467af0
Merge pull request #1296 from novasamatech/feature/dapp-favorites-list
svojsu Dec 12, 2024
b4eb9d8
Merge pull request #1295 from novasamatech/feature/new-dapp-list-rede…
svojsu Dec 12, 2024
f38d5c6
transitions and animations fixes
svojsu Dec 12, 2024
278997a
review fixes
svojsu Dec 12, 2024
0ffda38
formatting
svojsu Dec 12, 2024
12a0a5b
call store for WEbViewRenderImageViewModel
svojsu Dec 12, 2024
98b68ff
add scrolling to last tab and fix typo
svojsu Dec 12, 2024
6e80f91
fix compositional layout for dapp list
svojsu Dec 12, 2024
c8312bf
initial widget appearance if tabs persisted
svojsu Dec 12, 2024
a8d934b
clear script message handlers on webview change
svojsu Dec 12, 2024
2bd2e2d
WebViewPool additions and tab manager 'readers-writer' fix
svojsu Dec 12, 2024
ba90da7
fix crash on non-root auth
svojsu Dec 12, 2024
2d9369e
save tab state on app WillResignActive
svojsu Dec 12, 2024
50ca3b7
close button fix
svojsu Dec 12, 2024
79239f4
fix tests
svojsu Dec 12, 2024
0072b54
Merge branch 'base/seamless-dapp-browser' into feature/custom-modal-p…
svojsu Dec 13, 2024
7b4e0a4
review fixes
svojsu Dec 13, 2024
05729f5
fix transports cleaning
svojsu Dec 13, 2024
dfdf849
Merge pull request #1300 from novasamatech/fix/fix-bugs-and-review-no…
svojsu Dec 13, 2024
12d4c1e
Merge branch 'base/seamless-dapp-browser' into feature/custom-modal-p…
svojsu Dec 13, 2024
06cffe0
merge fix
svojsu Dec 13, 2024
920d31d
present card layout from tab bar context
svojsu Dec 15, 2024
76c968e
add dimming view and layout update on browser widget close
svojsu Dec 16, 2024
fa3f8f6
layout fix
svojsu Dec 16, 2024
8c0228d
Merge branch 'develop' into base/seamless-dapp-browser
svojsu Dec 16, 2024
81edd1c
Merge branch 'base/seamless-dapp-browser' into feature/custom-modal-p…
svojsu Dec 16, 2024
b5ffc19
add siri paw icon for tabs button
svojsu Dec 18, 2024
880d814
fix modal presentation for balance breakdown
svojsu Dec 18, 2024
9c8c01e
fix category icons tint and restoring
svojsu Dec 18, 2024
415075a
dapp browser module fixes
svojsu Dec 19, 2024
368685b
fix browser widget view underlying blur view and use constants
svojsu Dec 19, 2024
f66263d
fix tabs button compressing resistance on animation
svojsu Dec 19, 2024
f352f70
zoom transition improvements
svojsu Dec 19, 2024
4090e9c
close all tabs alert for browser widget
svojsu Dec 19, 2024
0853ce3
clear in memory state for dApps on wallet change
svojsu Dec 19, 2024
982b666
fix navigation
svojsu Dec 19, 2024
4b248dc
browser widget animation tuning
svojsu Dec 19, 2024
40517ad
review fixes
svojsu Dec 20, 2024
109358d
Merge pull request #1312 from novasamatech/fix/dApp-browser-fixes
svojsu Dec 20, 2024
8b51684
Merge branch 'develop' into base/seamless-dapp-browser
svojsu Dec 20, 2024
3f15e56
Merge branch 'base/seamless-dapp-browser' into feature/custom-modal-p…
svojsu Dec 20, 2024
01775db
prevent screen sleep during swap
ERussel Dec 21, 2024
71e464f
Merge pull request #1316 from novasamatech/fix/idle-while-swap
ERussel Dec 23, 2024
bc5d72b
allow generic address in DApp
ERussel Dec 24, 2024
78729c5
ModalCard Presentation Factory implemented
svojsu Dec 24, 2024
82c7044
Merge branch 'feature/custom-modal-presentation' into fix/card-modal-…
svojsu Dec 24, 2024
50429e8
Merge pull request #1318 from novasamatech/fix/dapp-browser
ERussel Dec 24, 2024
a8942f9
bugfixes
svojsu Dec 27, 2024
e26233a
fix hiding bars after orientation changes
svojsu Dec 27, 2024
892a76d
clean view hierarchy on widget close
svojsu Dec 27, 2024
f70cf4d
show and hide categories
svojsu Dec 27, 2024
adea36a
wip refactor native balance
ERussel Dec 27, 2024
dbf46a1
progress
svojsu Dec 27, 2024
a743b02
fix close browser widget
svojsu Dec 27, 2024
7477d1b
add fungibility restriction validation
ERussel Dec 27, 2024
b10af6b
moved fungibility logic into separate provide
ERussel Dec 28, 2024
3015bd9
integrate fungibility validation into crosschain transfer
ERussel Dec 28, 2024
607db03
fix tets
ERussel Dec 29, 2024
ad9ab8c
filter intermediate paths that require keep alive
ERussel Dec 30, 2024
fc6d8ed
Merge pull request #1320 from novasamatech/fix/max-fungible-xcm
ERussel Dec 30, 2024
00470d1
introduce new card modal transition with ModalCardPresentationFactory
svojsu Dec 30, 2024
cf71882
[wip] fix bifrost
ERussel Dec 30, 2024
dba4f22
update modals layout on browser widget close
svojsu Dec 30, 2024
64c5882
remove delegates references
svojsu Jan 2, 2025
6f99f7e
fix important flow navigation presented in card
svojsu Jan 2, 2025
761eadb
refactor xcm arrival detection to support multiple matchers
ERussel Jan 3, 2025
f34702f
various fixes
svojsu Jan 3, 2025
c6468d7
editable table case processing
svojsu Jan 3, 2025
b1d4d45
Merge branch 'fix/card-modal-presentation' into fix/dapps-fixes
svojsu Jan 3, 2025
d636f01
Merge branch 'develop' into fix/dapps-fixes
svojsu Jan 3, 2025
08e6436
merge fixes
svojsu Jan 3, 2025
1b5dcb4
Merge branch 'develop' into base/seamless-dapp-browser
svojsu Jan 3, 2025
7739d6b
Merge branch 'base/seamless-dapp-browser' into feature/custom-modal-p…
svojsu Jan 3, 2025
cd08ca3
Merge branch 'feature/custom-modal-presentation' into fix/dapps-fixes
svojsu Jan 3, 2025
cf67f05
fix header button for dapp list collection
svojsu Jan 3, 2025
954b0a2
fix cells moving in modal card presentation
svojsu Jan 3, 2025
2ff3b51
review fixes
svojsu Jan 6, 2025
76fe3ab
Disable interactive dismiss for for dapp confirmation and swap execut…
svojsu Jan 6, 2025
597351c
review fixes
svojsu Jan 6, 2025
57818bb
Merge branch 'feature/custom-modal-presentation' into fix/dapps-fixes
svojsu Jan 6, 2025
b3fbf32
wrap bytes if not wrapped before signing in DApp browser
ERussel Jan 7, 2025
011bcfd
Merge pull request #1324 from novasamatech/fix/bytes-signing
ERussel Jan 7, 2025
8f73563
Merge pull request #1323 from novasamatech/fix/bifrost-xcm-detection
ERussel Jan 7, 2025
f8c4aa9
clip top container views
svojsu Jan 7, 2025
0ff97bd
fix your wallets presentable
ERussel Jan 7, 2025
1bd54d4
Merge pull request #1325 from novasamatech/research/modal-presentatio…
svojsu Jan 7, 2025
e2a5356
Merge pull request #1319 from novasamatech/fix/dapps-fixes
svojsu Jan 7, 2025
a4aecf9
Merge pull request #1297 from novasamatech/feature/custom-modal-prese…
svojsu Jan 7, 2025
ddb2d38
bind DAppBrowserTab entity with metaId
svojsu Jan 7, 2025
98cdaf3
operate on tabs based on selected wallet
svojsu Jan 8, 2025
6396555
Show dialog when closing multiple tabs on tabs manager screen
svojsu Jan 8, 2025
88cb57d
close tabs manager screen on close all
svojsu Jan 8, 2025
095ab95
don't filter categories with dApp search query
svojsu Jan 8, 2025
e8570d7
query and selected category filtering logic for favorites
svojsu Jan 8, 2025
cd2803c
Merge pull request #1327 from novasamatech/feature/tabs-for-wallet
svojsu Jan 9, 2025
3615b63
pass PolkadotExtensionMessageSignFactory to DAppSignBytesConfirmInter…
svojsu Jan 10, 2025
b1cdd0c
fix xcode install
stepanLav Jan 10, 2025
01987c9
fix: try 16.1
stepanLav Jan 10, 2025
73d1ddb
fix: set 16.1
stepanLav Jan 10, 2025
c78e242
Merge pull request #1329 from novasamatech/fix/fix-tests-to-support-n…
svojsu Jan 10, 2025
51a86d9
Merge pull request #1328 from novasamatech/fix/ci_build
svojsu Jan 10, 2025
c2ed5f6
Merge branch 'develop' into base/seamless-dapp-browser
svojsu Jan 10, 2025
8418962
Merge branch 'base/seamless-dapp-browser' into fix/dapps-fixes
svojsu Jan 10, 2025
7650349
fix browser container layout to support both portrait and landscape
svojsu Jan 12, 2025
d59e2cf
fix widget frame calculation and banner section for dapp list
svojsu Jan 13, 2025
19af0e9
favicon fetch logic for dapps
svojsu Jan 13, 2025
5893073
fix dapp matching when adding to favorites
svojsu Jan 13, 2025
999ac8c
disable landscape on browser close
svojsu Jan 13, 2025
8d6ccc5
move makeTransition method to private extension
svojsu Jan 13, 2025
17d6aa0
add dapp icon view model factory for dapp auth request flow
svojsu Jan 13, 2025
15c8f57
fix tests
svojsu Jan 13, 2025
883bfd8
WalletDeleteStorageCleaning top level implementation
svojsu Jan 14, 2025
6af6608
review fixes
svojsu Jan 14, 2025
24b3bd1
Merge pull request #1330 from novasamatech/fix/dapps-fixes
svojsu Jan 14, 2025
45503bb
Merge branch 'base/seamless-dapp-browser' into feature/deleted-wallet…
svojsu Jan 14, 2025
592a4b0
implement browser state cleaning for removed wallet
svojsu Jan 14, 2025
a79a5e7
add new test and fix existing
svojsu Jan 15, 2025
0ac1b90
add DAppSettingsCleaner
svojsu Jan 15, 2025
db126f1
review fix
svojsu Jan 15, 2025
6629fd1
Merge pull request #1331 from novasamatech/feature/deleted-wallet-sta…
svojsu Jan 15, 2025
92a6fa4
fix presentation
svojsu Jan 15, 2025
f80bc11
Merge pull request #1332 from novasamatech/fix/present-fix-for-asset-…
svojsu Jan 15, 2025
0bd1d60
add dapp icons for browser widget and tabs manager
svojsu Jan 15, 2025
d955511
Merge pull request #1333 from novasamatech/feature/dapp-icons-for-wid…
svojsu Jan 15, 2025
6af7ee4
add localised strings
leohar Jan 15, 2025
8a7d18a
fix memory leak
svojsu Jan 15, 2025
b6d65ce
Merge pull request #1334 from novasamatech/sdapp-localisation
svojsu Jan 15, 2025
c6b0819
Merge pull request #1336 from novasamatech/fix/zoom-transition-memory…
svojsu Jan 15, 2025
6e68065
fix scrolling inside modal card presentation
svojsu Jan 15, 2025
80ce4cb
Merge pull request #1294 from novasamatech/base/seamless-dapp-browser
svojsu Jan 15, 2025
e3a2027
fixed warnings around DAppBrowser, ModalCardPresentation and few fact…
svojsu Jan 16, 2025
0cd9a1d
review fix
svojsu Jan 16, 2025
ce2580d
Merge pull request #1337 from novasamatech/fix/fix-warnings
svojsu Jan 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
build:
runs-on: macos-11
steps:
- uses: maxim-lobanov/setup-xcode@v1
- uses: maxim-lobanov/setup-xcode@master
with:
xcode-version: '13.0'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy_staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ jobs:
runs-on: macos-14

steps:
- uses: maxim-lobanov/setup-xcode@v1
- uses: maxim-lobanov/setup-xcode@master
with:
xcode-version: 16
xcode-version: 16.1

- name: Checkout
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ jobs:
runs-on: macos-14

steps:
- uses: maxim-lobanov/setup-xcode@v1
- uses: maxim-lobanov/setup-xcode@master
with:
xcode-version: 16
xcode-version: 16.1

- name: Checkout
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/push_develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
runs-on: macos-14

steps:
- uses: maxim-lobanov/setup-xcode@v1
- uses: maxim-lobanov/setup-xcode@master
with:
xcode-version: 16
xcode-version: 16.1

- name: Checkout
uses: actions/checkout@v4
Expand Down
882 changes: 711 additions & 171 deletions novawallet.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0xC3",
"green" : "0xB9",
"red" : "0xB8"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "0.880",
"blue" : "0xFF",
"green" : "0xFF",
"red" : "0xFF"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "0.480",
"blue" : "0x0E",
"green" : "0x09",
"red" : "0x08"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0x50",
"green" : "0x34",
"red" : "0xE5"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0x9A",
"green" : "0x8F",
"red" : "0x8E"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0x1C",
"green" : "0x08",
"red" : "0x05"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0x00",
"green" : "0x00",
"red" : "0x00"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
12 changes: 12 additions & 0 deletions novawallet/Assets.xcassets/iconCloseDAppTab.imageset/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "iconCloseDAppTab.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Binary file not shown.
12 changes: 12 additions & 0 deletions novawallet/Assets.xcassets/iconDappNewTab.imageset/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "iconDappNewTab.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "iconSiriPawBrowser.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Binary file not shown.
5 changes: 5 additions & 0 deletions novawallet/Common/Configs/ApplicationConfigs.swift
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,11 @@ extension ApplicationConfig: ApplicationConfigProtocol {
.appendingPathComponent("files-cache").path
}

var webPageRenderCachePath: String {
FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask)[0]
.appendingPathComponent("webpage-renders-cache").path
}

var commonTypesURL: URL {
URL(string: "https://raw.githubusercontent.com/novasamatech/nova-utils/master/chains/types/default.json")!
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,33 @@ protocol WalletListLocalStorageSubscriber where Self: AnyObject {
func subscribeAllWalletsProvider() -> StreamableProvider<ManagedMetaAccountModel>?

func subscribeWallet(by walletId: String) -> StreamableProvider<ManagedMetaAccountModel>?

func subscribeSelectedWalletProvider() -> StreamableProvider<ManagedMetaAccountModel>?
}

private extension WalletListLocalStorageSubscriber {
func subscribeWallets(
provider: StreamableProvider<ManagedMetaAccountModel>,
updateClosure: @escaping ([DataProviderChange<ManagedMetaAccountModel>]) -> Void,
failureClosure: @escaping (Error) -> Void
) -> StreamableProvider<ManagedMetaAccountModel>? {
let options = StreamableProviderObserverOptions(
alwaysNotifyOnRefresh: false,
waitsInProgressSyncOnAdd: false,
initialSize: 0,
refreshWhenEmpty: false
)

provider.addObserver(
self,
deliverOn: .main,
executing: updateClosure,
failing: failureClosure,
options: options
)

return provider
}
}

extension WalletListLocalStorageSubscriber {
Expand All @@ -27,22 +54,11 @@ extension WalletListLocalStorageSubscriber {
return
}

let options = StreamableProviderObserverOptions(
alwaysNotifyOnRefresh: false,
waitsInProgressSyncOnAdd: false,
initialSize: 0,
refreshWhenEmpty: false
return subscribeWallets(
provider: provider,
updateClosure: updateClosure,
failureClosure: failureClosure
)

provider.addObserver(
self,
deliverOn: .main,
executing: updateClosure,
failing: failureClosure,
options: options
)

return provider
}

func subscribeWallet(by walletId: String) -> StreamableProvider<ManagedMetaAccountModel>? {
Expand All @@ -58,26 +74,39 @@ extension WalletListLocalStorageSubscriber {
}

let failureClosure = { [weak self] (error: Error) in
self?.walletListLocalSubscriptionHandler.handleAllWallets(result: .failure(error))
self?.walletListLocalSubscriptionHandler.handleWallet(result: .failure(error), for: walletId)
return
}

let options = StreamableProviderObserverOptions(
alwaysNotifyOnRefresh: false,
waitsInProgressSyncOnAdd: false,
initialSize: 0,
refreshWhenEmpty: false
return subscribeWallets(
provider: provider,
updateClosure: updateClosure,
failureClosure: failureClosure
)
}

provider.addObserver(
self,
deliverOn: .main,
executing: updateClosure,
failing: failureClosure,
options: options
)
func subscribeSelectedWalletProvider() -> StreamableProvider<ManagedMetaAccountModel>? {
guard let provider = try? walletListLocalSubscriptionFactory.getSelectedWalletProvider() else {
return nil
}

return provider
let updateClosure = { [weak self] (changes: [DataProviderChange<ManagedMetaAccountModel>]) in
let wallet = changes.reduceToLastChange()

self?.walletListLocalSubscriptionHandler.handleSelectedWallet(result: .success(wallet))
return
}

let failureClosure = { [weak self] (error: Error) in
self?.walletListLocalSubscriptionHandler.handleSelectedWallet(result: .failure(error))
return
}

return subscribeWallets(
provider: provider,
updateClosure: updateClosure,
failureClosure: failureClosure
)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ import Operation_iOS
protocol WalletListLocalSubscriptionHandler {
func handleAllWallets(result: Result<[DataProviderChange<ManagedMetaAccountModel>], Error>)
func handleWallet(result: Result<ManagedMetaAccountModel?, Error>, for walletId: String)
func handleSelectedWallet(result: Result<ManagedMetaAccountModel?, Error>)
}

extension WalletListLocalSubscriptionHandler {
func handleAllWallets(result _: Result<[DataProviderChange<ManagedMetaAccountModel>], Error>) {}
func handleWallet(result _: Result<ManagedMetaAccountModel?, Error>, for _: String) {}
func handleSelectedWallet(result _: Result<ManagedMetaAccountModel?, Error>) {}
}
Loading
Loading