XD icon indicating copy to clipboard operation
XD copied to clipboard

WebUI updates

Open l-n-s opened this issue 7 years ago • 17 comments

tracking webui updates progress

l-n-s avatar Sep 21 '17 20:09 l-n-s

Front page will need to have basic torrent filtering by status - if torrent is active, downloading, seeding, paused or finished.

l-n-s avatar Sep 21 '17 20:09 l-n-s

any updates?

majestrate avatar Oct 08 '17 13:10 majestrate

@majestrate waiting for #30

l-n-s avatar Oct 10 '17 03:10 l-n-s

Adding torrents directly from postman, with CLI it works, with WEBUI it doesn't

[NFO] 2017-10-24 09:17:51.329920644 -0400 EDT m=+660.156323877  fetching torrent from http://tracker2.postman.i2p/index.php?action=Download&id=23841
[NFO] 2017-10-24 09:18:22.166920168 -0400 EDT m=+690.993323401  no bitfield for YetAnotherBookCollection.zip
[ERR] 2017-10-24 09:18:23.158900363 -0400 EDT m=+691.985303526  failed to fetch: invalid piece
[NFO] 2017-10-24 09:21:51.634137478 -0400 EDT m=+900.460540641  fetching torrent from http://tracker2.postman.i2p/index.php?action=Download&id=39222
[NFO] 2017-10-24 09:22:02.620384961 -0400 EDT m=+911.446788124  no bitfield for OReillyProgrammingEbooks.tar.gz
[ERR] 2017-10-24 09:22:02.764904037 -0400 EDT m=+911.591307131  failed to fetch: invalid piece
[NFO] 2017-10-24 09:22:39.53475913 -0400 EDT m=+948.361162293   fetching torrent from http://tracker2.postman.i2p/index.php?action=Download&id=39222
[NFO] 2017-10-24 09:22:43.215890508 -0400 EDT m=+952.042293601  verify local data for OReillyProgrammingEbooks.tar.gz
[NFO] 2017-10-24 09:22:43.216199486 -0400 EDT m=+952.042602579  OReillyProgrammingEbooks.tar.gz check okay
[NFO] 2017-10-24 09:23:23.307922953 -0400 EDT m=+992.134326116  fetching torrent from http://tracker2.postman.i2p/index.php?action=Download&id=23841
[NFO] 2017-10-24 09:23:29.833678777 -0400 EDT m=+998.660081940  verify local data for YetAnotherBookCollection.zip
[NFO] 2017-10-24 09:23:29.833965266 -0400 EDT m=+998.660368429  YetAnotherBookCollection.zip check okay

l-n-s avatar Oct 24 '17 13:10 l-n-s

which ones were added via webui?

majestrate avatar Oct 24 '17 13:10 majestrate

Both. First I'm adding both with Web, it fails. After I add them with Cli.

l-n-s avatar Oct 24 '17 13:10 l-n-s

XD.SwarmStatus returns full bitfield and other information, so that response is huge. For 3 torrents, it transfers >20KB of data for each request. Is this data required?

l-n-s avatar Oct 24 '17 15:10 l-n-s

is 20KB too much?

majestrate avatar Oct 24 '17 23:10 majestrate

I mean, for 3 torrents it is 20KB per request, for 300 torrents it will be like 2MB.

API consumer will ideally want information ready for usage - for displaying in UI or whatever. Bitfield is on another level of abstraction somewhere (in my opinion).

BTW, I've already did a layout, some styling and data binding.

Pulled in Knockout.js for data binding - it's lightweight and has cross-browser support even with IE. Also removed Bootstrap and JQuery (using zepto for ajax, or maybe even go Vanilla). It's already looking nice, except needs details for progress bar etc...

Do we need some fancy icons, or keep UI super minimal?

Edit: Actually I have no idea about bitfield, will have a look how other torrent clients do WebUI...

l-n-s avatar Oct 25 '17 00:10 l-n-s

any images would be bundled inside the XD binary, keep any assets minimal if you use any.

what would you do for bitfields in api?

On Wed, Oct 25, 2017 at 12:39:17AM +0000, l-n-s wrote:

I mean, for 3 torrents it is 20KB per request, for 300 torrents it will be like 2MB.

API consumer will ideally want information ready for usage - for displaying in UI or whatever. Bitfield is on another level of abstraction somewhere (in my opinion).

BTW, I've already did a layout, some styling and data binding.

Pulled in Knockout.js for data binding - it's lightweight and has cross-browser support even with IE. Also removed Bootstrap and JQuery (using zepto for ajax, or maybe even go Vanilla). It's already looking nice, except needs details for progress bar etc...

Do we need some fancy icons, or keep UI super minimal?

— You are receiving this because you were mentioned. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.

Reverse link: [3]unknown

References

Visible links

  1. https://github.com/majestrate/XD/issues/31#issuecomment-339177893
  2. https://github.com/notifications/unsubscribe-auth/AAefxUj7-oV4x_sKCHHd8dqG290RMPvvks5svoM1gaJpZM4Pf2Ix
  3. https://github.com/majestrate/XD/issues/31#issuecomment-339177893

