Commit Graph

1575 Commits

Author SHA1 Message Date
PyBitmessage Translations
Auto-updated language sk from transifex 2016-10-26 22:21:58 +02:00
PyBitmessage Translations
Auto-updated language de from transifex 2016-10-26 05:05:51 +02:00
PyBitmessage Translations
Auto-updated language sk from transifex 2016-10-26 04:56:43 +02:00
Typo 2016-10-26 02:19:26 +02:00
Label change fix
- when changing an addressbook label using UTF-8, the correspnding
  messagelist label was garbled
2016-10-25 07:54:52 +02:00
"From" combobox empty fix
- if label of your address is empty, the "From" combo box showed an
  empty entry (just the identicon). Now it shows the address instead
- fixes #898
2016-10-25 02:51:09 +02:00
Make clear that address error message refer to the recipient
- a user report indicated there is confusion about address error
messages. He/she thought it refers to the sender address, however it
refers to the recipient address. This makes it more clear
2016-10-24 22:33:13 +02:00
Recipient address error message status bar unicode fix
- when reporting an error about recipient address in the status bar, it
didn't correctly handle unicode
2016-10-24 22:31:54 +02:00
"Fetch Namecoin ID" button font size fixed 2016-10-24 22:29:14 +02:00
HTML parser fix
- the UTF-8-ifying of tags had missing brackets
2016-10-23 18:35:20 +02:00
Notify in UI if time offset wrong
- if your time is off by more than an hour, you won't be able to
  establish a connection to the network. This patch adds a UI
  notification so that the user can understand why he can't connect.
2016-10-23 10:12:49 +02:00
HTML parser fix
- sometimes, a tag attribute name is UTF-8, sometimes it isn't. This
  change makes it handle both
2016-10-23 09:02:27 +02:00
Multiprocessing PoW fixes and improvements
- the multiprocessing PoW should now work correctly
- it also should be interruptible correctly and the GUI will ask about
  it during exit
2016-10-22 05:00:35 +02:00
Message list loading performance improvement
- by disabling UI updates (which are not necessary as it freezes
  anyway), the message list loading is faster
2016-10-22 01:47:29 +02:00
Freezing message parser fix #2
- this has been tested on Windows as well, and has been cleaned up.
  There is now a permanent parser thread, and it restarts when the
  parsing takes more than 1 second
- Fixes #900
2016-10-22 01:45:32 +02:00
Long message parsing fix
- while 448ceaa74c fixed slow rendering on
  windows, there was still a bug where overly long messages caused
  freezeing of the hyperlink regexp parser, which appears to happen on
  all platforms. Maybe it's a freeze, maybe it just takes too long. This
  patch aborts the regexp parser after 1 second and simply displays the
  message without hyperlinks being clickable. This doesn't affect HTML
  mode because there the links are kept as they are
- Fixes #900
2016-10-21 15:54:02 +02:00
MessageView localisation fix 2016-10-20 20:38:21 +02:00
Line wrap performance workaround
- some messages (e.g. some long messages on Windows, or binary data)
  cause an excessive amount of time in rendering the body. This
  change is base on a workaround I found at
2016-10-20 20:26:53 +02:00
Message does not need plurals 2016-10-20 16:54:25 +02:00
Multiple UI status updates
- most status messages are transient, so they are now only displayed for
  10 seconds
- when trying to quit while disconnected or not fully synced, a
  three-choice message box now appears: Yes for waiting, No for
  closing anyway, and Cancel for aborting the shutdown procedure
2016-10-20 16:06:46 +02:00
Copyright UTF8 character fix
- this copyright character has been plaguing pylupdate4 parser and
  multiple unsuccessful attempts have been made and then reverted.
  Replaced with a HTML entity, hopefully this will finally fix it.
2016-10-20 02:50:00 +02:00
More proxy fixes
- proxy connection should be able to handle IPv6 correctly
- UI status bar notification typo fix
2016-10-20 02:49:07 +02:00
Proxy error handling
- UI will now display notifications in the status bar if the connection
  to the proxy itself is broken. This should give better feedback to
  people who are unfamiliar with tor and misconfigured it
- The proxy error handling in the background was slightly improved as
2016-10-20 01:49:40 +02:00
Marius Ghita
7aecb4aad1 Hide connection notifications configuration option
New option on the User Interface settings tab, to hide connection
notification messages.
2016-10-11 19:14:06 +02:00
- see
  e6ce73f4bd (commitcomment-19344095)
2016-10-08 10:01:34 +02:00
Translation source update 2016-10-05 20:50:07 +02:00
Translation source fix 2016-10-05 20:49:32 +02:00
Translation source fix 2016-10-05 20:30:05 +02:00
Translation source fix 2016-10-05 20:29:42 +02:00
Multiple PoW updates
- fixes "fast python" (multiprocessing) PoW
- python PoW (both slow and fast) interruptible on *NIX
- signal handler should handle multiple processes and threads correctly
(only tested on Linux)
- popul window asking whether to interrupt PoW when quitting QT GUI
- PoW status in "sent" folder fixes and now also displays broadcast
status which didn't exist before
- Fixes #894
2016-10-05 20:06:47 +02:00
Fix invalid variables 2016-08-31 16:33:25 +08:00
Improve namecoin init error handling
- partially addresses #896
2016-08-31 16:24:28 +08:00
Namecoin error logging changes
- namecoin connection errors have now severity "info" instead of
  "error", because it just confuses peopel who don't have namecoin
