Commit Graph

105 Commits

Author SHA1 Message Date
meejah
4a226c7633 use Twisted API, and some hypothesis tests 2019-09-27 11:51:03 -06:00
meejah
dc19e7379e validate capability before doing anything 2019-09-27 11:51:03 -06:00
meejah
488e40ce86 unused import 2019-09-27 11:51:03 -06:00
meejah
da882df23b comment 2019-09-27 11:51:03 -06:00
meejah
a7c8407127 use hyperlink.URL instead of custom code 2019-09-27 11:51:03 -06:00
meejah
24faca46a9 more-correct URI 2019-09-27 11:51:03 -06:00
meejah
c507971e62 unused import 2019-09-27 11:51:03 -06:00
meejah
6195b2680b fix up ctx/req and add docstrings 2019-09-27 11:51:03 -06:00
meejah
2897b5767e do the weird redirect thing properly 2019-09-27 11:51:03 -06:00
meejah
0f6fc706ed port URIHandler to twisted.web 2019-09-27 11:51:03 -06:00
meejah
ba9a4e590b remove debug 2019-08-20 00:17:28 -06:00
meejah
3f8954be08 refactor download status to get rid of a 'def child_' 2019-08-20 00:17:28 -06:00
meejah
569454b1a3 get rid of child_operations from root 2019-08-20 00:17:28 -06:00
meejah
217e32e385 make '/operations' work again 2019-08-20 00:17:28 -06:00
meejah
9e999d0c68 work around lack of getChild in nevow.rend.Page 2019-08-20 00:17:28 -06:00
meejah
d873a041bf remove some child_ usage 2019-08-20 00:17:28 -06:00
meejah
3a2182309d whitespace 2019-08-20 00:17:28 -06:00
Jean-Paul Calderone
13409a2449 Move the remaining package checking machinery to its own module. 2019-08-13 15:11:01 -04:00
Jean-Paul Calderone
9de97dbdd5 Use guard and add some tests (integration failing) 2019-03-22 13:47:32 -04:00
Jean-Paul Calderone
5f4f8d9dbb Create the /private hierarchy 2019-03-21 15:00:57 -04:00
Jean-Paul Calderone
2877c9b3c1 unused import 2019-03-21 15:00:19 -04:00
Jean-Paul Calderone
e02962c3a3 Remove one more webport thingy 2019-03-21 14:39:52 -04:00
Jean-Paul Calderone
edf01d7817 don't compute the url, it doesn't seem to be necessary 2019-03-21 13:58:46 -04:00
meejah
956a39a6c1 clarify 2019-03-21 02:01:33 -06:00
meejah
816ceb12cb make more things work 2019-03-21 01:37:47 -06:00
meejah
b734c893df prototype token-authenticated WebSocket stream 2019-03-20 18:14:47 -06:00
meejah
672475cb2b Multiple magic-folders
This moves all magic-folder configs to a single YAML
file. We load legacy config fine and don't mess with
legacy config unless you use a magic-folder command that
changes the config.

Increase test coverage
2017-12-05 10:34:48 -07:00
Jean-Paul Calderone
e32f581d07 Get rid of the reliance on rref
It provides information more correctly obtained from
get_connection_status().
2017-07-27 16:31:41 -04:00
Jean-Paul Calderone
1f16a173f0 flatten the result structure
flat is better than nested
2017-07-27 15:32:47 -04:00
Jean-Paul Calderone
7027547ecc fix buggy test; restructure data
scared about duplicate nodeids in the data getting lost, switch to a list
2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
754304e4d5 Switch Root over to MultiFormatPage 2017-07-27 15:26:30 -04:00
Jean-Paul Calderone
f518c2a521 Switch over to stdlib json 2017-07-27 15:26:30 -04:00
David Stainton
16e56611f3 web: set json welcome content type to json utf8 2017-07-27 15:26:29 -04:00
David Stainton
876a7b6602 Fix indention 2017-07-27 15:26:29 -04:00
David Stainton
ad66caeaff Make sure server.rref is not None 2017-07-27 15:26:29 -04:00
David Stainton
180975b0af Make sure version is not None 2017-07-27 15:26:29 -04:00
David Stainton
b2d4374976 Add more server info to welcome json page 2017-07-27 15:26:29 -04:00
David Stainton
32110bfc68 Add storage and introducer summaries to json welcome output 2017-07-27 15:26:29 -04:00
David Stainton
822ed78b13 Add rough sketch of json welcome page 2017-07-27 15:26:29 -04:00
Brian Warner
5cbe580d90 improve ConnectionStatus and welcome-page display
* replace "last_details" with "non_connected_statuses" dict
* rename "last_connection_summary" to just "summary"
* for connected servers, show other hints in a tooltip
* for not-yet-connected servers, show all hints in a list
* build the list (in STAN) on the server side, not using IContainer
2016-12-09 18:41:38 -08:00
meejah
74209e643e Show the connection-status of all hints until we're connected to one 2016-12-09 18:41:38 -08:00
Brian Warner
77fd41b66e update WUI welcome page with new connection-status info
This shows current-connection info, and provides per-hint status details in a
tooltip.

