Commit graph

1436 commits

Author SHA1 Message Date
jobevers
993f2e54f9 more fixes for build 2017-02-16 14:13:01 -06:00
Job Evers‐Meltzer
fb2823f59e don't need this anymore 2017-02-16 14:13:00 -06:00
jobevers
f1231bd8e5 remove UI_Manager 2017-02-16 14:11:54 -06:00
Job Evers-Meltzer
caa8f73f7c remove header check 2017-02-16 14:09:43 -06:00
jobevers
0674b48223 record traceback in error event 2017-02-16 13:31:59 -06:00
Job Evers‐Meltzer
5bf75ef139 Merge pull request #404 from lbryio/match-allow-origin
Allow requests that match allowed-origin
2017-02-16 12:02:20 -06:00
Job Evers-Meltzer
e2db99f7ab allow requests that match allowed-origin 2017-02-16 11:44:23 -05:00
Jack Robison
3ddf8680fb blob commands
refactor blob_get
add descriptor_get
add blob_delete
refactor blob_list
2017-02-16 11:20:02 -05:00
Jack Robison
25ec8fde23 add timeout to get_availability and peer_list
-add optional timeout to DHTPeerFinder.find_peers_for_blob
-add peer_search_timeout setting
2017-02-16 11:17:37 -05:00
Jack Robison
bcd026a1b6 add only-free payment rate manager for testing 2017-02-16 11:17:37 -05:00
Jack Robison
1a6290eacc log blob count at startup 2017-02-16 11:17:37 -05:00
Jack Robison
345301a9ee return file with pending claim with get_lbry_file
if a lbry file from the winning claim is in the file manager, return
it. otherwise return a lbry file with a pending claim if one exists.
2017-02-16 09:12:57 -05:00
Jack Robison
0f907a209b add EncryptedFileDownloader.load_file_attributes 2017-02-16 09:12:47 -05:00
Jack Robison
80dd02483e Merge branch 'master' into no-more-upload-allowed 2017-02-15 22:39:26 -05:00
jobevers
8452620f99 Bump version: 0.8.3rc3 → 0.8.3 2017-02-15 16:29:40 -06:00
Job Evers‐Meltzer
934a46a8b6 Merge pull request #452 from lbryio/retry-startup
Retry startup
2017-02-15 08:34:26 -06:00
jobevers
f7c105fd80 fixes 2017-02-15 06:48:59 -06:00
jobevers
9e2cda0cdc remove more upload_allowed arguments 2017-02-15 06:48:58 -06:00
jobevers
4fb5e932e6 fix indentation 2017-02-15 06:48:58 -06:00
jobevers
fe4dac8236 change downloader options to data_rate 2017-02-15 06:48:58 -06:00
Job Evers-Meltzer
2a45c91175 fix get_blob calls with upload_allowed arguments 2017-02-15 06:48:58 -06:00
Job Evers-Meltzer
a38e5c855e Remove upload_allowed attribute
This is unused and largely pulluting the argument list
of too many functions.
2017-02-15 06:48:50 -06:00
Job Evers-Meltzer
90d3a0ef9c Add script to reseed a file 2017-02-15 06:43:41 -06:00
jobevers
f989814e69 catch Unknownnameerror for resolve_name
Its expected behavior that a name won't resolve so this more
gracefully handles that case
2017-02-14 16:16:22 -06:00
jobevers
520ac9b50a change filemanger setup to inlinecallbacks 2017-02-14 10:27:16 -06:00
jobevers
dbb6c6f3a4 remove unused parts of file manager 2017-02-14 10:26:45 -06:00
jobevers
993d606bc6 add logging on downloader start 2017-02-14 10:26:03 -06:00
jobevers
ffb48ef287 bugfix: on restore, dont wait for download to finish 2017-02-14 10:25:34 -06:00
jobevers
62fcbc23e3 bugfix: exception needs string interpolation 2017-02-14 10:25:03 -06:00
jobevers
3bdd33567b whitespace 2017-02-14 09:14:18 -06:00
jobevers
6bdb0280be better log exception in EncryptedFileManager
The error message in #478 is too generic. This wraps the source of the
error in a try/catch and logs the traceback.
2017-02-14 09:11:39 -06:00
jobevers
77746cea5f Bump version: 0.8.3rc2 → 0.8.3rc3 2017-02-14 07:55:54 -06:00
jobevers
acfe034990 Bump version: 0.8.3rc1 → 0.8.3rc2 2017-02-13 23:34:36 -06:00
jobevers
e2021deae1 Bump version: 0.8.3rc0 → 0.8.3rc1 2017-02-13 22:06:57 -06:00
Umpei Kay Kurokawa
37cc257555 Merge pull request #465 from lbryio/dht_hash_announcer_tests
Adjust hash reannounce based on queue size , test for DHTHashAnnouncer, immediately announce new blobs
2017-02-13 21:08:48 -05:00
Jack Robison
aa8375673b Merge pull request #477 from lbryio/inlinecallbacks-refactor
Refactor publish, file manager, and file downloader
2017-02-13 17:42:54 -05:00
Kay Kurokawa
34f5bc93ae adding immediate announce option to hash announce 2017-02-13 17:27:10 -05:00
Kay Kurokawa
8e0f71ac74 Make hash reannounce time adjusted based on the queue of hashes yet to be announced, add test for DHTHashAnnouncer 2017-02-13 17:27:10 -05:00
Jack Robison
3cc8a4b168 add local and remote heights to blockchain status 2017-02-13 15:14:54 -05:00
Jack Robison
8859c1b0c1 fix claim_abandon 2017-02-13 15:14:54 -05:00
Jack Robison
867275461c feedback from job 2017-02-13 15:14:54 -05:00
Jack Robison
2190f4ac85 refactor GetStream
-convert to inline callbacks