majestrate avatar Oct 25 '17 00:10 majestrate

Reporting on my little research about transmission web API:

hmmm, looking how transmission webui works with RPC. it requests full details of all torrents on the first load, then it requests only some details of recently active torrents ‎ it explicitly requests name of fields which it needs in each request... and has "ids" parameter for method - to specify torerent ID, or group of torrents -- like "ids": "recently-active" ‎i think it's reasonable to reduce data transfered via API, cause people may deploy XD on raspberry pi or remote servers...

It doesn't send back full bitfield, only required information for displaying:

{'arguments': {'removed': [],
               'torrents': [{'downloadDir': '/home/user/Downloads',
                             'error': 0,
                             'errorString': '',
                             'eta': 2793,
                             'id': 3,
                             'isFinished': False,
                             'isStalled': False,
                             'leftUntilDone': 1292042240,
                             'metadataPercentComplete': 1,
                             'peersConnected': 46,
                             'peersGettingFromUs': 1,
                             'peersSendingToUs': 41,
                             'percentDone': 0.3367,
                             'queuePosition': 1,
                             'rateDownload': 473000,
                             'rateUpload': 0,
                             'recheckProgress': 0,
                             'seedRatioLimit': 2,
                             'seedRatioMode': 0,
                             'sizeWhenDone': 1947926528,
                             'status': 4,
                             'trackers': [{'announce': 'http://bttracker.debian.org:6969/announce',
                                           'id': 0,
                                           'scrape': 'http://bttracker.debian.org:6969/scrape',
                                           'tier': 0}],
                             'uploadRatio': 0.0027,
                             'uploadedEver': 1781490,
                             'webseedsSendingToUs': 0}]},
 'result': 'success'}

l-n-s avatar Oct 25 '17 18:10 l-n-s

noted, will review the use of bitfields in API

On Wed, Oct 25, 2017 at 11:17:13AM -0700, l-n-s wrote:

Reporting on my little research about transmission web API:

hmmm, looking how transmission webui works with RPC. it requests full details of all torrents on the first load, then it requests only some details of recently active torrents ‎ it explicitly requests name of fields which it needs in each request... and has "ids" parameter for method - to specify torerent ID, or group of torrents -- like "ids": "recently-active" ‎i think it's reasonable to reduce data transfered via API, cause people may deploy XD on raspberry pi or remote servers...

It doesn't send back full bitfield, only required information for displaying:

{'arguments': {'removed': [], 'torrents': [{'downloadDir': '/home/user/Downloads', 'error': 0, 'errorString': '', 'eta': 2793, 'id': 3, 'isFinished': False, 'isStalled': False, 'leftUntilDone': 1292042240, 'metadataPercentComplete': 1, 'peersConnected': 46, 'peersGettingFromUs': 1, 'peersSendingToUs': 41, 'percentDone': 0.3367, 'queuePosition': 1, 'rateDownload': 473000, 'rateUpload': 0, 'recheckProgress': 0, 'seedRatioLimit': 2, 'seedRatioMode': 0, 'sizeWhenDone': 1947926528, 'status': 4, 'trackers': [{'announce': 'http://bttracker.debian.org:6969/announce', 'id': 0, 'scrape': 'http://bttracker.debian.org:6969/scrape', 'tier': 0}], 'uploadRatio': 0.0027, 'uploadedEver': 1781490, 'webseedsSendingToUs': 0}]}, 'result': 'success'}

— You are receiving this because you were mentioned. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.

Reverse link: [3]unknown

References

Visible links

  1. https://github.com/majestrate/XD/issues/31#issuecomment-339422456
  2. https://github.com/notifications/unsubscribe-auth/AAefxWx8kAkwD3c2QPtxp6N_Hy3TK8qwks5sv3spgaJpZM4Pf2Ix
  3. https://github.com/majestrate/XD/issues/31#issuecomment-339422456

majestrate avatar Oct 25 '17 18:10 majestrate

bitfields removed from RPC

majestrate avatar Oct 28 '17 13:10 majestrate

xd

Some notes for future WebUI:

  1. Chromium doesn't show button icons
  2. needs more space between elements
  3. colors are like wtf (opinionated)
  4. display how many bytes are already downloaded

l-n-s avatar Apr 09 '18 13:04 l-n-s

the icons are utf-8 emoji, that's probably a system font related issue.

On Mon, Apr 09, 2018 at 01:19:41PM +0000, l-n-s wrote:

xd

Some notes for future WebUI:

  1. Chromium doesn't show button icons
  2. needs more space between elements
  3. colors are like wtf (opinionated)
  4. display how many bytes are already downloaded

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/majestrate/XD/issues/31#issuecomment-379748891

majestrate avatar Apr 09 '18 13:04 majestrate

xd

Corrected spacing, element positions and more web-safe colors, what do you think?

l-n-s avatar Apr 12 '18 21:04 l-n-s

a bit better

On Thu, Apr 12, 2018 at 09:53:58PM +0000, l-n-s wrote:

xd

Corrected spacing, element positions and more web-safe colors, what do you think?

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/majestrate/XD/issues/31#issuecomment-380955912

majestrate avatar Apr 12 '18 22:04 majestrate