- partially addresses #893
2016-08-29 12:13:08 +08:00
Less confusing message when logger config missing
- if the logger config is missing, don't print unnecessary stack trace
- partially addresses #893
2016-08-29 11:56:21 +08:00
Fix PyGI warnings
- Partially addresses #893
2016-08-27 21:47:40 +08:00
Version bump for 0.6.1 2016-08-21 11:56:25 +02:00
Translation update
- added Polish
- regenerated binaries
2016-08-21 08:06:22 +02:00
Update translations
- refresh english source
- update others from transifex
2016-08-21 07:59:06 +02:00
Keep known nodes for 28 instead of 2 days 2016-08-21 07:28:33 +02:00
Increase width of TTL slider
- horizontal slider was too narrow and unusable on the latest Fedora.
  Increased size and tested at 800x600 to make sure it's not too wide
2016-08-21 07:23:46 +02:00
Add "Mark all messages unread" context menu item
- account context menu how has a "Mark all messages unread" item
- folders now have a context menu as well and it has this item too
2016-08-20 22:38:36 +02:00
More namecoin fixes
- namecoin lookup now also includes name of the record in the recipient
- namecoin lookups now support multiple semicolon-separated
  recipients like the other recipient-related functions. If there are
  multiple recipients, namecoin lookup will look up the last entry on
  the line, for example if you have "a; b; c" in the recipient line,
  it will lookup "c"
2016-08-17 22:02:41 +02:00
Namecoin fixes
- Namecoin support was broken, an anonymous contributor sent a patch,
  and I made another fix for keepalive connections.
2016-08-17 17:26:00 +02:00
Don't freeze when out of known nodes
- bitmessage could end up having no known nodes and then it would
  freeze. Now it shouldn't freeze, however it can still end up without
  known nodes until a restart in some cases (e.g. when suspending the
  computer for more then 3 days while BM is running)