-return more errors than just timeouts

-delete on timeout

-have a more understandable return condition (first data blob having
downloaded)
2017-02-13 15:14:54 -05:00
Jack Robison
7720724ec0 reflect lbry_files in looping call in EncryptedFileManager
-remove ManagedEncryptedFileDownloader._reupload

-clean up reflector functions in Daemon, move to reflector.reupload

-check ConnectionLost in reflector client

-close sd blob file handle when it wont be sent (otherwise read handle stays open)

-log reflector sd info

-give reflector client factory a lbry file
2017-02-13 15:13:37 -05:00
Umpei Kay Kurokawa
dbd71c93e7 Merge pull request #458 from lbryio/connection_manager_tests
Connection Manager tests and upgrades
2017-02-13 13:55:33 -05:00
Jack Robison
d137528f67 convert Daemon._delete_lbry_file to inlineCallbacks 2017-02-13 13:07:27 -05:00
Jack Robison
e292abceee convert EncryptedFileManager to use inlineCallbacks 2017-02-13 13:07:27 -05:00
Jack Robison
8de6bd7c7a convert EncryptedFileDownloader to inlineCallbacks 2017-02-13 13:07:27 -05:00
jobevers
bb9b221cf6 convert publish_sd_blob to inlineCallback 2017-02-13 13:07:27 -05:00
Jack Robison
5a1bab2eaa refactor Publisher and jsonrpc_publish
-add get_read_handle to file_utils

-don’t leave read handle hanging after creating lbry file

-get rid of threaded weirdness

-remove reflector functionality from Publisher

-fix updating with an existing stream

