Skip to content

Commit 3d9e76c

Browse files
committed
fix(efp): Remove verbose logging and unused loading state from following addresses
Cleans up excessive debug logging and removes unused loading state and cache checks from the following addresses modules and service. Updates the QML views to simplify loading indicators and ensures data is loaded when the user navigates to the following addresses page. Update status-go submodule to latest commit
1 parent f65609b commit 3d9e76c

File tree

9 files changed

+11
-125
lines changed

9 files changed

+11
-125
lines changed

src/app/modules/main/wallet_section/following_addresses/controller.nim

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ import io_interface, chronicles
22
import app/core/eventemitter
33
import app_service/service/following_address/service as following_address_service
44

5-
const SIGNAL_FOLLOWING_ADDRESSES_UPDATED* = following_address_service.SIGNAL_FOLLOWING_ADDRESSES_UPDATED
6-
75
logScope:
86
topics = "following-addresses-controller"
97

@@ -27,40 +25,15 @@ proc delete*(self: Controller) =
2725
discard
2826

2927
proc init*(self: Controller) =
30-
info "following_addresses controller init() called"
31-
try:
32-
info "following_addresses subscribing to signal", signal=SIGNAL_FOLLOWING_ADDRESSES_UPDATED
33-
self.events.on(SIGNAL_FOLLOWING_ADDRESSES_UPDATED) do(e:Args):
34-
let args = following_address_service.FollowingAddressesArgs(e)
35-
info "following_addresses received signal", userAddress=args.userAddress, addressCount=args.addresses.len
36-
self.delegate.loadFollowingAddresses(args.userAddress)
37-
info "following_addresses controller init() completed"
38-
except Exception as e:
39-
error "following_addresses controller init() failed", msg=e.msg
28+
self.events.on(following_address_service.SIGNAL_FOLLOWING_ADDRESSES_UPDATED) do(e:Args):
29+
let args = following_address_service.FollowingAddressesArgs(e)
30+
self.delegate.loadFollowingAddresses(args.userAddress)
4031

4132
proc getFollowingAddresses*(self: Controller, userAddress: string): seq[following_address_service.FollowingAddressDto] =
42-
let addresses = self.followingAddressService.getFollowingAddresses(userAddress)
43-
info "controller.getFollowingAddresses called",
44-
userAddress = userAddress,
45-
resultCount = addresses.len
46-
47-
# Log first address for debugging
48-
if addresses.len > 0:
49-
info "controller.getFollowingAddresses first item",
50-
address = addresses[0].address,
51-
ensName = addresses[0].ensName,
52-
ensNameLength = addresses[0].ensName.len
53-
54-
return addresses
33+
return self.followingAddressService.getFollowingAddresses(userAddress)
5534

5635
proc fetchFollowingAddresses*(self: Controller, userAddress: string, search: string = "", limit: int = 10, offset: int = 0) =
5736
self.followingAddressService.fetchFollowingAddresses(userAddress, search, limit, offset)
5837

59-
proc isFollowingAddressesLoading*(self: Controller): bool =
60-
return self.followingAddressService.isFollowingAddressesLoading()
61-
62-
proc hasFollowingAddressesCache*(self: Controller): bool =
63-
return self.followingAddressService.hasFollowingAddressesCache()
64-
6538
proc getTotalFollowingCount*(self: Controller): int =
6639
return self.followingAddressService.getTotalFollowingCount()

src/app/modules/main/wallet_section/following_addresses/model.nim

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -79,26 +79,13 @@ QtObject:
7979
result = newQVariant(item.getAvatar())
8080

8181
proc setItems*(self: Model, items: seq[Item]) =
82-
info "model.setItems called", itemCount = items.len
83-
84-
# Log first few items
85-
for i in 0 ..< min(3, items.len):
86-
info "model.setItems item details",
87-
index = i,
88-
address = items[i].getAddress(),
89-
ensName = items[i].getEnsName(),
90-
ensNameLength = items[i].getEnsName().len,
91-
name = items[i].getName()
92-
9382
self.beginResetModel()
9483
self.items = items
9584
self.endResetModel()
9685
self.countChanged()
9786