2016-08-14 15:03:18 +02:00
Recipient label UTF-8 fix
If recipient label had UTF-8 characters, clicking Send would trigger a
decoding error and woudln't send.
2016-08-14 12:56:28 +02:00
Merge commit 'd3a0404274e5105b9d6279901246af8f7009eb6d' into v0.6
- "env python2.7.x" was causing problems
2016-08-14 12:44:18 +02:00
Merge commit 'afa715cf1b113f970ab9b698e4acad33178836ef' into v0.6
- change default time and date format (when running BM for the first
2016-08-14 12:37:20 +02:00
Keep system language when changing settings
- when language was set to "system settings" and you changed any setting
  while BM was running, it switched the language to English.
2016-08-14 12:01:00 +02:00
SMTPd bugfix
- missing import prevented the SMTP server from working
2016-07-22 08:10:56 +02:00
Add SMTP server
- you can now use SMTP to send messages
- uses bmaddr.lan domain
- runs on if you set "smtpd" to True
- mandatory authentication with smtpdusername and smtpdpassword
2016-07-19 13:57:54 +02:00
d3a0404274 Fix python shebangs from #!/usr/bin/env python2.7*' to #!/usr/bin/python2.7'.
* src/ fix it.
* src/ same.

This fixes #887.
2016-07-16 15:42:19 +00:00
Add SMTP delivery labels
- SMTP delivery now has from and to labels for local addresses
2016-07-09 09:58:01 +02:00
Fix python PoW
- recent changes cause the pool workers to trigger shutdown and freeze.
  Now python PoW works again
2016-06-30 23:03:39 +02:00
Startup fixes
- correctly test for "smtpdeliver" variable without crashing
- new method for safely getting values from config even if the option
  may be missing
2016-06-30 15:19:58 +02:00
Lock file fixes
- daemon mode lock file didn't work correctly in the last commit
2016-06-30 13:07:28 +02:00
Main process fixes
- handles old dialog versions better if using curses
- can spawn SMTP delivery thread if configured (only when in daemon
- daemonized mode now works more like it's properly supposed to on unix
  (double fork etc). You may have to adjust your init scripts, when
  when using upstart for example you should now use "expect daemon"
- daemon mode now cleanly shuts down when TERM/INT signal is received
2016-06-30 12:30:05 +02:00
Curses fixes
- curses interface should now work with older versions of dialog
- Fixes #711
2016-06-30 12:28:17 +02:00
SMTP delivery thread
- thread can deliver incoming messages over SMTP
- this commit just contains the thread, subsequent commits will enable
2016-06-30 12:27:36 +02:00
Quit immediately if disk full
- PyBitmessage only used to quit on disk full when running in daemon
  mode. When this happened with the QT-GUI, it would end up in a
  half-frozen status instead. Quitting is a safer choice

Fixes #572
2016-06-29 22:08:34 +02:00
Framework for extended message encoding
- helper classes for encoding/decoding messages
- includes both old as well as new extended one (msgpack+zlib)
- the classes are unused yet and are supposed to be for experimenting
2016-06-24 22:45:56 +02:00
UPnP fix
- it looks like some UPnP server implementations consider NewRemoteHost
  to be a mandatory tag
2016-06-22 22:54:06 +02:00
UPnP fixes
- detects WANPPPConnection vs WANIPConnection
2016-06-21 10:11:15 +02:00
Do not connect on shutdown
- in some cases, such as when using trustedpeer, outgoingSynSender
  threads would wake up and try to connect. This fixes it.
2016-06-18 20:35:16 +02:00
Louis-Guillaume DUBOIS
Fixes #867 - Changes default time format to %c 2016-06-18 14:19:23 +02:00
Fix about dialog
- Last commit broke the about dialog, this fixes it again.
2016-06-17 19:58:16 +02:00
Fix UTF8 character in translation source
- "About" dialog did not correctly interpret source UTF-8 characters
2016-06-16 14:06:36 +02:00
Delete old nodes
- cleanup will delete nodes that are older than 3 days
2016-06-15 18:45:23 +02:00
Try UTF-8 locale encoding
- setlocale didn't always try UTF-8, and on systems that only had UTF-8
  encoding of the selected locale, this would fail to change locale

Fixes #872
2016-06-14 21:57:40 +02:00
Multiple connections on hidden service fix
- there was a bug which prevented multiple parallel connections on
  hidden service
2016-06-10 18:01:46 +02:00
Prevent leaking of tor relay IP
- when running a hidden service, the IP of the tor relay was a part of
  the verack message. In setups where it's not it may leak
  info about network topology
- thanks for an anonymous bug report
2016-06-10 13:21:31 +02:00
Socks error handling
- Socks errors are now handled in a smoother manner
2016-06-10 12:43:37 +02:00
Tor hidden service fixes
- will send the correct combination of hostname and port
- if proxyhostname is a hostname and an IP address, it will now allow
  multiple parallel connections for hidden service
2016-06-10 10:44:42 +02:00
Add Tor hidden service support
- PyBitmessage can now run as a hidden service on Tor
- three new variables in keys.dat: onionhostname, onionport, onionbindip
- you need to manually add a hidden service to tor
2016-06-07 21:59:48 +02:00
Implement node priority
- prioritise connecting to nodes that were online more recently
- hidden service nodes have a higher priority if using tor
2016-06-07 12:23:47 +02:00
Translation update
- Russian, French, Italian, Portuguese and Esperanto updated from
2016-06-05 10:13:23 +02:00
BSD compile fixes
- bitmsghash should now build and run on BSD (thanks for
  FreeBSD/Dragonfly maintainers for assistance)
- if it cannot detect the number of cores, will default to one thread
  (previously it broke)
2016-05-24 09:42:49 +02:00
Locale encoding fixes
On non-Windows, setlocale will try both normalised and preferred
2016-05-24 08:44:07 +02:00
Unread count and subscriptions
- unread count was optimised (based on profiling)
- unread count is now accurate
- listing subscription messagelists and count fixed
2016-05-23 11:11:44 +02:00
Bump version to 0.6.0 2016-05-02 21:51:46 +02:00
Fix merge conflicts
Missed this difference in the last commit
2016-05-02 17:33:18 +02:00
Fix incorrectly resolved merge conflicts
Two file merge conflicts, and, were not resolved
correctly by the automatic resolving (probably because the affected code
was written by other people and I merged them into mailchuck fork). This
changes it to the same code that is in the mailchuck fork)
2016-05-02 17:10:45 +02:00
Translations update 2016-05-02 16:07:58 +02:00
10a3d2d28a Add uPnP translation source 2016-05-02 15:00:26 +02:00
b724d3ee4f Copyright year updates 2016-05-02 15:00:26 +02:00
444edbd6a3 Subscription folder loading fix 2016-05-02 15:00:26 +02:00
02a593fc7f Translation source update 2016-05-02 15:00:26 +02:00
3f1f3e9b3b Remove default debugging
Only log errors. Can be overriden by a config file.
2016-05-02 15:00:26 +02:00
9edde110a2 Translation update
Some function calls were not being identified as text that should be
2016-05-02 15:00:26 +02:00
9193c2070e Labels when replying
If present, a label will be included in the reply line edit.
2016-05-02 15:00:26 +02:00
fabfc91e8f Translation source update 2016-05-02 15:00:26 +02:00
4013bd31fd Time & date Windows encoding
On Windows, the encoding was always the default windows encoding and
didn't change when you use a language in BM that required a different
encoding. This affected mainly date & time in the received column and
the startup info on the network status tab.
2016-05-02 15:00:26 +02:00
88678eab3a Sent table header
Inbox/Sent table header for the last column now adjust (previously, both
were "Received", now the latter is "Sent).
2016-05-02 15:00:26 +02:00
5afdc052ff Retranslate fix
Update identities tree context menu on language change.
2016-05-02 15:00:26 +02:00
58481afda2 Completer unicode fixes 2016-05-02 15:00:26 +02:00
46edb72b4f Send from addressbook label
When choosing an item from addressbook to send to, put both label and
address into the lineEditTo widget.
2016-05-02 15:00:26 +02:00
98313d594f Sender autocompletion
Sender autocompletion now works, and is based on the l labels in the
addressbook (i.e. all addressbook entries, all subscriptions and chans).

Repurposed C code from
2016-05-02 15:00:26 +02:00
b8667864f5 Addressbook exception fix
The avatar was throwing an exception.
2016-05-02 15:00:26 +02:00
61ae94098d Translations update
English source plurals updated.
2016-05-02 15:00:26 +02:00
94d5eeb16f Unread count fixes 2016-05-02 15:00:26 +02:00
ad6d55cebe Translations update
- TTL hours/days now has correct plurals/paucals
- TTL description updates better when changing language (was "X days")
- language sources updated
2016-05-02 15:00:26 +02:00
658d52fb4f TTL/Send tab fixes
Now stretches correctly and does not unnecessarily shorten the text.
2016-05-02 15:00:26 +02:00
ddb48cad86 Typo 2016-05-02 15:00:26 +02:00
83cc25fef5 Typo 2016-05-02 15:00:26 +02:00
e8b1e1adcf Localisation update
The plural/paucal form support was not compatible with pylupdate4, it
didn't correctly parse the 3-argument calls to translate.

This fixes it, and updates the sources accordingly.
2016-05-02 15:00:26 +02:00
360d41792c Tab labels
Network status and Blacklist labels fix.
2016-05-02 15:00:26 +02:00
cb1c8157fe Objects to be synced timer
Now updates together with bandwidth every 2 seconds.
2016-05-02 15:00:26 +02:00
b7fefb3c40 Windows locale fix
Python locales (e.g. for time and date) didn't work on Windows.
2016-05-02 15:00:26 +02:00
3be851297c Translation updates
- regenerated sources
2016-05-02 15:00:26 +02:00
92e3e62640 Locale fix
Date formatting sometimes didn't use the correct locale encoding
2016-05-02 15:00:26 +02:00
c29f266020 Translation fixes
- locale name is properly normalised rather than simply changing the
- translations now support plurals/paucals
- networkstatus updated
2016-05-02 15:00:26 +02:00
9e10d714aa Translation update
Refresh sources.
2016-05-02 15:00:25 +02:00
38700a1721 Network Status tab translations update
- remembers startup time
- kB instead of KB
- stream table and status texts scale and aren't cut if they translated
text doesn't fit
2016-05-02 15:00:25 +02:00
af098e4805 Locale for non-QT UI strings
Some parts of strings did not use the proper locale. For example, date
and time strings was always output with the US locale. This fixes it.
There are still some cases where localisation is not implemented, and
could be changed from str(string) to locale.str(string).
2016-05-02 15:00:25 +02:00
0507411696 Shutdown fix
The GUI shutdown changes sometimes caused freezes on linux.
2016-05-02 15:00:25 +02:00
3dbb4d5ce9 GUI shutdown improvements
- it shows that it needs to wait for PoW to finish
- it waits a bit for new objects to be distributed
- it displays a better progress indicator in the status bar

Previously, people who don't understand how PyBitmessage works sometimes
shut it down immediately after they wrote a message. This would have
caused the message to be stuck in the queue locally and not sent. Now,
it will indicate that the PoW still needs to work, and it will wait a
bit longer so that the message can spread. It's not a completely correct
approach, because it does not know whether the message was really
retrieved after the "inv" notification was sent.
2016-05-02 15:00:25 +02:00
167da731d0 Make new version notifications less intrusive
Now only in status bar and no more popup window.

Previously, it only showed once until a restart, but now it shows every
time it detects a new version online. Since it does not show a popup
window it's not a big deal.
2016-05-02 15:00:25 +02:00
2f27d43e7e PoW can sometimes be shutdown-able
Python and OpenCL PoW now stop when PyBitmessage shutdowns. C PoW needs
additional support in C so it doesn't work there yet.
2016-05-02 15:00:25 +02:00
5adc4429f0 Translations update
- synced translations from Transifex
- updated source
- added Slovak translation
2016-05-02 15:00:25 +02:00
70e06c33f6 Remove some debugging
Language loading debugging not necessary.
2016-05-02 15:00:25 +02:00
fd4329bee0 Refactor localisation
The language combo box is generated dynamically from the list of
available translations in the translations directory. This allows the
users to add their own translations without having to change the code.
2016-05-02 15:00:25 +02:00
a7ec4c0555 Some preparations for python 3 2016-05-02 15:00:25 +02:00
be16be2bb4 Translation update
Updated English source strings.
2016-05-02 15:00:25 +02:00
d46fd6f486 Translation fix
Plural form fix
2016-05-02 15:00:25 +02:00
d625659cc6 User agent parser fix 2016-05-02 15:00:25 +02:00
ca11852632 Translation source update
NewSubscriptionDialog missing string updated.
2016-05-02 15:00:25 +02:00
baff42f578 Typo
String typo, also updated translation source.
2016-05-02 15:00:25 +02:00
e9f62efa4b Default compose body "untranslate"
There is no reason to retranslate the default message/broadcast body,
and the default was just confusing HTML with no content.
2016-05-02 15:00:25 +02:00
d25a1302ce Version bump 2016-05-02 15:00:25 +02:00
858e93befd Update build scripts
- PyInstaller script (e.g. for Windows)
- for OSX
2016-05-02 15:00:25 +02:00
de14730ad9 Translations update
- synced with Transifex
2016-05-02 15:00:25 +02:00
c30433cdaa "All accounts" internationalisation fix 2016-05-02 15:00:25 +02:00
412e175f27 Translation updates
Added a RetranslateMixin. Since PyQT does not support automated language
changes of UI files (like the C++ QT does), this implements something
similar. It assumes that the UI file has the same name as the class, but

Added RetraslateMixin to the new blacklist and networkstatus interfaces.
2016-05-02 15:00:25 +02:00
ecfa18b1c6 Change UI loading for frozen 2016-05-02 15:00:25 +02:00
8b605a874a Translation updates
- add missing files into translation definition
- refresh english strings
- change context for "networkstatus"
2016-05-02 15:00:25 +02:00
0f267c94c7 Translations update
- added Danish translation (thanks @mirrorwish)
- added English translation (to serve as a source for other
2016-05-02 15:00:25 +02:00
491579c368 Translations update source files 2016-05-02 15:00:25 +02:00
554627dd92 Refactor Inventory 2016-05-02 15:00:25 +02:00
7800272d3a Refactor Blacklist tab 2016-05-02 15:00:25 +02:00
337cf93b4b Fix byte formatting 2016-05-02 15:00:25 +02:00
24ae23946b Translations config file update 2016-05-02 15:00:25 +02:00
69aa618890 Combine all translation project files into one 2016-05-02 15:00:24 +02:00
a23022b2db Refactor Network Status tab 2016-05-02 15:00:24 +02:00
64fce79321 Refactor status icon 2016-05-02 15:00:24 +02:00
4f56e49a30 Unread count refresh updates 2016-05-02 15:00:24 +02:00
66824c32d1 sqlExecute now returns rowcount
This allows tracking of how many rows were changed, for example for
2016-05-02 15:00:24 +02:00
8172fce730 Typos 2016-05-02 15:00:24 +02:00
a63f9054f4 Global Sent fix 2016-05-02 15:00:24 +02:00
0ab0e6757a Restrict pending parallel requests on proxy
This saves some network resources if using Tor, for example.
2016-05-02 15:00:24 +02:00
1b50f3898a UPnP fixes:
- external port iterator fix
- error handler fix
2016-05-02 15:00:24 +02:00
a1b44aab44 UPnP fixes
- UPnP handles errors better
- it tries to bind external interface (previously sometimes it searched
on resulting in no routers being detected)
2016-05-02 15:00:24 +02:00
e03803e4e8 Translations update
Updated translation source files
2016-05-02 15:00:24 +02:00
f8dcb965ea Grammar fix
- Fixes #179
- Thanks to @Erkan-Yilmaz
2016-05-02 15:00:24 +02:00
d63ecfc566 Translation update
- typos
- updated German translation
- Fixes Bitmessage#844
2016-05-02 15:00:24 +02:00
3fcaa47232 Ack received translation typo
Fixes Bitmessage#644
2016-05-02 15:00:24 +02:00
143abe3c34 Preliminary Tor hidden service support 2016-05-02 15:00:24 +02:00
c5363c3c5e Add bitcoin URI handler for message viewer 2016-05-02 15:00:24 +02:00
2e47ab0cd2 Keyboard modifiers with quick navigation
The quick navigation key disrupted keybindings with keyboard modifiers,
like Ctrl-C for copy. This restricts the quick navigation only where no
keyboard modifiers are active.

Fixes #184
2016-05-02 15:00:24 +02:00
a30d5af948 Global Sent and Trash folders 2016-05-02 15:00:24 +02:00
8d8cfe8555 More unicode fixes
Addresses #180
2016-05-02 15:00:24 +02:00
da036c6b6b UTF fixes
Label edits now accept and save utf8 characters.
Addresses #180
Still need to check how it behaves on invalid chars.
2016-05-02 15:00:24 +02:00
47bc85f0b6 Sent folder in chans extended
Previously, it only showed message sent to the selected chan address.
Now it shows both those sent to and sent from the chan address.

Fixes #181
2016-05-02 15:00:24 +02:00
d8aa484b8c Email gateway interface usability improvements
- don't allow status request / settings unless registered already
- if registered, status request is the default selected option

Fixes #182
2016-05-02 15:00:24 +02:00
2adafdaadc Improved URI detector 2016-05-02 15:00:24 +02:00
ed5c8a01ef loadResource incorrect parameters 2016-05-02 15:00:24 +02:00
a79f6cce3b Clipboard copy unicode
Copying unicode subjects to clipboard didn't work.

Fixes #183
2016-05-02 15:00:24 +02:00
113ceb0868 Email links "From"
Clicking email links now sets "From" based on the message the link is
2016-05-02 15:00:24 +02:00
af193a1bca Keybindings
- delete key now works when message body is focused as well
- N for next message (down)
- P for previous message (up)
- R for reply
- C for compose
- F for find
- Find is now dynamic if the search text is least 3 characters long

Fixes Bitmessage#655
Addresses #155
2016-05-02 15:00:24 +02:00
9e2ae4eeb5 Allow close to tray
PyBitmessage can now close to tray. Even though the main code was there,
the UI and config variable were missing.

Fixes Bitmessage#564
2016-05-02 15:00:24 +02:00
b3b69b1eac deleteRowFromMessagelist implementation
Rows are deleted from a message list in multiple places, and this is an
attempt to refactor it so that it is done in one function. It's not used
anywhere yet.
2016-05-02 15:00:24 +02:00
976af4b3cd Empty resource loader for messageview
MessageView does not currently load external resources (QTextBrowser by
default interprets all external resources as local file names and tries
to load them like that. This can, in the future, be implemented. For
example, if SOCKS (Tor) is used, the resource could be loaded through
the SOCKS too.

This commit is a skeleton for it that does not actually do anything and
can be filled with an implementation that does the loading.
2016-05-02 15:00:24 +02:00
96a1726426 Clickable email and http links in plain text
Email addresses and URIs are now clickable when viewing a message in
plain text mode. Clicking an email address moves to the Send tab, while
clicking an URI has the same result as clicking an URI in html mode, it
will ask for confirmation before opening it in external handler.
2016-05-02 15:00:24 +02:00
f27ca0d3d6 HTML parser updates
HTML parser wasn't correctly handling img tags.
Now it also by defaults disabled external schemas to prevent
deanonymisation (even though the renderer actually doesn't support
external schemas at the moment)

Addresses #178
2016-05-02 15:00:24 +02:00
b202ac6fab Do not allow port 0
Attackers injected node addresses with port 0 into the network. Port 0
is unusable on many OSes and can't be listened on. PyBitmessage won't
accept nodes that have port 0 anymore.
2016-05-02 15:00:24 +02:00
9239813ebb Constant time decryption
Always try to decrypt with all keys.
2016-05-02 15:00:24 +02:00
4c2ce7208c Sleep on invalid getdata
- postpone initial sleep until the first getdata is received
- also sleep when received a getdata request for an object that hasn't
been advertised to the other node yet
2016-05-02 15:00:24 +02:00
1a92db54c9 Process gateway registration rejections
A message from gateway registration addres regarding registration
rejection is processed and a dialog displayed to get a new email

Fixes #14
2016-05-02 15:00:24 +02:00
6b8f255a60 Email gateway updates
- settings option available
- reduce max TTL to 2 days
2016-05-02 15:00:24 +02:00
2b6bffc7ff Email gateway account status query
- addresses #14
2016-05-02 15:00:24 +02:00
db84d699db Search improvements
- selecting a new folder will apply search
- newly arrived message will consider search
- fixes #166
2016-05-02 15:00:24 +02:00
218bdf38e1 Better error reporting for log config
Fixes #174
2016-05-02 15:00:24 +02:00
ab974abce0 Sent message status on ACK
Fixes #176
2016-05-02 15:00:24 +02:00
8f5d305242 Mitigate active internal intersection attack
There was a report that by quickly asking a large number of nodes if
they have an ACK object (which the attacker knows but it is injected
into the network by the recipient of the message), it can estimate how
an object propagates through the network, and eventually pinpoint an
originating IP address of the injection, i.e. the IP address of the
message recipient.

This patch mitigates against it by stalling when asked for a nonexisting
object (so that the attacker can't spam requests), and also upon
connection before sending its own inventory list (so that reconnecting
won't help the attacker). It estimates how long a short message takes to
propagate through the network based on how many nodes are in a stream
and bases the stalling time on that. Currently that is about 15 seconds.
Initial connection delay takes into account the time that already passed
since the connection was established.

This basically gives the attacker one shot per a combination of his own
nodes and the nodes he can connect to, and thus makes the attack much
more difficult to succeed.
2016-05-02 15:00:24 +02:00
f43e01ed0e Don't send ACK on subscribed chans
If somehow you manage to send a message that includes an ACK part into a
chan, the subscribers would send the ACK back. This shouldn't happen.
2016-05-02 15:00:23 +02:00
40f0ff381e blacklist rendering edit fix
Editing of blacklist labels affected the rerendering, because it emits
the changed signal too, and it caused an exception because the address
field was missing at that time. This works around both.
2016-05-02 15:00:23 +02:00
0bd89103a7 Don't send unnecessary ACKs
In some situations, it's not necessary to send an ACK. For example, when
the sender is blacklisted, when the message has no content, or when the
address has ACK sending disabled.

Also it's not necessary to rebroadcast empty messages into a mailing
2016-05-02 15:00:23 +02:00
80c174e417 Save changes to blacklist labels
Fixes mailchuck/PyBitmessage#175

Signed-off-by: Peter Surda <>
2016-05-02 15:00:23 +02:00
bcae62938a Unused variable 2016-05-02 15:00:23 +02:00
24a2deed8f Cleanup lockfile on exit design was broken.
Fixed Bitmessage#775
2016-05-02 15:00:23 +02:00
4f26bf1059 private IP range checks
When advertising nodes and when establishing connections, private IP
range checks were not done. This could cause private IPs to be
advertised across the network. Also, some of the checks weren't
Fixes Bitmessage#768
2016-05-02 15:00:23 +02:00
47f1c0c267 Thread names for IPv6
Thread names for IPv6 contained ":". This caused problems in log
2016-05-02 15:00:23 +02:00
89752faceb Newly arrives messages sorting
There could be cases where newly arrives message is not added correctly.
It won't necessarily go to the top, that depends on the sort.
2016-05-02 15:00:23 +02:00
3bde549e5c Version bump for 0.5.7 2016-05-02 15:00:23 +02:00
185d212cb2 Unread count refresh on change 2016-05-02 15:00:23 +02:00
8f1e753cf0 Typo 2016-05-02 15:00:23 +02:00
140b3ddbb8 Test cleanup
Safer this way
2016-05-02 15:00:23 +02:00
66e1a26b33 Popup menu on folders
There are no functions associated with it but sometimes it popped up so
disable it.
2016-05-02 15:00:23 +02:00
7c99899248 updateText was deleted so no need to call it 2016-05-02 15:00:23 +02:00
2dc230db90 Tree rerendering cleanup
Fixes #76
2016-05-02 15:00:23 +02:00
1cc4fac7f4 Unread count cleanup
Addresses #128
2016-05-02 15:00:23 +02:00
f5187e16a0 BlackWhitelist rerendering
It used to show entries with no address.
Fixes #170
2016-05-02 15:00:23 +02:00
aae5b713b1 Disabling subscriptions should rerender addressbook
Addresses #76
2016-05-02 15:00:23 +02:00
4e4da254fa Addressbook / Tree / Messagelist rendering
Some changes that didn't propagate correctly before now do.
Addresses #76
2016-05-02 15:00:23 +02:00
f159133f14 TreeWidget and Addressbook editing propagation
If you change, add or remove an item in a treewidget or addressbook,
messagelists will now autoupdate labels, and sender comboboxes will also
update if applicable.
Fixes #69
2016-05-02 15:00:23 +02:00
e6c379cca6 Scroll/zoom in message composing widget
Fixes #169
2016-05-02 15:00:23 +02:00
a4c48228fc Messagelist subscription color
Fixes Bitmessage#842
2016-05-02 15:00:23 +02:00
484bdb0782 Quoting fixes
Message compose sometimes misinterpreted quoted message as HTML, causing
rendering screwups. Since we don't support HTML composing, we will treat
all quoted messages as plain text.
2016-05-02 15:00:23 +02:00
2597ac63f6 Zooming info percent based an single step
Zooming in message body view / compose works in single steps
irrespective of wheel sensitivity, and info about zoom level is
displayed in percent rather than font pixel size.
2016-05-02 15:00:23 +02:00
d36d6f300e Message body display handling of spaces
After the changes in the message body renderer, spaces were not
correctly handled. Fixes #168
2016-05-02 15:00:23 +02:00
056512a715 Sent folder new message selection fix
Fixes Bitmessage#838
2016-05-02 15:00:23 +02:00
9353e8eff7 Message editor updates
- Does not allow changing fonts (it's ignored once it's sent anyway),
fixes #167
- Allows zooming, fixes #163
2016-05-02 15:00:23 +02:00
32b0d24be2 singleWorker shutdown fix
if singleWorker crashed, the thread couldn't be joined. This both makes
it so that it doesn't crash, as well as reorders the shutdown sequence
so that it is less likely to be triggered.
Fixes Bitmessage#549
2016-05-02 15:00:23 +02:00
ec4a16b388 objectProcessorQueue fixes
- it didn't shutdown correctly
- it didn't handle exception correctly (however, if I understand
correctly, this will never be triggered if using blocking get, so it
doesn't affect PyBitmessage)
- flushing size check changed from 1 to 0 (I don't know why it was 1)
2016-05-02 15:00:23 +02:00
47f0df6c0b Object processor queue class
Previous commit didn't include the class. This class takes care of queue
size monitoring so that the system doesn't run out of memory.
2016-05-02 15:00:23 +02:00
e4f31d25fc Flood mitigation optimisation
Flood mitigation was done both in the ObjectProcessorQueue as well as
receiveData threads. This patch removes the mitigation in receiveData
threads and cleans up the one in the ObjectProcessorQueue
2016-05-02 15:00:23 +02:00
2043d796dd Typo 2016-05-02 15:00:23 +02:00
a0da175d45 Typo 2016-05-02 15:00:23 +02:00
c137e334d2 OpenSSL version for support contact form 2016-05-02 15:00:23 +02:00
dc34c00f38 Improve OpenSSL library finder 2016-05-02 15:00:23 +02:00
b7e24fab4a DLL path fix in frozen mode
Addresses #152
2016-05-02 15:00:23 +02:00
6a965cd31a Don't test for Qt in daemon mode
Initialisation of the daemon variable was missing at launch.

Fixes #161
2016-05-02 15:00:23 +02:00
72f9e29931 fixed some spelling errors 2016-05-02 15:00:23 +02:00
98fab9c568 Message body focus on reply
Fixes #156
2016-05-02 15:00:23 +02:00
43a765515a Remember current search
@rainulf  What's the reasoning behind resetting the search?

Fixes #155
2016-05-02 15:00:23 +02:00
b699475906 Clicks in empty message shouldn't produce an error 2016-05-02 15:00:23 +02:00
46494dc3e6 "All accounts" can't be renamed
Minor error
2016-05-02 15:00:23 +02:00
f4c2cc5160 Unicode
- subject on replies was not parsed correctly (or should I say was
parsed more than necessary)
- unicode can handle invalid characters without needing a special

Fixes #164
2016-05-02 15:00:23 +02:00
962c36e122 Allow zooming of message body
Uses default system zoom settings (Ctrl-Wheel).
Fixes #163
2016-05-02 15:00:23 +02:00
4033b945ee UPnP status bar update fix 2016-05-02 15:00:23 +02:00
1b36da9327 Save UPnP port
Fixes #129
2016-05-02 15:00:23 +02:00
27874df45f Typo (missing) 2016-05-02 15:00:23 +02:00
3f2108b36f Typo 2016-05-02 15:00:23 +02:00
e5675987a7 Fix frozen localisation (OSX)
Fixes Bitmessage#737
2016-05-02 15:00:23 +02:00
d7ff86705e Fix frozen localisation
Addresses Bitmessage#737
2016-05-02 15:00:23 +02:00
6f74ffc265 Mac OSX portable mode path
Fixes #150
2016-05-02 15:00:23 +02:00
3b30afea29 Messagelist subject class
Messagelist subjects now are their own class. Fixes #153
Also fixes replies/clipboard for gatewayed messages.
2016-05-02 15:00:22 +02:00
d6ec2a2b8d Version bump 2016-05-02 15:00:22 +02:00
0f24fe5a0c Missing import 2016-05-02 15:00:22 +02:00
4647fcb876 Disable label rerendering in messagelist
It's broken and just consumes resources. I'll fix it separately.
2016-05-02 15:00:22 +02:00
e650cff42d (Un)read messagelist items
Previous commits broke them, now it renders correctly again.
2016-05-02 15:00:22 +02:00
4b63c4c086 Address Qt.UserData fix
The previous commit broke places where UserData was read from the
mesagelist line, because it's now a string rather than a QVariant. This
actually simplifies things.
2016-05-02 15:00:22 +02:00
879a6f1d68 Messagelist loads faster
Addresses #149. About 5 times faster.
2016-05-02 15:00:22 +02:00
0b4c57a516 Entries missing in messagelist 2016-05-02 15:00:22 +02:00
a8053195ea Fix cdecl/stdcall DLL detection
Fixes #146
2016-05-02 15:00:22 +02:00
69494594d5 Main Window raising fixes
On OSX and linux, the tray icon now raises window.

Starting a new instance should raise the window too, but it may not work
on linux (on my Ubuntu it just flashes the icon)

Fixes Bitmessage#743
2016-05-02 15:00:22 +02:00
ff207c1b56 Portable mode fix
The option should not be available if the directory with the executable
is not writable, such as when running from a dmg on OSX.
2016-05-02 15:00:22 +02:00
4dbd444053 Logging fix 2016-05-02 15:00:22 +02:00
ea37913ff1 Html parser fixes
Raw mode improved, avoid HTML parser entirely and just replaces some
2016-05-02 15:00:22 +02:00
07cee7209b Contact support fixes
- typos & formatting
- OS detection crash fixes
2016-05-02 15:00:22 +02:00
d0b9d75ce1 Fix contact support unix detection 2016-05-02 15:00:22 +02:00
4049662a3a Contact support updates
Yes/No -> True/False
Add Portable mode
2016-05-02 15:00:22 +02:00