-reflect new stream in thread after broadcasting name claim
2017-02-13 13:07:27 -05:00
Kay Kurokawa
4f87e87d3e Adding connection manager tests, and modifying connection manager to be testeable, fix bug where failed connection was not marked as down 2017-02-13 12:17:27 -05:00
Alex Grintsvayg
c7106dfc97 reduce loudness of reflector message 2017-02-13 12:12:32 -05:00
jobevers
71123c0de1 add warning log on EWOULDBLOCK 2017-02-11 13:04:36 -06:00
Alex Grintsvayg
35b2e56bd4 silence "[Errno 11] Resource temporarily unavailable" error 2017-02-11 13:04:35 -06:00
jobevers
41abd0a171 Bump version: 0.8.2 → 0.8.3rc0 2017-02-10 14:16:29 -06:00
Jack Robison
630d0bf5be convert Wallet.claim_name to use inlineCallbacks 2017-02-09 10:13:41 -05:00
Jack Robison
19fe101d73 fix claim update
dict.update does not return the dict, so this can’t be lambda’d
2017-02-09 10:11:46 -05:00
Alex Liebowitz
0e8e489ad6 Fix how the bug report code accesses Slack API key setting
It was trying to access this setting as an attribute, which doesn't
work anymore. (Not sure if this is an API change in conf.settings or
just a bug.)
2017-02-08 23:05:32 -05:00
Jack Robison
e2050b4fc1 fix get_count_for_stream returning [(count, )] instead an int 2017-02-08 20:58:45 -05:00
Jack Robison
7e2456fa69 convert _setup, _check_stream_is_managed, _check_stream_info_manager, and _start_lbry_files to inlineCallbacks
remove unused MissingLBRYFile exception
2017-02-08 19:34:54 -05:00
Jack Robison
bfc02dd3e5 fix streams in stream_info_manager not being loaded by lbry_file_manager 2017-02-08 17:02:02 -05:00
Jack Robison
777419b4a9 log traceback on failed blob upload
-move status message on connectionDone to client, indicate if blobs
were sent or not (and how many blobs reflector still needs, if any)

-only try uploading failed blob once after first failure, to prevent
indefinite retries
2017-02-08 16:18:34 -05:00
Jack Robison
f2ddc9bd98 fix recursion depth bug upon failed blob 2017-02-08 14:28:30 -05:00
Jack Robison
d053db8dfd add uri to stream reflector for better logging 2017-02-08 14:28:16 -05:00
Jack Robison
a58a81a841 stopProducing in reflector client file_sender when uploading is done
this fixes exceptions.ValueError: I/O operation on closed file in
twisted.protocols.basic.ResumeProducing
2017-02-08 14:09:03 -05:00
Jack Robison
f614a13db4 update documentation 2017-02-06 15:56:00 -05:00
Jack Robison
6fae07d29e reflector v2
-add {‘sd_blob_hash’: …, ‘sd_blob_size ‘: …} query type with
{‘send_sd_blob’: True/False, ‘needed_blobs’: []} response

this allows the reflector client to know how much of a stream reflector
already has covered, as to minimize the number of subsequent requests
and prevent streams from being partially reflected

-remove empty {} request
2017-02-06 15:55:46 -05:00
Jack Robison
2126f69c93 use only DBEncryptedFileMetadataManager in Daemon
-fix Daemon.stream_info_manager and Daemon.lbry_file_metadata_manager
being different
2017-02-06 13:15:50 -05:00
Jack Robison
6f0581104a Merge pull request #408 from lbryio/non-blocking-update-check
non-blocking version check
2017-02-05 15:44:29 -05:00
Jack Robison
06be60e3a3 Merge pull request #406 from lbryio/installation-id
add installation id, re-initialize lbryid on each start
2017-02-02 11:37:31 -05:00
Jack Robison
45a6228b58 fix threaded lbryum check 2017-02-02 11:31:31 -05:00
jobevers
773cbe3ace Bump version: 0.8.1 → 0.8.2 2017-02-02 07:43:28 -08:00
Jack Robison
c6648ff6bc add installation id, re-initialize lbryid on each start 2017-02-02 10:23:17 -05:00
Jack Robison
f737b3aaf7 non-blocking version check
this fixes a bug where if github is down the app will fail to start.

-check for new version every 30 min instead of every 12 hours