9887
for item in items:
9988
self.itemChanged(item.getAddress())
100-
101-
info "model.setItems completed"
10289

10390
proc getItemByAddress*(self: Model, address: string): Item =
10491
if address.len == 0:

src/app/modules/main/wallet_section/following_addresses/module.nim

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -25,33 +25,19 @@ proc newModule*(
2525
events: EventEmitter,
2626
followingAddressService: following_address_service.Service,
2727
): Module =
28-
info "following_addresses newModule called"
2928
result = Module()
3029
result.delegate = delegate
3130
result.view = newView(result)
3231
result.viewVariant = newQVariant(result.view)
3332
result.controller = newController(result, events, followingAddressService)
3433
result.moduleLoaded = false
35-
info "following_addresses newModule completed"
3634

3735
method delete*(self: Module) =
3836
self.viewVariant.delete
3937
self.view.delete
4038

4139
method loadFollowingAddresses*(self: Module, userAddress: string) =
4240
let followingAddresses = self.controller.getFollowingAddresses(userAddress)
43-
info "loadFollowingAddresses: loading data into view",
44-
userAddress = userAddress,
45-
addressCount = followingAddresses.len
46-
47-
# Log first few items for debugging
48-
for i in 0 ..< min(3, followingAddresses.len):
49-
info "loadFollowingAddresses: item details",
50-
index = i,
51-
address = followingAddresses[i].address,
52-
ensName = followingAddresses[i].ensName,
53-
ensNameLength = followingAddresses[i].ensName.len
54-
5541
self.view.setItems(
5642
followingAddresses.map(f => initItem(
5743
f.address,
@@ -60,26 +46,13 @@ method loadFollowingAddresses*(self: Module, userAddress: string) =
6046
f.avatar,
6147
))
6248
)
63-
info "loadFollowingAddresses: view.setItems completed"
64-
65-
# Emit signal to update total count in QML
6649
self.view.totalFollowingCountChanged()
6750

6851
method load*(self: Module) =
69-
info "following_addresses load() called"
7052
try:
71-
info "following_addresses setting root context property"
7253
singletonInstance.engine.setRootContextProperty("walletSectionFollowingAddresses", self.viewVariant)
73-
info "following_addresses root context property set successfully"
74-
75-
# We'll load following addresses when user navigates to the section
76-
info "following_addresses initializing controller"
7754
self.controller.init()
78-
info "following_addresses controller initialized"
79-
80-
info "following_addresses loading view"
8155
self.view.load()
82-
info "following_addresses load() completed successfully"
8356
except Exception as e:
8457
error "following_addresses load() failed", msg=e.msg
8558

src/app/modules/main/wallet_section/module.nim

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -373,9 +373,7 @@ method load*(self: Module) =
373373
self.assetsModule.load()
374374
info "wallet-section: loading savedAddressesModule"
375375
self.savedAddressesModule.load()
376-
info "wallet-section about to load followingAddressesModule"
377376
self.followingAddressesModule.load()
378-
info "wallet-section followingAddressesModule.load() completed"
379377
self.buySellCryptoModule.load()
380378
self.overviewModule.load()
381379
self.sendModule.load()
@@ -430,13 +428,6 @@ proc checkIfModuleDidLoad(self: Module) =
430428
self.moduleLoaded = true
431429
self.delegate.walletSectionDidLoad()
432430
self.view.setWalletReady()
433-
434-
# Lazy pre-fetch EFP following addresses for primary wallet account
435-
let walletAccounts = self.controller.getWalletAccounts()
436-
if walletAccounts.len > 0:
437-
let primaryAccount = walletAccounts[0] # First account is primary
438-
info "Pre-fetching EFP following addresses for primary account", address = primaryAccount.address
439-
self.followingAddressesModule.fetchFollowingAddresses(primaryAccount.address)
440431

