gruvin / hexmob.win

Community contributed HEX ERC20 Eth Smart Contract Mobile Friendly UI
13 stars 5 forks source link

SEMI-RESOLVED: App no longer function[ed] on up-to-date Apple devices aka NSSURLSession bug #17

Closed gruvin closed 2 years ago

gruvin commented 2 years ago

Hexmob no longer functions (stake / end stake contract requests) on any up-to-date Apple devices.

go.hex.com/stake is still working. My guess is that etherjs as used there works but web3js does not. Testing this and if true, switching over would be a mammoth task. If someone out there would like to help, please do!

First it was just iOS, with a known workaround for Safari and by extension Metamask's internal browser but no others. However, that workaround no longer works on iOS and now the problem exists in later macOS versions as well. No workarounds are known for either OS.

On iOS we can no longer connect to a wallet at all. On macOS, we can connect to view stakes etc but we cannot start or end stakes.

The issue is Apple installing a full rewrite of the protocol used to communicate over web sockets — in our case, Wallet Connect. Their new version drops support for long messages, which Wallet Connect requires to function. (To the best of my limited knowledge.)

As usual, Apple shows no interest in replying to any bug reports and whether this will ever be fixed is unknown and presumed unlikely.

gruvin commented 2 years ago

FINALLY some progress on this. The problem has been narrowed down to the length of data returned from HEX's dailyDataRange(beginDay, endDay) method — only for stakes over a certain length; said length as yet to be determined.

A workaround may be to gets the data in smaller chunks, thus annoyingly requiring multiple calls to the chain. :/

gruvin commented 2 years ago

Oh and the issue of not being able to start or end stakes on macOS may have been fixed with the latest Metamask Chrome extension, Testing is required.

gruvin commented 2 years ago

The workaround did not work. have tried everything I can think of. Others in same boat (Google). 0.2.63B adds an alert message advising users to disable NSURLSession Websocket to get things working again.