-check connection problems every 30 seconds instead of every second
2017-02-02 10:18:09 -05:00
jobevers
8e349f17c1 fixes for named parameter changes on api 2017-02-01 20:47:53 -08:00
jobevers
4ab5ace668 Bump version: 0.8.1rc0 → 0.8.1 2017-02-01 15:57:05 -08:00
Job Evers‐Meltzer
2c137a99d1 Merge pull request #453 from lbryio/add-details-to-error-event
Add details to error event
2017-02-01 14:23:26 -08:00
Job Evers‐Meltzer
d1ed8a769a Merge pull request #450 from lbryio/block-too-deep
Fix #449: Block to deep error
2017-02-01 13:45:12 -08:00
jobevers
4bb3e2a154 remove is_lagging wallet attribute 2017-02-01 12:13:43 -08:00
Kay Kurokawa
a5e8c561e4 Revert "adding connection manager tests, and modifying connection manager to be testeable"
This reverts commit 7b6e233d22, as it was an accidental push to master
2017-02-01 11:59:36 -05:00
Kay Kurokawa
7b6e233d22 adding connection manager tests, and modifying connection manager to be testeable 2017-02-01 11:52:16 -05:00
Job Evers‐Meltzer
ac8a63bc33 Merge pull request #455 from lbryio/better-defaults
Change default behavior with daemon cmdline args
2017-01-31 10:13:18 -08:00
Alex Grintsvayg
46cb6b204a nicer error output 2017-01-31 10:38:07 -05:00
jobevers
8fc6feb316 log to console by default 2017-01-30 12:08:32 -08:00
jobevers
7377158631 change no-launch to launchui 2017-01-30 12:04:07 -08:00
Alex Grintsvayg
86ba7ffd5c explicitly list jsonrpc params in function signature. add jsonrpc tests 2017-01-30 09:58:28 -08:00
jobevers
ed227a239e Fixes #449
What was happening was the wallet claimed to be caught up before it
actually was and so the wallet’s local_height was still the value from
when lbry was last run, frequently more than 20 or 50 blocks
behind. _get_value_for_name uses the block at local_height as the
basis for the proof.  If _get_value_for_name is called during that
time between when the wallet claims to be caught up and it actually
is, the “Block too deep error” happens.  And since the discover page
of the UI does name resolution right away, the error basically happens
anytime somebody starts the app after not using it for a few hours.

This changes the startup behaviour of the wallet to
- use the `update` callback provided by lbryum
- check that local_height and network_height match before declaring
  that the wallet has caught up

For reference, the error is raised here:
1b896ae75b/src/rpc/claimtrie.cpp (L688)
2017-01-30 09:32:04 -08:00
jobevers
7360015fa4 small refactor 2017-01-30 09:32:04 -08:00
jobevers
04ee2f786d remove backslash line continuation 2017-01-30 09:32:04 -08:00
jobevers
43451c485f change alerts to logs 2017-01-30 09:32:04 -08:00
jobevers
565f26bdad switch error event to use log record and add more details 2017-01-30 09:30:46 -08:00
jobevers
b7478ba817 replace send_error with log.error 2017-01-30 09:30:46 -08:00
jobevers
1c92b5d2ea retry startup 2017-01-30 09:25:44 -08:00
Job Evers‐Meltzer
139af85b52 Merge pull request #445 from lbryio/retry-get
Retry the get call three times before failing
2017-01-27 10:08:25 -06:00
Umpei Kay Kurokawa
893fe8823e Merge pull request #409 from lbryio/fix_wallet_race_condition
Fix wallet balance interfaces
2017-01-26 15:12:54 -05:00
jobevers
3dc1a523cf retry the get call three times before failing 2017-01-26 14:09:54 -06:00
Kay Kurokawa
90438ddf9f removing str() from logging functions 2017-01-26 12:14:33 -05:00
Kay Kurokawa
08e336e476 adding better debug logs for ConnectionManager and ClientProtocol 2017-01-26 12:09:55 -05:00
Kay Kurokawa
0e864f5df1 Update interface for wallet balance 2017-01-26 11:41:27 -05:00
Jack Robison
854dea797e Bump version: 0.8.0 → 0.8.1rc0 2017-01-25 17:49:52 -05:00
Alex Grintsvayg
c88631d910 fix long lines 2017-01-25 17:00:21 -05:00
Alex Grintsvayg
897fba35df fix formatting, reenable pylint 2017-01-25 15:33:46 -05:00
Jack Robison
74a872d763 fix pylint errors 2017-01-25 13:10:38 -05:00
Jack Robison
3b65f5962c disable verbose twisted logs 2017-01-25 13:04:02 -05:00
Jack Robison
5fa2dfeca7 try reflecting all the blobs in a stream
previously only the sd blob was reflected, if the server indicated it
needed the blob then the rest of the stream would follow. this allowed
for many streams to be partially reflected, where for whatever reason
the connection was broken before the full upload was completed. this
meant that on a subsequent run, the client would falsely believe
reflector had the whole stream when it actually only had some portion
of it.