441432
method viewDidLoad*(self: Module) =
442433
self.checkIfModuleDidLoad()

src/app_service/service/following_address/service.nim

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ logScope:
1818

1919
# Signals which may be emitted by this service:
2020
const SIGNAL_FOLLOWING_ADDRESSES_UPDATED* = "followingAddressesUpdated"
21-
const SIGNAL_FOLLOWING_ADDRESSES_ABOUT_TO_BE_UPDATED* = "followingAddressesAboutToBeUpdated"
2221

2322
type
2423
FollowingAddressesArgs* = ref object of Args
@@ -30,8 +29,6 @@ QtObject:
3029
threadpool: ThreadPool
3130
events: EventEmitter
3231
followingAddressesTable: Table[string, seq[FollowingAddressDto]]
33-
followingAddressesLoading: bool
34-
hasCacheData: bool
3532
networkService: network_service.Service
3633
totalFollowingCount: int
3734

@@ -45,8 +42,6 @@ QtObject:
4542
result.events = events
4643
result.networkService = networkService
4744
result.followingAddressesTable = initTable[string, seq[FollowingAddressDto]]()
48-
result.followingAddressesLoading = false
49-
result.hasCacheData = false
5045
result.totalFollowingCount = 0
5146

5247
proc init*(self: Service) =
@@ -61,9 +56,6 @@ QtObject:
6156
return @[]
6257

6358
proc fetchFollowingAddresses*(self: Service, userAddress: string, search: string = "", limit: int = 10, offset: int = 0) =
64-
self.followingAddressesLoading = true
65-
defer: self.events.emit(SIGNAL_FOLLOWING_ADDRESSES_ABOUT_TO_BE_UPDATED, Args())
66-
6759
# Fetch stats only when not searching (to get total count for pagination)
6860
if search.len == 0:
6961
self.fetchFollowingStats(userAddress)
@@ -80,23 +72,15 @@ QtObject:
8072
self.threadpool.start(arg)
8173

8274
proc onFollowingAddressesFetched(self: Service, response: string) {.slot.} =
83-
info "onFollowingAddressesFetched called", responseLength = response.len
84-
self.followingAddressesLoading = false
8575
try:
8676
let parsedJson = response.parseJson
87-
info "onFollowingAddressesFetched parsed JSON"
8877

8978
var errorString: string
9079
var userAddress: string
9180
var followingAddressesJson, followingResult: JsonNode
9281
discard parsedJson.getProp("followingAddresses", followingAddressesJson)
9382
discard parsedJson.getProp("userAddress", userAddress)
9483
discard parsedJson.getProp("error", errorString)
95-
96-
info "onFollowingAddressesFetched extracted props",
97-
userAddress = userAddress,
98-
hasError = not errorString.isEmptyOrWhitespace,
99-
hasFollowingJson = not followingAddressesJson.isNil
10084

10185
if not errorString.isEmptyOrWhitespace:
10286
error "onFollowingAddressesFetched got error from backend", errorString = errorString
@@ -115,13 +99,8 @@ QtObject:
11599

116100
let addresses = followingResult.getElems().map(proc(x: JsonNode): FollowingAddressDto = x.toFollowingAddressDto())
117101

118-
info "onFollowingAddressesFetched successfully parsed addresses with ENS data from API",
119-
userAddress = userAddress,
120-
addressCount = addresses.len
121-
122102
# Update cache with complete data (ENS names and avatars already included from API)
123103
self.followingAddressesTable[userAddress] = addresses
124-
self.hasCacheData = true
125104

126105
# Emit signal to refresh UI - data is complete
127106
let args = FollowingAddressesArgs(userAddress: userAddress, addresses: addresses)
@@ -131,12 +110,6 @@ QtObject:
131110
error "onFollowingAddressesFetched exception", msg = e.msg, stack = e.getStackTrace()
132111
self.events.emit(SIGNAL_FOLLOWING_ADDRESSES_UPDATED, Args())
133112