The "Connection" section no longer shows seconds-since-loss when the server
was not connected (previously it showed seconds-since-connect when connected,
and flipped to seconds-since-loss when disconnected). We already have the
"Last RX" column, which is arguably more meaningful (and I can't think of a
good case when these would differ), so we don't really need
seconds-since-loss, and the new ConnectionStatus doesn't track it anyways.

So now the "Connection" timestamp for non-connected servers is just
"N/A" (both the main text and the tooltip). The "Introducers" section was
changed the same way.

This moves the per-server connection timestamp out of the nickname/serverid
box and over into the Connection box. It also right-floats all timestamps,
regardless of which box they're in, which makes them share the box with
connection_status more politely.

Internally, this adds code to create ConnectionStatus objects when necessary.
2016-12-08 16:24:32 -08:00
David Stainton
4f717ba808 Add a multi-introducer implementation
this is based the previous work of warner, killyourtv and leif
 fixes ticket #68
2016-09-13 00:15:52 +00:00
Brian Warner
663e39593b static servers: tolerate missing nickname/versions
A minimally-defined static server only specifies server_id,
anonymous-storage-FURL, and permutation-seed-base32. But the WUI Welcome
page wouldn't render (it raised an exception) without also defining
nickname and version. This allows those values to be missing.
2016-08-27 11:34:32 -07:00
Brian Warner
54f974d44c make IServer.get_serverid() use pubkey, not tubid
This is a change I've wanted to make for many years, because when we get
to HTTP-based servers, we won't have tubids for them. What held me back
was that there's code all over the place that uses the serverid for
various purposes, so I wasn't sure it was safe. I did a big push a few
years ago to use IServer instances instead of serverids in most
places (in #1363), and to split out the values that actually depend upon
tubid into separate accessors (like get_lease_seed and
get_foolscap_write_enabler_seed), which I think took care of all the
important uses.

There are a number of places that use get_serverid() as dictionary key
to track shares (Checker results, mutable servermap). I believe these
are happy to use pubkeys instead of tubids: the only thing they do with
get_serverid() is to compare it to other values obtained from
get_serverid(). A few places in the WUI used serverid to compute display
values: these were fixed.

The main trouble was the Helper: it returns a HelperUploadResults (a
Copyable) with a share->server mapping that's keyed by whatever the
Helper's get_serverid() returns. If the uploader and the helper are on
different sides of this change, the Helper could return values that the
uploader won't recognize. This is cosmetic: that mapping is only used to
display the upload results on the "Recent and Active Operations" page.
I've added code to StorageFarmBroker.get_stub_server() to fall back to
tubids when looking up a server, so this should still work correctly
when the uploader is new and the Helper is old. If the Helper is new and
the uploader is old, the upload results will show unusual server ids.

refs ticket:1363
2016-08-26 14:29:50 -07:00
meejah
8a33fc612a Add magic-folder indicator to main welcome page
This doesn't reveal very much information, but does tell
you if magic-folder is currently working and if not it will
indicate when the last attempt to do a remote scan was.
2016-08-09 18:07:00 -06:00
meejah
86abe56d91 Flesh out "tahoe magic-folder status" command
Adds:

 - a JSON endpoint
 - CLI to display information
 - QueuedItem + IQueuedItem for uploader/downloader
 - IProgress interface + PercentProgress implementation
 - progress= args to many upload/download APIs
2016-07-21 12:35:59 -07:00
Leif Ryge
5b33f1fdf3 wui: improved columns in welcome page server list
As discussed at https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1973 and in
previous pull request #129.

 - replace lengthy timestamps with human-readable deltas (eg 1h 2m 3s)
 - replace "announced" column with "Last RX" column
 - remove service column (it always said the same thing, "storage")
 - fix colspan on 'You are not presently connected' message

Previous versions, some with github comments: 3fe9053134 , 486dbfc7bd , and c89ea62580, 9fabb92486, bbd8b42a25

Unlike previous attempts, the tests on this one should pass in any timezone.
(But like current master, will fail with Nevow >=0.12...)

Thanks to an anonymous contributor who wrote some of the tests.
2016-01-23 14:28:09 +00:00
Leif Ryge
c86388b79c revert previous commit to fix attribution (vanity)
This reverts the previous commit (modulo the one line that daira added) so that
my contributions will be properly attributed by git blame etc.
2016-01-23 14:27:11 +00:00
Daira Hopwood
a2d724aab7 wui: improved columns in welcome page server list
As discussed at https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1973 and in
previous pull request #129.

 - replace lengthy timestamps with human-readable deltas (eg 1h 2m 3s)
 - replace "announced" column with "Last RX" column
 - remove service column (it always said the same thing, "storage")
 - fix colspan on 'You are not presently connected' message

Previous versions, some with github comments: 3fe9053134 , 486dbfc7bd , and c89ea62580, 9fabb92486, bbd8b42a25

Unlike previous attempts, the tests on this one should pass in any timezone.
(But like current master, will fail with Nevow >=0.12...)

Thanks to an anonymous contributor who wrote some of the tests.
2016-01-15 20:02:19 +00:00