this solution isn’t ideal, I’m most of the way done with a better one,
but this can be deployed now.
2017-01-25 13:03:48 -05:00
Job Evers-Meltzer
bb9d3bff74 Bump version: 0.8.0rc2 → 0.8.0 2017-01-24 11:56:36 -05:00
Job Evers‐Meltzer
ec873129d5 Merge pull request #434 from lbryio/ensure-tmp-blobs-deleted
Bug fix: delete empty blobs
2017-01-24 11:55:13 -05:00
Job Evers‐Meltzer
a90f413f94 Merge pull request #438 from lbryio/warn_large_wallet
Add warning for large wallet sizes
2017-01-24 11:54:53 -05:00
Kay Kurokawa
ee84253b90 add warning for large wallet sizes 2017-01-23 18:55:20 -05:00
Job Evers‐Meltzer
06e45ee32a Merge pull request #410 from lbryio/reveal-open-refactor
Add open() API method and refactor/update reveal() API method (WIP)
2017-01-23 16:44:31 -05:00
Job Evers-Meltzer
7696f30009 add debug log to hash announcing 2017-01-21 22:48:16 -06:00
Job Evers-Meltzer
c211d87164 Bug fix: delete empty blobs
When creating a CryptStream, the last blob is always empty. Previously, this
blob wouldn't be deleted and would instead just stick around in the blobfiles
directory.
2017-01-21 17:27:19 -06:00
Alex Liebowitz
d3a63c38fc Fix pylint errors 2017-01-20 22:36:31 -05:00
Alex Liebowitz
08aa024499 Use inlineCallbacks for jsonrpc_open() and jsonrpc_reveal() 2017-01-20 22:29:27 -05:00
Alex Liebowitz
5db1a4d328 Refactor and update open() and reveal() RPC methods
- Both methods now take an SD hash instead of a path (more logical API
   and avoids potential security problems)
 - Moves the core logic into functions on a new module,
   lbry.core.file_utils
 - Adds reveal support for Windows