134-
proc isFollowingAddressesLoading*(self: Service): bool =
135-
return self.followingAddressesLoading
136-
137-
proc hasFollowingAddressesCache*(self: Service): bool =
138-
return self.hasCacheData
139-
140113
proc getTotalFollowingCount*(self: Service): int =
141114
return self.totalFollowingCount
142115

@@ -145,7 +118,6 @@ QtObject:
145118
let response = following_addresses.getFollowingStats(userAddress)
146119
if response.error.isNil:
147120
self.totalFollowingCount = response.result.getInt()
148-
info "fetchFollowingStats: total count", count = self.totalFollowingCount
149121
else:
150122
error "fetchFollowingStats: error", error = response.error
151123
except Exception as e:

src/backend/backend.nim

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,3 @@ rpc(fetchMarketTokenPageAsync, "wallet"):
326326

327327
rpc(unsubscribeFromLeaderboard, "wallet"):
328328
discard
329-
330-
rpc(getFollowingAddresses, "wallet"):
331-
userAddress: string

ui/app/AppLayouts/Wallet/stores/RootStore.qml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ QtObject {
6565
}
6666

6767
readonly property var followingAddresses: walletSectionFollowingAddresses ? walletSectionFollowingAddresses.model : null
68-
property bool loadingFollowingAddresses: false
6968

7069
function refreshFollowingAddresses(search, limit, offset) {
7170
if (!walletSectionFollowingAddresses) return

ui/app/AppLayouts/Wallet/views/FollowingAddresses.qml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ Item {
8888
}
8989
}
9090

91+
Component.onCompleted: {
92+
d.refresh() // Load data when user navigates to this page
93+
}
94+
9195
Timer {
9296
id: searchDebounceTimer
9397
interval: 250
@@ -140,25 +144,18 @@ Item {
140144
id: noFollowingAddresses
141145
Layout.fillWidth: true
142146
Layout.preferredHeight: 44
143-
visible: RootStore.followingAddresses.count === 0
147+
visible: RootStore.followingAddresses.count === 0 && !d.isPaginationLoading
144148
text: qsTr("Your EFP onchain friends will appear here")
145149
}
146150

147151
ShapeRectangle {
148152
id: emptySearchResult
149153
Layout.fillWidth: true
150154
Layout.preferredHeight: 44
151-
visible: RootStore.followingAddresses.count > 0 && listView.count === 0
155+
visible: RootStore.followingAddresses.count > 0 && listView.count === 0 && !d.isPaginationLoading
152156
text: qsTr("No following addresses found. Check spelling or address is correct.")
153157
}
154158

155-
StatusLoadingIndicator {
156-
id: loadingIndicator
157-
Layout.alignment: Qt.AlignHCenter
158-
visible: RootStore.loadingFollowingAddresses
159-
color: Theme.palette.directColor4
160-
}
161-
162159
Item {
163160
visible: noFollowingAddresses.visible || emptySearchResult.visible
164161
Layout.fillWidth: true

ui/app/AppLayouts/Wallet/views/FollowingAddressesView.qml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,11 @@ RightTabBaseView {
2121
property SharedStores.NetworkConnectionStore networkConnectionStore
2222
required property SharedStores.NetworksStore networksStore
2323

24-
// Note: Following addresses are pre-fetched when wallet loads,
25-
// so data should already be available when user navigates here
26-
2724
header: WalletFollowingAddressesHeader {
2825
lastReloadedTime: !!root.rootStore.lastReloadTimestamp ?
2926
LocaleUtils.formatRelativeTimestamp(
3027
root.rootStore.lastReloadTimestamp * 1000) : ""
31-
loading: root.rootStore.isAccountTokensReloading
28+
loading: followingAddresses.isPaginationLoading
3229

3330
onReloadRequested: followingAddresses.refresh()
3431
onAddViaEFPClicked: Global.openLinkWithConfirmation("https://efp.app", "efp.app")

0 commit comments

Comments
 (0)