Fixes on Related Files search function + display TCP/UDP flags for Servers in Release build - #154
Conversation
got3nks
left a comment
There was a problem hiding this comment.
Thanks for the contribution. A few items to address before merge:
-
The new translatable strings (
_("TCP Flags"),_("UDP Flags"), and thewxMessageBoxtext inOnRelatedSearch) need the.pottemplate +.pofiles regenerated; otherwise the "App catalogs in sync with source" CI check will fail (and currently does). -
Mixed tabs/spaces in the new
wxMessageBoxblock at the end ofOnRelatedSearch— continuation lines use 29 spaces of indent and the trailingreturn;uses 16, while the rest of the file is tabs. Re-indent with tabs. -
The moved doxygen block in
MuleListCtrl.huses 8-space indent under/**; the original location used tabs. Same content, just realign with tabs. -
Test plan boxes are all unchecked — confirm the six scenarios were actually exercised, especially the "server not supporting it" popup path and persistence of the TCP/UDP-flag column widths via
LoadSettings/SaveSettingsacross restart?
Also, make the TCP and UDP Flags Server columns available in Release builds, but not displayed by default
Fix display of TCP/UDP flags in Server window
Summary
Fixes on the Related Files search function.
The RelatedFiles search function is a special search function provided by lugdunum servers that will search for files shared by multiple clients that also share a specific file (like Amazon's "client who buy this item, they usually buy these other items too"). It can be launched by right-clicking on a search result and clicking on the "Related Search (ed2k, local)" option. This search capability must be advertised as a TCP flag by the server, and can only be run on a Local search, not on a Global search.
References:
eMuleAI / SearchResultsWnd.cpp
https://forum.emule-project.net/index.php?showtopic=79371&st=60&p=564252&#entry564252
https://lugdunum.shortypower.org/kiten.html
The current aMule implementation had a few issues:
Display TCP/UDP Flags in Server window for Release build
During the development of this function, I relied on the TCP flags to test against servers supporting or not supporting that feature. Currently, new server implementations are being deployed in the wild, and we can expect this trend to continue as the main server software (lugdunum) has been unmantained for a long time. Therefore, having these flags may be useful to better known where are we connecting to, or ask users for more details when debugging cases.
The current aMule implementation did:
amulemonolithic: Pre-fix: TCP/UDP flags are only created in Debug build. Post-fix: They are created in all builds, but they are hidden by default on non-Debug build. So they become now available when required for power-users, testing or debugging issues from users. Almost 0 perf impact. The labels become translatable strings.amulegui: Pre-fix: TCP/UDP flags created in Debug mode in the constructor, but not in the refresh function. Since these fields are not wired in the EC protocol, just be consistent and remove them completely.Test plan
amule. Hide/Unhide/Resize/Restart. Confirmed, the columns are available in both Debug and Release builds. The size and visible status persist after restart.amulegui. Tested Debug/Release build, no presence of these columns.