451174b566
Download tracking fix
...
- don't reset tracking too early
- handle inserts when tracking objects
2018-02-01 22:31:45 +01:00
8a5ec29540
Store object hash as binary in sqlite (inventory)
2018-02-01 21:24:50 +01:00
PyBitmessage Translations
283696a053
Auto-updated language pl from transifex
2018-02-01 20:19:08 +01:00
PyBitmessage Translations
2f150dcdd7
Auto-updated language eo from transifex
2018-02-01 19:17:51 +01:00
167d946435
RandomTrackingDict now tracks properly
...
- it didn't put the correct keys at the end
2018-02-01 14:43:14 +01:00
290b87a49f
Download fixes
...
- don't expire too quickly
- ignore connections that haven't been fully established yet
2018-02-01 12:48:14 +01:00
c5dc7fc903
Typo
2018-02-01 12:26:54 +01:00
8d05742436
Typo
2018-02-01 12:20:41 +01:00
68b58ce0c5
Download optimisation
...
- new data structure to handle download tracking, uses less CPU
2018-02-01 12:19:39 +01:00
d223bfc6f2
Fix kqueue poller
...
- separate read and write filters
- make filters peristent for reduced syscall count
2018-01-31 22:25:23 +01:00
222e666a60
Network thread shutdown iterator fix
...
Thanks to @g1itch for pointing this out.
2018-01-31 21:09:36 +01:00
25a9e5ea45
Fixed errors I introduced in commit 4115540
after rebase
2018-01-31 20:12:04 +02:00
PyBitmessage Translations
0c4ea7d20f
Auto-updated language ru from transifex
2018-01-31 17:34:38 +01:00
f4861be976
Add Ukrainian translation file
2018-01-31 12:33:43 +02:00
175f8b14a5
Update SOURCES and FORMS in bitmessage.pro
2018-01-31 12:31:23 +02:00
9807d3e4b4
Don't complain about being disconnected if in offline mode
2018-01-30 17:42:10 +01:00
ced3f78fb4
Merge branch '1092' into v0.6
2018-01-30 17:32:25 +01:00
PyBitmessage Translations
80ca82ad8b
Auto-updated language ru from transifex
2018-01-30 16:33:27 +01:00
c92c2aebc2
Blank title of RegenerateAddressesDialog also
2018-01-30 17:27:01 +02:00
afcd83a434
This is probably the right way to handle modal dialogs
2018-01-30 17:27:01 +02:00
41155406d6
Simplified showing statusbar messages:
...
- Use MyForm.statusbar set in __init__ instead of MyForm.statusBar()
- MyForm.updateStatusBar() to show the message in MyForm methods
- queues.UISignalQueue.put(('updateStatusBar', msg)) in dialogs
2018-01-30 17:27:01 +02:00
ece5ad9113
Separated dialogs which deal with addresses into address_dialogs module
2018-01-30 17:27:00 +02:00
c699f6d872
Got rid of wildcard imports in bitmessageqt.__init__
2018-01-30 17:27:00 +02:00
641db73614
Removed unused _encoding and _transalate
2018-01-30 17:27:00 +02:00
25876ded2b
Removed unused import of inventory.Inventory
2018-01-30 17:27:00 +02:00
cd88d063a1
Imported NewChanDialog into dialogs module
2018-01-30 17:26:59 +02:00
35a11c271a
Moved NewAddressDialog into dialogs module
2018-01-30 17:26:59 +02:00
8109fa7ece
Moved EmailGatewayDialog (with both usage) into dialogs module
2018-01-30 17:26:59 +02:00
fe76d230eb
Moved RegenerateAddressesDialog into dialogs module
2018-01-30 17:26:58 +02:00
b899086d91
Followed the recommendation #527 about tab indexes
2018-01-30 17:26:58 +02:00
20288d4ab4
Try to replace copyright year from last commit date
2018-01-30 17:26:58 +02:00
b9cd571d9b
Hide redundant QGroupBox title
2018-01-30 17:26:58 +02:00
f3808212b5
Added link to github into labelVersion in AboutDialog
2018-01-30 17:26:57 +02:00
62a930c374
Moved SpecialAddressBehaviorDialog into dialogs module
2018-01-30 17:26:57 +02:00
c965a1d2aa
Moved helpDialog and connectDialog also into dialogs module
2018-01-30 17:26:51 +02:00
e2e7e16ab7
Moved aboutDialog and iconGlossaryDialog also into dialogs module
2018-01-30 17:26:42 +02:00
d9d9f9d787
Returned AddAddressDialog and NewSubscriptionDialog into dialogs module
...
where it's been initialized by loading the ui-files.
2018-01-30 16:59:51 +02:00
81c80aa98f
Use AddAddressDialog for "Add sender to your Addres Book" context menu
2018-01-30 16:59:51 +02:00
9e79386595
Set state to "close" and call handle_close()
for all connections
2018-01-30 14:04:03 +02:00
25ef9fec51
Added menu entry "File -> Go offline/Go online" switching dontconnect
...
config variable and "Work offline" option to connectDialog.
2018-01-30 14:04:03 +02:00
cc63c1270b
Fix message content display after deleting/undeleting
2018-01-28 16:13:07 +01:00
aabce6bab2
Fix selection after delete/undelete
2018-01-28 12:48:25 +01:00
08ac8a077b
Merge branch '1062' into v0.6
2018-01-28 10:41:09 +01:00
ff92cc30c8
Fix previous commit (UI deleting optimisation)
2018-01-28 09:16:37 +01:00
0f61ed9f19
Optimise UI deleting and undeleting multiple messages
...
- use sqlExecuteChunked and disable UI updates while removing entries
2018-01-28 08:12:46 +01:00
bc7227f513
Merge branch '1090' into v0.6
2018-01-27 16:38:13 +01:00
6fca1631af
Made use of helper_sql.sqlExecuteChunked() also in on_action_InboxMarkUnread
2018-01-25 23:22:15 +02:00
80fdb08f03
Made use of helper_sql.sqlExecuteChunked() in the on_action_MarkAllRead
2018-01-25 23:04:38 +02:00
0097ea6476
The condition which is always False causes critical error #1081
2018-01-25 14:29:25 +02:00
d3a83eced6
Merge branch '1065' into v0.6
2018-01-25 13:16:55 +01:00
61ddc1208e
No more shared.daemon variable
2018-01-25 12:58:29 +02:00
8709051005
Fix non-ascii logging
...
Tested with UTF-8, KOI8-R and ISO-8859-2 encodings.
2018-01-25 08:11:42 +01:00
66b3c6d881
Merge branch '1060' into v0.6
2018-01-25 03:09:47 +01:00
d6df4470e1
No connection CPU hog fix
...
- the previous fix was incomplete, it shouldn't consume excessive
resources now when there are no connections
2018-01-23 15:59:58 +01:00
01c8f3b66d
Fix asyncore CPU usage on no connection
...
- if there are no connections, asyncore would hog CPU
- thanks to an anonymous contributor
2018-01-22 22:37:29 +01:00
ba91d21261
CPU hogging fix
...
- handle _command functions that don't return anything
- fix udp command function
2018-01-22 22:18:01 +01:00
460107abaa
Handled AttributeError when tr imported from plugin
2018-01-17 13:58:37 +02:00
0c4d4de82f
Changed the daemon check approach in other places, where it makes sense
2018-01-17 13:58:37 +02:00
1b921a718c
Check daemon status in singleinstance instead of config
2018-01-17 13:58:37 +02:00
c9851b9f41
Connection lookups invalid data handling
...
- shouldn't throw an exception if argument is a string rather than Peer
2018-01-02 22:23:03 +01:00
f74f82e54f
Start downloading earlier
2018-01-02 22:20:33 +01:00
4086253730
Bandwidth limit optimisation
...
- should be slightly more accurate and use slightly fewer resources
2018-01-02 15:24:47 +01:00
8788f2d349
Server full and duplicate handling
...
- will try to report "Server full" over protocol for 10 extra
connections over limit, instead of simply dropping them
- if connected to the same host inbound and outbound, handle as server
full (prevents duplicate connections)
2018-01-02 14:29:21 +01:00
9b58f35b80
App name in version
2018-01-02 13:56:03 +01:00
6b54a4ab0e
Daemonize fix
...
- forgot to revert a line in previous commit
2018-01-01 13:10:19 +01:00
d9a4263083
Daemonising fixes
...
- change forking exit order as systemd expects (wait until child is
ready, then exit parent, then grandparent)
- fix signal handler if prctl not installed
- revert recent PID file changes
2018-01-01 13:08:12 +01:00
baba0ae206
Remove obsolete code
2018-01-01 13:04:58 +01:00
36cc5b9cf5
Download optimisations
...
- don't make empty download requests
- use smaller chunks when they can be spread across multiple
connections
2018-01-01 12:51:35 +01:00
1864762a0a
Apply bandwidth limits without restart
...
- also minor style fixes
2018-01-01 12:49:08 +01:00
bcc5a210a4
Fix PID file if not daemonized
2017-12-29 09:13:41 +01:00
e9b1aa48a9
Protocol error handler fixes
...
- was broken if there was no error message in "raise"
- added default texts for network exceptions
2017-12-29 08:49:08 +01:00
02490e3286
Don't break if over 50k messages
...
- typo if there were over 50k messages in inventory caused PyBM to stall
2017-12-29 08:41:15 +01:00
sigoa
394d564bdc
minor mod of ver.
...
not a biggie
2017-12-26 15:01:12 +01:00
sigoa
a0e5ee4cce
utf chan name support, various fixes
...
no unused variables etc. any longer
2017-12-26 14:17:37 +01:00
3cb9547389
Only write PID after last fork
...
- should fix systemd integration
2017-12-21 14:26:51 +01:00
5605672f75
Fix tag search when inventory contains blobs
...
- recent changes caused the "tag" (and "payload") columns in the
inventory table in messages.dat to be stored as blobs. Searches by tag
(e.g. pubkey lookups) stopped working. This fixes it.
2017-12-02 02:48:10 +01:00
a3398d6a17
Don't crash download thread if no connections
2017-12-02 00:50:58 +01:00
41ead2bfb5
Distribute downloads more evenly
...
- also increases expireation of missing objects from 10 minutes to an
hour
2017-12-02 00:48:08 +01:00
3b86dfc639
Log missing indicator plugin
2017-12-02 00:45:01 +01:00
4ee9d05446
Randomise key order during decryption
...
- may help against timing/radio attacks
2017-11-30 20:08:14 +01:00
6c224447a6
Minor fixes that came over BM
...
- typo in quit confirmation dialog
- nicer traceback in unhandled exceptions
2017-11-30 19:44:03 +01:00
48c0a2ae2e
Arithmetic fix for preceding commit
2017-11-30 19:42:49 +01:00
6ce3ce6b22
Chunking helper for sql statements with too many variables
...
- preparation for #1081
2017-11-30 19:39:31 +01:00
PyBitmessage Translations
52162046bd
Auto-updated language ru from transifex
2017-11-29 10:38:58 +01:00
44dd08a228
Remove obsolete code in cleaner thread
2017-11-22 21:13:35 +01:00
6ca3460090
Put garbage collection into the cleaner thread
...
- this maybe addresses #1079
2017-11-22 14:49:18 +01:00
e558b1fb72
Error handling
...
- proxy connections didn't init fullyEstablished
2017-11-19 13:48:43 +01:00
fdfbb77ed2
Close filehandles on connection reaping
...
- I thought this is done automatically through garbage collection, but I
think as the channel is still assigned in the asyncore map, it needs
to be done manually. Basically filehandle limit exceeded and it
crashed
2017-11-19 00:05:55 +01:00
5e042b76e7
Typo
...
- missing brackets
2017-11-18 10:05:41 +01:00
3aa6f386db
Dandelion fixes
...
- dandelion would always think there is a cycle and trigger fluff
- cycle fluff trigger didn't correctly re-download and re-announce the
object. Now it remembers between (d)inv and object commands that it's
in a fluff trigger phase.
2017-11-18 09:47:17 +01:00
4690dd6f00
Copy object contents from buffers on instantiation
...
- this may fix some memory issues
2017-11-17 23:53:46 +01:00
3c3d69e5de
Reap closed connection fix
2017-11-17 19:50:39 +01:00
1e02d2b48a
Download optimisation
...
- pending download tracking now per-connection instead of globally
2017-11-17 19:49:51 +01:00
5a787f41d2
Socket closing changes
...
- explicit close only through asyncore error handler
- implicit close through garbage collector
- avoid duplicate closing
2017-11-17 13:37:51 +01:00
2da1115d17
Typo
...
Typo in 89567cecfa
2017-11-14 23:46:07 +01:00
1792289e00
close handling fix
...
- don't close a connection twice
2017-11-14 23:43:05 +01:00
d2f79d3172
sqlite storage fix
...
- typo on cleaning
2017-11-14 23:20:15 +01:00
89567cecfa
Notifier plugin fix
...
- NotifyOSD doesn't like too many notification objects in a queue, so
just create one on init and update its contents if there is a new
notification
2017-11-14 23:19:16 +01:00
PyBitmessage Translations
d6e94cf77f
Auto-updated language zh_cn from transifex
2017-11-02 12:42:50 +01:00
PyBitmessage Translations
8b7b91b23d
Auto-updated language de from transifex
2017-10-31 09:40:18 +01:00
e17d33cd75
Respect user selected sort order on "Network Status" tab
2017-10-24 14:02:15 +03:00
4b40d4bce1
Download thread error handling
2017-10-22 15:28:30 +02:00
75a6f605c1
Download optimisation
...
- more accurate tracking
- randomise download order
- longer cycle
2017-10-22 11:32:37 +02:00
b025624f2a
missingObjects fix
...
- didn't notice valid objects arriving (only invalid)
2017-10-20 23:21:25 +02:00
6655e99aa3
Pending download stats optimisations
...
- tracks separately a global list for a faster sum. Needs slightly
more memory
2017-10-20 23:11:33 +02:00
a746ba9da7
Stop downloading objects with insufficient PoW
...
- object with insufficient PoW weren't correctly detected and it
tried to download them over and over again
2017-10-20 13:21:39 +02:00
2d34e73648
Dandelion updates
...
- fixes and feedback from @gfanti and @amiller
- addresses #1049
- minor refactoring
- two global child stems with fixed mapping between parent and
child stem
- allow child stems which don't support dandelion
- only allow outbound connections to be stems
- adjust stems if opening/closing outbound connections (should
allow partial dandelion functionality when not enough outbound
connections are available instead of breaking)
2017-10-20 01:21:49 +02:00
15857e6551
Asyncore updates
...
- reduce buffer size to 128kB (was 2MB)
- IP address handling use str instead of buffer (the latter, even
though it should be faster, breaks the code on Windows)
- read up to full buffer after fully established (otherwise
downloads become too slow due to the loop time). This reverts
a change made in d28a7bfb86
2017-10-20 01:07:30 +02:00
8fcdf51e57
One more unicode related exception - when editing a contact label
2017-10-19 18:43:41 +03:00
9be36f2d78
Use unicode instead of str for MessagingMenu
2017-10-19 18:29:42 +03:00
PyBitmessage Translations
364642404a
Auto-updated language ja from transifex
2017-10-19 12:26:51 +02:00
ab458531e8
Changes in SOCKS and onion handling in connectionchooser
...
- onion addresses have a priority of 1 when SOCKS is on
- don't connect to private/loopback addresses when SOCKS is on
2017-10-19 09:16:29 +02:00
7b470d4b66
handle shutdown in receivequeuethread
...
- sometimes during shutdown, the receivequeuethread would get
stuck
2017-10-19 09:11:34 +02:00
391d40d78b
Socket closing changes
...
- closing reason moved to a variable
- actual closing now done in asyncore thread instead of
receivedata thread
2017-10-19 09:08:05 +02:00
01d46c30e4
Remove obsolete imports
2017-10-19 09:03:36 +02:00
d28a7bfb86
Asyncore performance optimisation
...
- don't transfer unnecessary amount of bytes from network buffers
- slice buffer more efficiently if it results in an empty buffer
2017-10-19 09:02:33 +02:00
7ec3fc7a5a
Prevent negative DownloadChunk in asyncore
2017-10-19 09:00:54 +02:00
f785558ca5
Don't close UDP socket on bad packet magic
2017-10-19 09:00:02 +02:00
a090eea9b0
Minor multiqueue updates
...
- add task_done to addrthread and invthread
- implement totalSize for multiqueue
- order in invThread changed
2017-10-19 08:56:48 +02:00
d44c6c6464
Forget known nodes with bad rating
2017-10-19 08:52:44 +02:00
453bcdbb1d
Typo in newchandialog
2017-10-19 08:39:30 +02:00
a013814c6b
Network tab updates
...
- handle add/remove entry instead of recreating the whole connection
list
- update processed object counts after each object
2017-10-19 08:39:09 +02:00
1ba1f02686
Remove superfluous validator signal connect in newchandialog
...
- apparently it connects automatically and just creates an error message
2017-10-19 08:31:05 +02:00
7e0932815d
UDP socket closing fix
...
- invalid data or an incomplete read on UDP socket caused
it to close
2017-10-19 01:46:32 +02:00
9cffd50de8
Fixed statusbar message on error in namecoin name search
2017-10-17 11:37:50 +03:00
59d1309a9e
Fixed typo when closing tempfile in bitmessageqt.__init__
2017-10-17 11:25:33 +03:00
8e76169388
Check IP before adding to knownnodes in helper_bootstrap
2017-10-17 01:33:30 +03:00
9dae77dd2b
Quiet Mode (i.e. turn off notification) in tray menu
2017-10-16 19:30:12 +03:00
4c9006a632
Asyncore performance optimisation
...
- use bytearray instead of strings for buffers
2017-10-16 08:07:32 +02:00
PyBitmessage Translations
1eb0dd6f01
Auto-updated language fr from transifex
2017-10-15 13:45:31 +02:00
a49b3b5f84
Asyncore UDP fix
...
- when there was an error writing to a udp socket, it wasn't
handled correctly
2017-10-06 18:26:06 +02:00
333170b172
Dandelion fixes
...
- more exception handling
- only use outbound connections for stems
(thanks to @amillter for info)
- don't create stems if config disabled
- addresses #1049
2017-10-06 16:33:44 +02:00
1abdc14807
Fix statusbar chan creation message:
...
non-ASCII characters displayed incorrectly
2017-10-03 18:01:54 +03:00
6548999a49
Dandelion fix
...
- thanks to g1itch for reporting
- addresses #1049
2017-10-02 08:02:29 +02:00
b1442ecb0a
Dandelion fixes and updates
...
- also, randomise the item order in an inv/dinv command
2017-09-30 13:42:04 +02:00
f97ada87
be0e724b23
implement stealth ack objects
2017-09-30 19:45:40 +10:00
f97ada87
08748fa9ae
move config read inside main function
2017-09-27 00:36:43 +10:00
f97ada87
dbd12ab8b4
fix truncation of received ackdata in objectProcessor
2017-09-25 20:14:03 +10:00
PyBitmessage Translations
1798c90622
Auto-updated language ja from transifex
2017-09-25 11:10:16 +02:00
9923d288e0
Dandelion fixes
...
- in route selector, some connections may not have the services
attribute (yet)
- Addresses #1049
2017-09-25 09:17:15 +02:00
d574b167d8
Dandelion updates & fixes
...
- Addresses #1049
- Add dandelion routes for locally generated objects
- Minor bugfixes
- Send dinv commands on stem objects (instead of always sending inv
command)
2017-09-25 08:49:21 +02:00
6ce86b1d0a
Dandelion++ implementation
...
- untested, some functionality may be missing, don't turn on
- also, it randomises upload of requested objects
- affects #1049
2017-09-25 01:17:04 +02:00
PyBitmessage Translations
8495836428
Auto-updated language ru from transifex
2017-09-24 11:49:32 +02:00
f97ada87
c89d86a779
use getopt parser for command-line arguments
2017-09-24 07:42:37 +10:00
aaa5e9d309
Windows daemon mode workaround
2017-09-23 18:25:41 +02:00
f97ada87
cfa84cf81a
change default log output from stdout to stderr
2017-09-24 01:50:49 +10:00
PyBitmessage Translations
a8ab574c3e
Auto-updated language pl from transifex
2017-09-21 21:06:53 +02:00
PyBitmessage Translations
680cc2cafc
Auto-updated language de from transifex
2017-09-21 19:16:40 +02:00
PyBitmessage Translations
df21f53271
Auto-updated language eo from transifex
2017-09-21 19:08:10 +02:00
1881bcea68
Don't connect on first start until approved
2017-09-21 18:18:42 +02:00