2017-01-20 22:29:27 -05:00
Alex Liebowitz
e95adecd41 Rename jsonrpc_open_file to jsonrpc_open 2017-01-20 22:29:27 -05:00
Alex Liebowitz
8b68a752ed Add file_utils module 2017-01-20 22:29:27 -05:00
Alex Liebowitz
51a5510b38 Add open_file() RPC method 2017-01-20 22:29:27 -05:00
Job Evers-Meltzer
2c9c0da501 get_blob bug fix 2017-01-20 17:41:08 -06:00
Umpei Kay Kurokawa
60195ed6d4 Merge pull request #427 from lbryio/fix_new_address
Prevent excessive generation of new addresses
2017-01-20 17:14:21 -05:00
Job Evers-Meltzer
3e774fc158 missed another verified time check 2017-01-20 18:47:53 +00:00
Alex Grintsvayg
c62ee6bb0c fix loading settings from env 2017-01-20 13:38:49 -05:00
Alex Grintsvayg
3aea476014 ignore invalid config file keys 2017-01-20 12:39:59 -05:00
Job Evers-Meltzer
8c5f7a9849 fix missing arg in get_blob 2017-01-20 11:35:34 -06:00
Job Evers‐Meltzer
6c571b5227 Blob verification fixes (#428)
* Move the blob verification to the actual Blob object
 * remove the check on verification time
 * remove get_blob_length from BlobManager

Removed because I'm not sure what checking verification time against ctime gets us, except some protection against an accidental modification of the blob.
2017-01-20 10:54:36 -06:00
Kay Kurokawa
8628b127f7 do not create new addresses in lbryum, get unused ones 2017-01-18 20:48:23 -05:00
Job Evers-Meltzer
851ab7ba28 Safegaurd against there not being a wallet on status call
Also switch status call to an inlineCallback
2017-01-18 09:36:01 -06:00
Job Evers-Meltzer
7bc1bc487f Bump version: 0.8.0rc1 → 0.8.0rc2 2017-01-17 22:08:34 -06:00
Job Evers‐Meltzer
05d50c1821 Merge pull request #420 from lbryio/fix-watch-resource
fix resource needed for watch
2017-01-17 22:07:06 -06:00
Job Evers-Meltzer
13bfcb3561 fix missing id_ parameter to _render_error 2017-01-17 20:01:28 -06:00
Job Evers-Meltzer
1a850b0256 log exception on callback failure 2017-01-17 20:01:04 -06:00
Job Evers-Meltzer
78b0f923f4 fix resource needed for watch 2017-01-17 19:26:09 -06:00
Alex Grin
17d9c0ab97 Merge pull request #417 from lbryio/refactor_settings
refactor conf.settings
2017-01-17 14:53:01 -05:00
Alex Grintsvayg
23872c77e9 fix long lines 2017-01-17 12:31:48 -05:00
Alex Grintsvayg
cac8267e85 updates, more refactoring for greater clarity 2017-01-17 12:29:09 -05:00
Alex Grintsvayg
267c6cbaca refactor conf.settings 2017-01-16 22:32:54 -05:00
Kay Kurokawa
03b214a9d2 convert claim_out['fee'] to float 2017-01-16 15:36:37 -05:00
Job Evers-Meltzer
8a026071eb Bump version: 0.8.0rc0 → 0.8.0rc1 2017-01-16 12:01:35 -05:00
Job Evers-Meltzer
8a338b37b2 Bump version: 0.7.12 → 0.8.0rc0 2017-01-13 14:15:01 -06:00
Job Evers‐Meltzer
2b2fa29db5 Merge pull request #395 from lbryio/fix_publish_output
Fix Daemon RPC command publish output
2017-01-13 14:02:23 -06:00
Job Evers‐Meltzer
ddcfa7f97c Merge pull request #383 from lbryio/logging-improvements
Logging Improvements
2017-01-13 13:42:35 -06:00
Job Evers‐Meltzer
ddf24de16d Merge pull request #407 from lbryio/handle-closed-api-requests-rebase
handle dropped api requests
2017-01-13 13:33:42 -06:00
Alex Grintsvayg
8277df1034 minor nits 2017-01-13 12:26:37 -05:00
Jack Robison
e03bba0b62 handle dropped api requests 2017-01-13 10:41:59 -06:00
Job Evers-Meltzer
e61260a263 merge with change stop to be an inlineCallback 2017-01-13 08:24:07 -06:00
Job Evers-Meltzer
a9261b2032 change stop to be an inlineCallback 2017-01-13 08:24:07 -06:00
Job Evers-Meltzer
9366a6e561 bug fix: reset blob_requester between start/stop 2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
488c04543d add TODO comment 2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
cb2bb6ee6b bug fix: properly stop ConnectionManager
It is possible (likely) that a manage call is in progress when
`stop` is called. When that happens, _manage will continue to
run, and schedule another call - and the manager won't actually stop,
and will likely cause an error as other components have been torn down.

This fix adds a deferred that gets created when a manage call starts
and is fired when its done.  At this points its safe to start the
stopping process.  Also add a check to not schedule another manage
call if we're stopped

This fixes https://app.asana.com/0/142330900434470/239832897034382
2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
0bb62515a8 reorder functions to match call order 2017-01-13 08:24:06 -06:00
Job Evers-Meltzer
f535d96929 switch stop to inlineCallback 2017-01-13 08:24:06 -06:00