Commit Graph

1756 Commits

Author SHA1 Message Date
Peter Šurda 3a1d581c9e
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
Peter Šurda e1dd29bfd1
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
Peter Šurda 4436c5f3d1
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
Peter Šurda ab79ee2a04
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
  well
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
Peter Šurda 9590f83820
Typo
- see
  e6ce73f4bd (commitcomment-19344095)
2016-10-08 10:01:34 +02:00
Peter Šurda 679e554c7d
Translation source update 2016-10-05 20:50:07 +02:00
Peter Šurda 1b03b535cf
Translation source fix 2016-10-05 20:49:32 +02:00
Peter Šurda 73ec6a9174
Translation source fix 2016-10-05 20:30:05 +02:00
Peter Šurda 739d46004c
Translation source fix 2016-10-05 20:29:42 +02:00
Peter Šurda e6ce73f4bd
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
Peter Šurda 029b0525de
Fix invalid variables 2016-08-31 16:33:25 +08:00
Peter Šurda cc90747da1
Improve namecoin init error handling
- partially addresses #896
2016-08-31 16:24:28 +08:00
Peter Šurda 59dba6a7c7
Namecoin error logging changes
- namecoin connection errors have now severity "info" instead of
  "error", because it just confuses peopel who don't have namecoin
  configured
- partially addresses #893
2016-08-29 12:13:08 +08:00
Peter Šurda 61a08299b8
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
Peter Šurda 2616a9d4c1
Fix PyGI warnings
- Partially addresses #893
2016-08-27 21:47:40 +08:00
Peter Šurda d1a90085b7
Version bump for 0.6.1 2016-08-21 11:56:25 +02:00
Peter Šurda 35eca9c05d
Translation update
- added Polish
- regenerated binaries
2016-08-21 08:06:22 +02:00
Peter Šurda 9aa253f73e
Update translations
- refresh english source
- update others from transifex
2016-08-21 07:59:06 +02:00
Peter Šurda 8df8d15cba
Keep known nodes for 28 instead of 2 days 2016-08-21 07:28:33 +02:00
Peter Šurda c58c1969e5
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
  now.
2016-08-21 07:23:46 +02:00
Peter Šurda 67c3d7bbca
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
Peter Šurda ca031dc421
More namecoin fixes
- namecoin lookup now also includes name of the record in the recipient
  field
- 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
Peter Šurda 29abf0fa08
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
Peter Šurda 4117195b61
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
Peter Šurda 306a2495e0
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
Peter Šurda 60c447f56b
Merge commit 'd3a0404274e5105b9d6279901246af8f7009eb6d' into v0.6
- "env python2.7.x" was causing problems
2016-08-14 12:44:18 +02:00
Peter Šurda 45630b779b
Merge commit 'afa715cf1b113f970ab9b698e4acad33178836ef' into v0.6
- change default time and date format (when running BM for the first
  time)
2016-08-14 12:37:20 +02:00
Peter Šurda de2fb17959
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
Peter Šurda 233a30f114
SMTPd bugfix
- missing import prevented the SMTP server from working
2016-07-22 08:10:56 +02:00
Peter Šurda 36a04fd7d9
Add SMTP server
- you can now use SMTP to send messages
- uses bmaddr.lan domain
- runs on 127.0.0.8425 if you set "smtpd" to True
- mandatory authentication with smtpdusername and smtpdpassword
2016-07-19 13:57:54 +02:00
ng0 d3a0404274 Fix python shebangs from `#!/usr/bin/env python2.7*' to `#!/usr/bin/python2.7'.
* src/bitmessagecli.py: fix it.
* src/bitmessagemain.py: same.

This fixes #887.
2016-07-16 15:42:19 +00:00
Peter Šurda 8e066eaa97
Add SMTP delivery labels
- SMTP delivery now has from and to labels for local addresses
2016-07-09 09:58:01 +02:00
Peter Šurda b8a08a0ce9
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
Peter Šurda 685ff6cecd
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
Peter Šurda d3e8771aed
Lock file fixes
- daemon mode lock file didn't work correctly in the last commit
2016-06-30 13:07:28 +02:00
Peter Šurda 4865659d72
Main process fixes
- handles old dialog versions better if using curses
- can spawn SMTP delivery thread if configured (only when in daemon
  mode)
- 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
Peter Šurda e5c9e6d383
Curses fixes
- curses interface should now work with older versions of dialog
- Fixes #711
2016-06-30 12:28:17 +02:00
Peter Šurda 3d9c036129
SMTP delivery thread
- thread can deliver incoming messages over SMTP
- this commit just contains the thread, subsequent commits will enable
  it
2016-06-30 12:27:36 +02:00
Peter Šurda 6895da7f65
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
Peter Šurda e649adbe37
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
Peter Šurda 6add48e036
UPnP fix
- it looks like some UPnP server implementations consider NewRemoteHost
  to be a mandatory tag
2016-06-22 22:54:06 +02:00
Peter Šurda 0689525d61
UPnP fixes
- detects WANPPPConnection vs WANIPConnection
2016-06-21 10:11:15 +02:00
Peter Šurda efa12c3ac6
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 afa715cf1b
Fixes #867 - Changes default time format to %c 2016-06-18 14:19:23 +02:00
Peter Šurda cec2233043
Fix about dialog
- Last commit broke the about dialog, this fixes it again.
2016-06-17 19:58:16 +02:00
Peter Šurda d9ca8d1e5e
Fix UTF8 character in translation source
- "About" dialog did not correctly interpret source UTF-8 characters
2016-06-16 14:06:36 +02:00
Peter Šurda ca297cafed
Delete old nodes
- cleanup will delete nodes that are older than 3 days
2016-06-15 18:45:23 +02:00
Peter Šurda 65211703c0
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
Peter Šurda 0dd54e606d
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
Peter Šurda b0446f412a
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 127.0.0.1 it may leak
  info about network topology
- thanks for an anonymous bug report
2016-06-10 13:21:31 +02:00
Peter Šurda fbed1eff31
Socks error handling
- Socks errors are now handled in a smoother manner
2016-06-10 12:43:37 +02:00
Peter Šurda f242d409fd
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
Peter Šurda 1a40c29d22
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
Peter Šurda 33991f4598
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
Peter Šurda c11dd67e50
Translation update
- Russian, French, Italian, Portuguese and Esperanto updated from
  transifex
2016-06-05 10:13:23 +02:00
Peter Šurda 9e2389306b
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
Peter Šurda e353af3195
Locale encoding fixes
On non-Windows, setlocale will try both normalised and preferred
encoding.
2016-05-24 08:44:07 +02:00
Peter Šurda 6dff105a5b
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
Peter Šurda b194e4ca20
Bump version to 0.6.0 2016-05-02 21:51:46 +02:00
Peter Šurda 75eef9ef2f
Fix merge conflicts
Missed this difference in the last commit
2016-05-02 17:33:18 +02:00
Peter Šurda aabf600c38
Fix incorrectly resolved merge conflicts
Two file merge conflicts, __init__.py and upnp.py, 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
Peter Šurda eebf264552
Translations update 2016-05-02 16:07:58 +02:00
Peter Šurda 10a3d2d28a Add uPnP translation source 2016-05-02 15:00:26 +02:00
mailchuck b724d3ee4f Copyright year updates 2016-05-02 15:00:26 +02:00
mailchuck 444edbd6a3 Subscription folder loading fix 2016-05-02 15:00:26 +02:00
Peter Šurda 02a593fc7f Translation source update 2016-05-02 15:00:26 +02:00
mailchuck 3f1f3e9b3b Remove default debugging
Only log errors. Can be overriden by a config file.
2016-05-02 15:00:26 +02:00
mailchuck 9edde110a2 Translation update
Some function calls were not being identified as text that should be
translated.
2016-05-02 15:00:26 +02:00
mailchuck 9193c2070e Labels when replying
If present, a label will be included in the reply line edit.
2016-05-02 15:00:26 +02:00
Peter Šurda fabfc91e8f Translation source update 2016-05-02 15:00:26 +02:00
mailchuck 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
mailchuck 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
mailchuck 5afdc052ff Retranslate fix
Update identities tree context menu on language change.
2016-05-02 15:00:26 +02:00
mailchuck 58481afda2 Completer unicode fixes 2016-05-02 15:00:26 +02:00
mailchuck 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
mailchuck 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
https://stackoverflow.com/questions/21773348/how-to-force-qcompleter-to-check-second-word-in-qlineedit
2016-05-02 15:00:26 +02:00
mailchuck b8667864f5 Addressbook exception fix
The avatar was throwing an exception.
2016-05-02 15:00:26 +02:00
Peter Šurda 61ae94098d Translations update
English source plurals updated.
2016-05-02 15:00:26 +02:00
mailchuck 94d5eeb16f Unread count fixes 2016-05-02 15:00:26 +02:00
Peter Šurda 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
Peter Šurda 658d52fb4f TTL/Send tab fixes
Now stretches correctly and does not unnecessarily shorten the text.
2016-05-02 15:00:26 +02:00
mailchuck ddb48cad86 Typo 2016-05-02 15:00:26 +02:00
mailchuck 83cc25fef5 Typo 2016-05-02 15:00:26 +02:00
Peter Šurda 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
mailchuck 360d41792c Tab labels
Network status and Blacklist labels fix.
2016-05-02 15:00:26 +02:00
mailchuck cb1c8157fe Objects to be synced timer
Now updates together with bandwidth every 2 seconds.
2016-05-02 15:00:26 +02:00
mailchuck 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
Peter Šurda 3be851297c Translation updates
- regenerated sources
2016-05-02 15:00:26 +02:00
Peter Šurda 92e3e62640 Locale fix
Date formatting sometimes didn't use the correct locale encoding
2016-05-02 15:00:26 +02:00
mailchuck c29f266020 Translation fixes
- locale name is properly normalised rather than simply changing the
string
- translations now support plurals/paucals
- networkstatus updated
2016-05-02 15:00:26 +02:00
Peter Šurda 9e10d714aa Translation update
Refresh sources.
2016-05-02 15:00:25 +02:00
Peter Šurda 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
Peter Šurda 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
Peter Šurda 0507411696 Shutdown fix
The GUI shutdown changes sometimes caused freezes on linux.
2016-05-02 15:00:25 +02:00
mailchuck 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
mailchuck 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
Peter Šurda 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
Peter Šurda 5adc4429f0 Translations update
- synced translations from Transifex
- updated source
- added Slovak translation
2016-05-02 15:00:25 +02:00
Peter Šurda 70e06c33f6 Remove some debugging
Language loading debugging not necessary.
2016-05-02 15:00:25 +02:00
Peter Šurda 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
mirrorwish a7ec4c0555 Some preparations for python 3 2016-05-02 15:00:25 +02:00
Peter Šurda be16be2bb4 Translation update
Updated English source strings.
2016-05-02 15:00:25 +02:00
Peter Šurda d46fd6f486 Translation fix
Plural form fix
2016-05-02 15:00:25 +02:00
Peter Šurda d625659cc6 User agent parser fix 2016-05-02 15:00:25 +02:00
Peter Šurda ca11852632 Translation source update
NewSubscriptionDialog missing string updated.
2016-05-02 15:00:25 +02:00
Peter Šurda baff42f578 Typo
String typo, also updated translation source.
2016-05-02 15:00:25 +02:00
Peter Šurda 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
Peter Šurda d25a1302ce Version bump 2016-05-02 15:00:25 +02:00
Peter Šurda 858e93befd Update build scripts
- PyInstaller script (e.g. for Windows)
- build_osx.sh for OSX
2016-05-02 15:00:25 +02:00
Peter Šurda de14730ad9 Translations update
- synced with Transifex
2016-05-02 15:00:25 +02:00
Peter Šurda c30433cdaa "All accounts" internationalisation fix 2016-05-02 15:00:25 +02:00
Peter Šurda 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
lowercase.

Added RetraslateMixin to the new blacklist and networkstatus interfaces.
2016-05-02 15:00:25 +02:00
Peter Šurda ecfa18b1c6 Change UI loading for frozen 2016-05-02 15:00:25 +02:00
Peter Šurda 8b605a874a Translation updates
- add missing files into translation definition
- refresh english strings
- change context for "networkstatus"
2016-05-02 15:00:25 +02:00
Peter Šurda 0f267c94c7 Translations update
- added Danish translation (thanks @mirrorwish)
- added English translation (to serve as a source for other
  translations)
2016-05-02 15:00:25 +02:00
Peter Šurda 491579c368 Translations update source files 2016-05-02 15:00:25 +02:00
mirrorwish 554627dd92 Refactor Inventory 2016-05-02 15:00:25 +02:00
mirrorwish 7800272d3a Refactor Blacklist tab 2016-05-02 15:00:25 +02:00
mirrorwish 337cf93b4b Fix byte formatting 2016-05-02 15:00:25 +02:00
Peter Šurda 24ae23946b Translations config file update 2016-05-02 15:00:25 +02:00
mirrorwish 69aa618890 Combine all translation project files into one 2016-05-02 15:00:24 +02:00
mirrorwish a23022b2db Refactor Network Status tab 2016-05-02 15:00:24 +02:00
mirrorwish 64fce79321 Refactor status icon 2016-05-02 15:00:24 +02:00
mailchuck 4f56e49a30 Unread count refresh updates 2016-05-02 15:00:24 +02:00
mailchuck 66824c32d1 sqlExecute now returns rowcount
This allows tracking of how many rows were changed, for example for
UPDATE, DELETE, INSERT.
2016-05-02 15:00:24 +02:00
mailchuck 8172fce730 Typos 2016-05-02 15:00:24 +02:00
mailchuck a63f9054f4 Global Sent fix 2016-05-02 15:00:24 +02:00
mailchuck 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
Peter Šurda 1b50f3898a UPnP fixes:
- external port iterator fix
- error handler fix
2016-05-02 15:00:24 +02:00
mailchuck a1b44aab44 UPnP fixes
- UPnP handles errors better
- it tries to bind external interface (previously sometimes it searched
on 127.0.0.1 resulting in no routers being detected)
2016-05-02 15:00:24 +02:00
Peter Šurda e03803e4e8 Translations update
Updated translation source files
2016-05-02 15:00:24 +02:00
Peter Šurda f8dcb965ea Grammar fix
- Fixes #179
- Thanks to @Erkan-Yilmaz
2016-05-02 15:00:24 +02:00
Peter Šurda d63ecfc566 Translation update
- typos
- updated German translation
- Fixes Bitmessage#844
2016-05-02 15:00:24 +02:00
Peter Šurda 3fcaa47232 Ack received translation typo
Fixes Bitmessage#644
2016-05-02 15:00:24 +02:00
Peter Šurda 143abe3c34 Preliminary Tor hidden service support 2016-05-02 15:00:24 +02:00
Peter Šurda c5363c3c5e Add bitcoin URI handler for message viewer 2016-05-02 15:00:24 +02:00
Peter Šurda 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
Peter Šurda a30d5af948 Global Sent and Trash folders 2016-05-02 15:00:24 +02:00
mailchuck 8d8cfe8555 More unicode fixes
Addresses #180
2016-05-02 15:00:24 +02:00
mailchuck 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
mailchuck 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
mailchuck 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
mailchuck 2adafdaadc Improved URI detector 2016-05-02 15:00:24 +02:00
mailchuck ed5c8a01ef loadResource incorrect parameters 2016-05-02 15:00:24 +02:00
mailchuck a79f6cce3b Clipboard copy unicode
Copying unicode subjects to clipboard didn't work.

Fixes #183
2016-05-02 15:00:24 +02:00
Peter Šurda 113ceb0868 Email links "From"
Clicking email links now sets "From" based on the message the link is
in.
2016-05-02 15:00:24 +02:00
Peter Šurda 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
Peter Šurda 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
Peter Šurda 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
Peter Šurda 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
Peter Šurda 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
Peter Šurda 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
Peter Šurda 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
Peter Šurda 9239813ebb Constant time decryption
Always try to decrypt with all keys.
2016-05-02 15:00:24 +02:00
Peter Šurda 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
Peter Šurda 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
address.

Fixes #14
2016-05-02 15:00:24 +02:00
Peter Šurda 6b8f255a60 Email gateway updates
- settings option available
- reduce max TTL to 2 days
2016-05-02 15:00:24 +02:00
Peter Šurda 2b6bffc7ff Email gateway account status query
- addresses #14
2016-05-02 15:00:24 +02:00
Peter Šurda 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
Peter Šurda 218bdf38e1 Better error reporting for log config
Fixes #174
2016-05-02 15:00:24 +02:00
Peter Šurda ab974abce0 Sent message status on ACK
Fixes #176
2016-05-02 15:00:24 +02:00
Peter Šurda 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
Peter Šurda 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
Peter Šurda 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
Peter Šurda 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
list.
2016-05-02 15:00:23 +02:00
mirrorwish 80c174e417 Save changes to blacklist labels
Fixes mailchuck/PyBitmessage#175

Signed-off-by: Peter Surda <surda@economicsofbitcoin.com>
2016-05-02 15:00:23 +02:00
mailchuck bcae62938a Unused variable 2016-05-02 15:00:23 +02:00
mailchuck 24a2deed8f Cleanup lockfile on exit
singleton.py design was broken.
Fixed Bitmessage#775
2016-05-02 15:00:23 +02:00
mailchuck 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
IPv6-aware.
Fixes Bitmessage#768
2016-05-02 15:00:23 +02:00
mailchuck 47f1c0c267 Thread names for IPv6
Thread names for IPv6 contained ":". This caused problems in log
parsers.
2016-05-02 15:00:23 +02:00
mailchuck 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
mailchuck 3bde549e5c Version bump for 0.5.7 2016-05-02 15:00:23 +02:00
mailchuck 185d212cb2 Unread count refresh on change 2016-05-02 15:00:23 +02:00
mailchuck 8f1e753cf0 Typo 2016-05-02 15:00:23 +02:00
mailchuck 140b3ddbb8 Test cleanup
Safer this way
2016-05-02 15:00:23 +02:00
mailchuck 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
mailchuck 7c99899248 updateText was deleted so no need to call it 2016-05-02 15:00:23 +02:00
mailchuck 2dc230db90 Tree rerendering cleanup
Fixes #76
2016-05-02 15:00:23 +02:00
mailchuck 1cc4fac7f4 Unread count cleanup
Addresses #128
2016-05-02 15:00:23 +02:00
mailchuck f5187e16a0 BlackWhitelist rerendering
It used to show entries with no address.
Fixes #170
2016-05-02 15:00:23 +02:00
mailchuck aae5b713b1 Disabling subscriptions should rerender addressbook
Addresses #76
2016-05-02 15:00:23 +02:00
mailchuck 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
mailchuck 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
mailchuck e6c379cca6 Scroll/zoom in message composing widget
Fixes #169
2016-05-02 15:00:23 +02:00
mailchuck a4c48228fc Messagelist subscription color
Fixes Bitmessage#842
2016-05-02 15:00:23 +02:00
mailchuck 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
mailchuck 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
mailchuck 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
mailchuck 056512a715 Sent folder new message selection fix
Fixes Bitmessage#838
2016-05-02 15:00:23 +02:00
mailchuck 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
mailchuck 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
mailchuck 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
Peter Šurda 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
Peter Šurda 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
mailchuck 2043d796dd Typo 2016-05-02 15:00:23 +02:00
mailchuck a0da175d45 Typo 2016-05-02 15:00:23 +02:00
mailchuck c137e334d2 OpenSSL version for support contact form 2016-05-02 15:00:23 +02:00
mailchuck dc34c00f38 Improve OpenSSL library finder 2016-05-02 15:00:23 +02:00
mailchuck b7e24fab4a DLL path fix in frozen mode
Addresses #152
2016-05-02 15:00:23 +02:00
mailchuck 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
itsexe 72f9e29931 fixed some spelling errors 2016-05-02 15:00:23 +02:00
mailchuck 98fab9c568 Message body focus on reply
Fixes #156
2016-05-02 15:00:23 +02:00
mailchuck 43a765515a Remember current search
@rainulf  What's the reasoning behind resetting the search?

Fixes #155
2016-05-02 15:00:23 +02:00
mailchuck b699475906 Clicks in empty message shouldn't produce an error 2016-05-02 15:00:23 +02:00
mailchuck 46494dc3e6 "All accounts" can't be renamed
Minor error
2016-05-02 15:00:23 +02:00
mailchuck 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
function

Fixes #164
2016-05-02 15:00:23 +02:00
mailchuck 962c36e122 Allow zooming of message body
Uses default system zoom settings (Ctrl-Wheel).
Fixes #163
2016-05-02 15:00:23 +02:00
mailchuck 4033b945ee UPnP status bar update fix 2016-05-02 15:00:23 +02:00
mailchuck 1b36da9327 Save UPnP port
Fixes #129
2016-05-02 15:00:23 +02:00
mailchuck 27874df45f Typo (missing) 2016-05-02 15:00:23 +02:00
mailchuck 3f2108b36f Typo 2016-05-02 15:00:23 +02:00
mailchuck e5675987a7 Fix frozen localisation (OSX)
Fixes Bitmessage#737
2016-05-02 15:00:23 +02:00
mailchuck d7ff86705e Fix frozen localisation
Addresses Bitmessage#737
2016-05-02 15:00:23 +02:00
mailchuck 6f74ffc265 Mac OSX portable mode path
Fixes #150
2016-05-02 15:00:23 +02:00
mailchuck 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
mailchuck d6ec2a2b8d Version bump 2016-05-02 15:00:22 +02:00
mailchuck 0f24fe5a0c Missing import 2016-05-02 15:00:22 +02:00
mailchuck 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
mailchuck e650cff42d (Un)read messagelist items
Previous commits broke them, now it renders correctly again.
2016-05-02 15:00:22 +02:00
mailchuck 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
mailchuck 879a6f1d68 Messagelist loads faster
Addresses #149. About 5 times faster.
2016-05-02 15:00:22 +02:00
mailchuck 0b4c57a516 Entries missing in messagelist 2016-05-02 15:00:22 +02:00
mailchuck a8053195ea Fix cdecl/stdcall DLL detection
Fixes #146
2016-05-02 15:00:22 +02:00
Peter Šurda 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
mailchuck 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
mailchuck 4dbd444053 Logging fix 2016-05-02 15:00:22 +02:00
mailchuck ea37913ff1 Html parser fixes
Raw mode improved, avoid HTML parser entirely and just replaces some
strings.
2016-05-02 15:00:22 +02:00
mailchuck 07cee7209b Contact support fixes
- typos & formatting
- OS detection crash fixes
2016-05-02 15:00:22 +02:00
Peter Šurda d0b9d75ce1 Fix contact support unix detection 2016-05-02 15:00:22 +02:00
mailchuck 4049662a3a Contact support updates
Yes/No -> True/False
Add Portable mode
2016-05-02 15:00:22 +02:00
mailchuck 3e956509b2 Add PyBitmessage version to contact support 2016-05-02 15:00:22 +02:00
mailchuck 8359b8b202 Contact support user interface
Fixes #25
2016-05-02 15:00:22 +02:00
mailchuck a727847e55 Addresses can be configured not to send acks
Manually by specifying "dontsendack" = true in the address section
2016-05-02 15:00:22 +02:00
mailchuck 4c8ba431e5 Add to blacklist from "All accounts"
It didn't work before
2016-05-02 15:00:22 +02:00
mailchuck 17d045da10 Sensible default maximum difficulty
Fixes #144
2016-05-02 15:00:22 +02:00
mailchuck 1f525da1ff Link follow warning
The message box should be a warning rather than a simple question.
2016-05-02 15:00:22 +02:00
mailchuck eb35f35b83 Add system translations
Items like dialog box buttons were not localised. This loads the default
qt localisation, and also unloads the old localisation on locale change.
Still needs to be adjusted for frozen.

Addresses Bitmessage#737
2016-05-02 15:00:22 +02:00
mailchuck 7ef94b446d Lazy rendering of message contents
Message will render as user is scrolling down. This prevents interface
freezes on long messages (such as inline img in text mode). Fixes
Bitmessage##366

Also a minor fix in text mode rendering.
2016-05-02 15:00:22 +02:00
mailchuck 6557681a6c Message has safe link opening
Links in message body (if in HTML mode) now open, but it asks for a
confirmation in a dialog box.

Fixes #27
2016-05-02 15:00:22 +02:00
mailchuck 751f9108d8 HTML detector and switcher
HTML messages are detected and if present, the top of the message
textedit displays a clickable area that switches HTML rendering on and
off.

Fixes #13
2016-05-02 15:00:22 +02:00
mailchuck 8ff5bf0464 Channel reply enhancement
When replying to a message sent to a chan, now you can choose if you
want to reply to chan or sender. Fixed #9
2016-05-02 15:00:22 +02:00
mailchuck 4e32125ca3 Copy to clipboard in messagelists
Fixes #142
2016-05-02 15:00:22 +02:00
mailchuck e2fb34e2fb More portable mode fixes 2016-05-02 15:00:22 +02:00
mailchuck 242c8fa9c2 More portable mode fixes 2016-05-02 15:00:22 +02:00
mailchuck 8136b022bc Typos
Still regarding portable mode path fixes
2016-05-02 15:00:22 +02:00
mailchuck 5a45d7dd8f Portable mode fixes
Fixes Bitmessage#379, Bitmessage#341
2016-05-02 15:00:22 +02:00
mailchuck 4f6fd07424 Joining chans interface freeze
Fixes #137
2016-05-02 15:00:22 +02:00
Peter Šurda 538642f236 Label for blacklisting sender fix
It wasn't properly utf-8-ied.
2016-05-02 15:00:22 +02:00
Peter Šurda bdfaa90ecb Auto-register for email gateway if necessary
If attempting to send to an email address from an unregistered
account, auto-send registration to mailchuck.
Use label if possible, otherwise random 12 characater address

Fixes #131
2016-05-02 15:00:22 +02:00
Peter Šurda 082eb823bb New message appears if viewing account root
Fixes #132
2016-05-02 15:00:22 +02:00
mailchuck d72e5647f4 Fix wrong account type initialiser
Addresses #14
2016-05-02 15:00:22 +02:00
mailchuck 27b8891ab4 Test commit policy commit 2016-05-02 15:00:22 +02:00
mailchuck a5456f792c Fix Addressbook context menu delete 2016-05-02 15:00:22 +02:00
mailchuck 41ac1b89d1 Frozen SMP re-disable try 2 2016-05-02 15:00:22 +02:00
mailchuck 549d91dc68 Re-disable windows SMP frozen support
The recommended workaround didn't work.
2016-05-02 15:00:22 +02:00
mailchuck 1625306be3 Version bump 2016-05-02 15:00:22 +02:00
mailchuck bccc2406a2 Fix double unread count in tray icon 2016-05-02 15:00:22 +02:00
mailchuck d54b22bb89 Initialise inventorySets earlier
In corner cases, they may be referenced before they are populated.
Probably fixes Bitmessage#530
2016-05-02 15:00:22 +02:00
mailchuck 52fe7105a9 Allow bootstrap from a Tor hidden service
I run a modified node as a Tor hidden service for bootstrapping node
addresses, and PyBitmessage can now connect to it.
2016-05-02 15:00:22 +02:00
mailchuck 27c187283b Unify messagelist rendering
also some minor fixes
2016-05-02 15:00:22 +02:00
mailchuck a3b13b70e2 Add BROADCAST type
also improve sorting
2016-05-02 15:00:22 +02:00
mailchuck be02116af9 Global folder, global search, unread folder
Fixes #38
Fixes #39

Minor unread refresh issues.
2016-05-02 15:00:22 +02:00
mailchuck 6862952c55 Typo
OpenCL config variable setter had a typo
2016-05-02 15:00:22 +02:00
mailchuck 6ad3c956c9 Allow SQL arguments as a list or tuple 2016-05-02 15:00:21 +02:00
mailchuck d75533c6b6 DNS bootstrap over Tor
If proxy type is SOCKS5, it will try to perform DNS bootstrap using the
Tor RESOLVE extension.
2016-05-02 15:00:21 +02:00
mailchuck 1e89616c0f Avoid strings in account types 2016-05-02 15:00:21 +02:00
mailchuck 399100e6d8 PoW support code cleanup
Is now nicer and reports if OpenCL fails
2016-05-02 15:00:21 +02:00
mailchuck 9335f74c61 OpenCL kernel change
This makes it work on my AMD.
2016-05-02 15:00:21 +02:00
mailchuck e7e245fe25 OpenCL GUI settings 2016-05-02 15:00:21 +02:00
mailchuck 0c19e0c2e4 Failure to connect shouln't be an error
It resulted in too many errors in the logs
2016-05-02 15:00:21 +02:00
mailchuck d0b73eb211 SMP fix for frozen Windows 2016-05-02 15:00:21 +02:00
mailchuck aa97b53114 addressGenerator fixes
- addressGenerator got stuck (introduced recently when cleaning up
shutdown
- do not put addresses into API return queue if API is inactive
- improve translation
2016-05-02 15:00:21 +02:00
mailchuck f9a7a5b6f2 Account in treeWidget more like a QT class
It behaves more like a QT class is supposed to now, it's somewhat
cleaner.
Fixes #122
2016-05-02 15:00:21 +02:00
mailchuck d69c2e097f Cleaner shutdown
Addresses Bitmessage#549
2016-05-02 15:00:21 +02:00
mailchuck 6dbe20a25c Version bump 2016-05-02 15:00:21 +02:00
mailchuck 7b4264a109 Typo 2016-05-02 15:00:21 +02:00
mailchuck f77afe8fae Exception handling 2016-05-02 15:00:21 +02:00
mailchuck 36ddbd365e Typo 2016-05-02 15:00:21 +02:00
mailchuck 410c23e8c0 Typo 2016-05-02 15:00:21 +02:00
mailchuck ff358b1a1f Typo 2016-05-02 15:00:21 +02:00
mailchuck ec68146135 Suppress error on releasing unlocked lock 2016-05-02 15:00:21 +02:00
mailchuck e82e33fa51 UPnP notifications
UPnP will notify you through window status bar.
2016-05-02 15:00:21 +02:00
mailchuck bbdfb1ea54 UPnP cleaner shutdown 2016-05-02 15:00:21 +02:00
mailchuck e4a7e71790 SSL fixes 2016-05-02 15:00:21 +02:00
mailchuck 281630757e SSL fixes 2016-05-02 15:00:21 +02:00
mailchuck 18f7ef06e2 SSL fixes
Handle old Python compatibility better.
2016-05-02 15:00:21 +02:00
mailchuck 74519069f0 outgoingSynSender thread reaping disabled
It was causing delays on shutdown, worse on linux/osx
2016-05-02 15:00:21 +02:00
mailchuck b00c4f24ec Threads close better
- UPnP and outgoingSynSender threads close slightly better.
- extPort initialisation was missing
2016-05-02 15:00:21 +02:00
mailchuck 48b9e50397 UPnP GUI
Settings GUI now contains a checkbox for UPnP and auto starts/stops the
thread when changed.
Default UPnP socket timeout decreased for faster thread
starting/stopping
2016-05-02 15:00:21 +02:00
mailchuck 50be5a2b4c UPnP fixes 2016-05-02 15:00:21 +02:00
mailchuck 8c14641810 Window resize on minimize bugfix
Fixes Bitmessage#243
2016-05-02 15:00:21 +02:00
mailchuck c03c563a74 Make UPnP into a thread
- UPnP is now a separate thread that will continue to setup UPnP
- shutdown waits for threads that shutdown correctly (Addresses
Bitmessage#549)
2016-05-02 15:00:21 +02:00
mailchuck cc848cdb65 Typo fix 2016-05-02 15:00:21 +02:00
mailchuck 5432c6e0c8 UPnP logging improvlement 2016-05-02 15:00:21 +02:00
mailchuck 3c9df7151c Logging fix 2016-05-02 15:00:21 +02:00
mailchuck aa55f45a0d Logging fix 2016-05-02 15:00:21 +02:00
Peter Šurda 0270dc3d4d Cleanup UPnP 2016-05-02 15:00:21 +02:00
mailchuck 9338772b1e Logging updates
Came over BM (from "general" channel), I slightly modified it.
2016-05-02 15:00:21 +02:00
mailchuck b7ad34cf15 Trusted peer flood protection
Is not needed.
Fixed Bitmessage#786
2016-05-02 15:00:21 +02:00
mailchuck 960d446104 Ask before deleting a subscription
Fixes #120
2016-05-02 15:00:21 +02:00
mailchuck c2970cd92e Update addressbook on changes
Fixes  #99
- enable/disable new/delete chan/subscription
- also found and fixed a logger crash
2016-05-02 15:00:21 +02:00
mailchuck 1f331f217c Messagelist address tooltip
Fixes #108
2016-05-02 15:00:21 +02:00
mailchuck 8909a535ae Remove extra debug logging 2016-05-02 15:00:21 +02:00
mailchuck dd15d1b6ed Delete key and shift modifier
Addresses #114
- delete from sent works when pressing delete key
- delete from trash deletes rather than moves
- delete with shift deletes rather than moves
2016-05-02 15:00:21 +02:00
mailchuck cd9a7b5157 Missing folders in rerenderTabTreeSubscriptions
I optimised it too much and sometimes folders were missing in the tree.
2016-05-02 15:00:21 +02:00
mailchuck d7817ca2ef Smoother rerenderTabSubscriptions
Does not reset it all the time but adds/removes
Fixes #109
2016-05-02 15:00:21 +02:00
mailchuck 231219a193 Improved logging
Fixes #118

- changed almost all "print" into logger
- threads have nicer names
- logger can have configuration in "logger.dat" in the same directory as
"keys.dat", and the logger will pick the one named "default" to replace
the "console" and "file" that are in PyBitmessage otherwise

Example file for logging to syslog:

[loggers]
keys = root,syslog

[logger_root]
level=NOTSET
handlers=syslog

[logger_syslog]
level=DEBUG
handlers=syslog
qualname=default

[handlers]
keys = syslog

[handler_syslog]
class = handlers.SysLogHandler
formatter = syslog
level = DEBUG
args=(('localhost', handlers.SYSLOG_UDP_PORT),
handlers.SysLogHandler.LOG_LOCAL7)

[formatters]
keys = syslog

[formatter_syslog]
format=%(asctime)s %(threadName)s %(filename)s@%(lineno)d %(message)s
datefmt=%b %d %H:%M:%S
2016-05-02 15:00:21 +02:00
Denilson M. Amorim 28f46cb8b3 Dont run twice if daemon too 2016-05-02 15:00:21 +02:00
Denilson M. Amorim cf610080b9 Squash: Single instance and pop up old instance 2016-05-02 15:00:21 +02:00
mailchuck 46d647460f Version bump
We have 0.5.3 now
2016-05-02 15:00:21 +02:00
mailchuck 2fd85bfa69 SSL workaround
Python < 2.7.9 does not support anonymous SSL server through
ssl.wrap_socket, so we have to disable it. Works fine as client.
Try to prefer secp256k1 curve (again, requires python >= 2.7.9)
2016-05-02 15:00:21 +02:00
mailchuck 049e226ddc Move saving UI state
quit is more appropriate than close event, but it my resurrect the issue
with linux saving config data.
2016-05-02 15:00:21 +02:00
mailchuck 5cb02dc783 Improve blacklist autolabel 2016-05-02 15:00:21 +02:00
mailchuck 1db7635893 OSX build fixes
- include bitmsghash so that it bundles the C library PoW
- include sslkeys so that SSL works in the bundle
- PyBitmessage version now propagated from the shell build script
2016-05-02 15:00:21 +02:00
mailchuck a02ea14233 Blacklist through context menu
Fixes #101
2016-05-02 15:00:21 +02:00
mailchuck c7fb9e6a43 SSL fixes
- uses constants for service flags
- requires SSL to use TLSv1 version (protection against POODLE-style
attacks)
- retry if sock.recv incomplete
2016-05-02 15:00:21 +02:00
mailchuck 2f874e41be Fix adding/editing entries in addresbook
It didn't sort correctly and didn't update the label correctly when
changed.
Fixes #95
2016-05-02 15:00:21 +02:00
mailchuck c804f6c181 Opportunistic encryption with TLS (2 of 2)
These are dummy key and certificates. They are loaded but otherwise not
used. This is a workaround against python's ssl_wrap deficiency, it
won't allow to execute a server-side SSL handshake without a loaded key
+ cert. Since generating key/cert locally would require additional
libraries, I opted for including a dummy one in the source.
2016-05-02 15:00:20 +02:00
mailchuck 53b0d2749b Opportunistic encryption with TLS (1 of 2)
Fixes Bitmessage#264
Fixes Bitmessage#648
2016-05-02 15:00:20 +02:00
mailchuck 25cc1dc287 Unified code for finding source code location
It is already used in 3 places so I put it into a function
2016-05-02 15:00:20 +02:00
mailchuck ceda22ec94 Private IP range update
Addresses Bitmessage#768
2016-05-02 15:00:20 +02:00
mailchuck f68627158d Click on inactive tab
Would cause exception.
2016-05-02 15:00:20 +02:00
mailchuck 0e15b246af Fix broadcast
Any normal address should be able to broadcast. Reported over BM in one
of the chans.
2016-05-02 15:00:20 +02:00
mailchuck 10474b3561 Fix sync status sum
Last commit was broken.
2016-05-02 15:00:20 +02:00
mailchuck 79e199b45a Show sync status in Network tab
Addresses Bitmessage#745 (but no API exposure yet)
2016-05-02 15:00:20 +02:00
mailchuck 5b724f366e Prepare for tree widgets to store settings
Precursor for #12
2016-05-02 15:00:20 +02:00
mailchuck 4b88922104 Translation directory for OSX bundles
Addresses bitmessage#514
2016-05-02 15:00:20 +02:00
mailchuck 8f5d177690 Enabling/disabling color propagation
Fixes #105
2016-05-02 15:00:20 +02:00
mailchuck a85e9ed20e Default message font
Fixes #106 and Bitmesage#248
2016-05-02 15:00:20 +02:00
mailchuck 2947462d45 Unregistering of unregeistered accounts
Since it's unregistered, we don't know where to unregister from.
Fixes #91.
2016-05-02 15:00:20 +02:00
Henrik Olsson 57575d0a39 Fix some typos
Author:    Henrik Olsson <henrik@fixme.se>
2016-05-02 15:00:20 +02:00
mailchuck 1a842730a2 Newly sent messages and status update
- newly sent messages did not appear in all tabs
- message status change didn't work in all tabs
- addresses #90
- however, still new sent message sender/recipient do not have the
correct color
2016-05-02 15:00:20 +02:00
mailchuck 4aaf0048c6 Disabled folder color
Fixes #92
2016-05-02 15:00:20 +02:00
mailchuck 2783a1c1e5 Autofold/unfold when enabling/disabling
Fixes #93
2016-05-02 15:00:20 +02:00
mailchuck d9401c7180 several bugfixes for rerendertabtree
It was prone to infinite loops, mixing elements etc.
2016-05-02 15:00:20 +02:00
mailchuck 8103874f6e Allow deleting channels
Fixes #96
2016-05-02 15:00:20 +02:00
mailchuck b74dc569ef Disable "Special address behaviour" in chan
Fixes #97
2016-05-02 15:00:20 +02:00
mailchuck e9a908aa83 Sqlite secure delete
Fixes #102
2016-05-02 15:00:20 +02:00
mailchuck 12878af41f Fix Py2Exe / Py2App
Fixes the C PoW loading in frozen apps (Windows and OSX)
Cleaner fallback in PoW if something goes wrong
2016-05-02 15:00:20 +02:00
mailchuck 03f709b70d Bump version
get ready for 0.5.2
2016-05-02 15:00:20 +02:00
mailchuck 2921b6553b TTL/send splitter shouldn't save state
Because it also cannot be resized from the UI
2016-05-02 15:00:20 +02:00
mailchuck 83850536cf Do not store search splitter state
It causes problems because it can't be resized through GUI.
2016-05-02 15:00:20 +02:00
mailchuck 3f96962e62 Actually enable saving states
It was temporarily disabled for testing resizing.
Addresses #12
2016-05-02 15:00:20 +02:00
mailchuck d5743f12b9 More tabs resizable and save state
Fixes #15
Addresses #12
2016-05-02 15:00:20 +02:00
mailchuck 8e650396da Missing library fix
Missing library error wasn't handled correctly.
2016-05-02 15:00:20 +02:00
mailchuck 0a8fdd7eff Compile fixes
- OSX and Windows compile fixes
2016-05-02 15:00:20 +02:00
mailchuck 5a681068fe OpenCL fixes
- directory change
- automatically detect all available GPUs
2016-05-02 15:00:20 +02:00
mailchuck 53ca944483 OSX fixes and default compile
It should built on OSX 10.11 now
It will build bitmsghash.so by default
2016-05-02 15:00:20 +02:00
mailchuck 961444a8ee OpenCL compile warning 2016-05-02 15:00:20 +02:00
mailchuck ad33e2640c Move and rename OpenCL kernel 2016-05-02 15:00:20 +02:00
Peter Šurda d5ec69d3b7 Bitmsghash linux compile fixes 2016-05-02 15:00:20 +02:00
Peter Šurda 0a09d3580d Make building bitmsghash default 2016-05-02 15:00:20 +02:00
mailchuck 1a3794f3e3 C PoW updates
- move to subdirectory
- get rid of compile warnings on windows
- get number of threads from affinity (Windows, Linux) or core count
(BSD/OSX)
2016-05-02 15:00:20 +02:00
Peter Šurda 84c9b1dd31 C PoW library makefile
For easy compiling with GNU make (e.g. Unix-like systems).
Run as "make bitmsghash.so"
2016-05-02 15:00:20 +02:00
Peter Šurda 2869822134 C PoW updates
Catching up with Grant Olson's fork.
Reduce thread priority.
2016-05-02 15:00:20 +02:00
mailchuck be55af1832 C library for bitmessage PoW
Originally from https://github.com/bm-robertwhite/bitmessage-powfaster.
Modified to compile correctly on Visual Studio, and to decrease thread
priority.
I have not tried it on Linux yet.
2016-05-02 15:00:20 +02:00
mailchuck e5ee7426eb Support for PoW from an external library
This will attempt to include a PoW library (.so on Unix, .dll on
windows) to do PoW. This is done in a safe way and clean fallback to
normal PoW. The code for the library will be in another commit. The code
is take from https://github.com/bm-robertwhite/bitmessage-powfaster,
with minor modifications.

This patch also includes code to make GPU PoW have a safer fallback.
2016-05-02 15:00:20 +02:00
mailchuck df3c662832 Message status update
Someone reported the exception via BM. Fixes #90

Signed-off-by: mailchuck <dev@mailchuck.com>
2016-05-02 15:00:20 +02:00
mailchuck f5f46dae45 Version bump 2016-05-02 15:00:20 +02:00
mailchuck 8eb1b7462a notify of new message fixed
Will notify even if not on active messagelist.
2016-05-02 15:00:20 +02:00
mailchuck abc2ea2427 Wrong messagelist 2016-05-02 15:00:20 +02:00
mailchuck 0f1d85ff89 Unread count fixes 2016-05-02 15:00:20 +02:00
mailchuck e84efecb67 getCurrentFolder should return None on unavailable
I think None is better than False.
2016-05-02 15:00:20 +02:00
mailchuck aafa7b2840 Deleting from sent fix
Fixes #52
2016-05-02 15:00:20 +02:00
mailchuck 33928f1bc7 Trash undelete
Fixes #55
2016-05-02 15:00:20 +02:00
mailchuck 657eeeb1ca Clear message lists better
Fixes #71
2016-05-02 15:00:20 +02:00
mailchuck d78629a6cf Emptying trash updates
Fixes #75, however it is quite slow
2016-05-02 15:00:20 +02:00
mailchuck 6a95eba8f3 Unread count for trash
MarkUnread assumed all folders are inbox.
2016-05-02 15:00:20 +02:00
mailchuck b4c920316e Enable/disable dynamic behaviour
Fixes #88
2016-05-02 15:00:20 +02:00
mailchuck 81e8ee1f83 Color fixes in messagelists
Fixes #87
2016-05-02 15:00:20 +02:00
mailchuck ad63e956cf accountBrush improvements
Moved code into the method
2016-05-02 15:00:19 +02:00
mailchuck 828bf64630 Address book better context menu
Don't allow delete of chans/subscriptions.
Fixes #82
2016-05-02 15:00:19 +02:00
mailchuck feea1ccd8d Colors for From ComboBox
Fixes #86
2016-05-02 15:00:19 +02:00
mailchuck 0eb89d8af5 Subscription new messages display correctly
Fixes #70
2016-05-02 15:00:19 +02:00
mailchuck 4c8223ae88 Unread count performance optimisation
Continuation of #63
2016-05-02 15:00:19 +02:00
mailchuck 2adfa6a178 Ubuntu notification fixes
Notification should work irrespective of whether the new message shows
up in the messagelist.
2016-05-02 15:00:19 +02:00
mailchuck 1174fb394a Indicate message sending
Fixes #83
2016-05-02 15:00:19 +02:00
mailchuck 6123b27315 removeInboxRowByMsgid fixes
Now undertands messagelists and has better performance.
Haven't tested it yet though because it's triggered through API.
I think it fixes #85
2016-05-02 15:00:19 +02:00
mailchuck 7478440bd6 Update unread count more efficiently
Fixes #63. There are still some situations which can be improved but it
appears good enough.
2016-05-02 15:00:19 +02:00
mailchuck 9abc937cb3 More unified colors in foldertree and messagelists
Some parts still not colored in a unified way.
Fixes #84
2016-05-02 15:00:19 +02:00
mailchuck 6383f48ef2 Show tooltips on addressbook
Fixes #68
2016-05-02 15:00:19 +02:00
mailchuck 63431556be Make subscription/chan labels editable
Fixes #67
2016-05-02 15:00:19 +02:00
mailchuck 77382a2424 Refactoring foldertree
Colors consistent
Sorting more consistent
Deduplication of methods
Context menu enable/disable affects tree
Fixes #73
2016-05-02 15:00:19 +02:00
mailchuck 1c4015d359 Spanish wrongly spelled
Fixes #74
2016-05-02 15:00:19 +02:00
mailchuck 4522ea46d3 Sent in chans and subscriptions columns
Now it shows "from" instead of "to" column when selecting sent folder in
subscriptions or chans.

Fixes #53
2016-05-02 15:00:19 +02:00
mailchuck 2cc7506619 Addressbook contains chans, subscriptions and is sorted
Fixes #5
2016-05-02 15:00:19 +02:00
mailchuck 39dc34b158 Sent folder for chans and subscriptions
Fixes #53
2016-05-02 15:00:19 +02:00
mailchuck 1d86f7a699 Put mailing lists behind normal accounts
Fixes #58
2016-05-02 15:00:19 +02:00
mailchuck f6bd312dc5 New message in correct tab
Newly arriving messages now appear in the correct tab. Previously it
assumed it was always "Messages" tab. Partially addresses #3.
2016-05-02 15:00:19 +02:00
mailchuck 55b69f2e8b Fix keypress in chan and subscription messagelists
Fixes #65
2016-05-02 15:00:19 +02:00
mailchuck ab113745bd Remove expletive
That wasn't necessary.
2016-05-02 15:00:19 +02:00
mailchuck 2ec04ede40 Passive version check
Bitmessage will now notify you if it encounters someone with a newer
version. Takes into account that it should not recommend switching from
stable to unstable and vice versa. Also, temporarily treats 0.5 as a
mailchuck fork.

Fixes #43
2016-05-02 15:00:19 +02:00
mailchuck 3ffea81d02 No more Mailchuck Pybitmessage 2nd
Last commit only changed loading, this also saving.
2016-05-02 15:00:19 +02:00
mailchuck f47d28bb59 There will not be a Mailchuck PyBitmessage anymore
Since I'm merging my fork into normal pybitmessage, there won't be
separate configs.
2016-05-02 15:00:19 +02:00
mailchuck 7625b4f101 Version bump
Just for development
2016-05-02 15:00:19 +02:00
mailchuck 3566b82c9f Special address behaviour updates send comboboxes
Fixes #57
2016-05-02 15:00:19 +02:00
mailchuck 705ffacd8b Changing label updates SendFrom combobox
Fixes #2
2016-05-02 15:00:19 +02:00
mailchuck d51431b1dc Account listing and sorting
- account listing and sorting has now a common function to reuse
- combobox send from is now sorted, Fixes #59
2016-05-02 15:00:19 +02:00
mailchuck afeadcf8d2 Switch to tab you're replying from
Fixes #64
2016-05-02 15:00:19 +02:00
mailchuck 059f113d95 Account labels become editable again
Fixes #60
2016-05-02 15:00:19 +02:00
mailchuck 5ac17e456d Fix reply unicode subject
Fixes #62
2016-05-02 15:00:19 +02:00
mailchuck 343b3532c5 Show subscription unread count
Subscriptions were not showing unread count. This commit implements it.
2016-05-02 15:00:19 +02:00
mailchuck c83255d4d4 Bump up version 2016-05-02 15:00:19 +02:00
mailchuck 7998d77b9c Broadcast sending from was wrong
Fixes #51
2016-05-02 15:00:19 +02:00
mailchuck 5b12f2dffa Chan and subscription trash
Fixes #6
2016-05-02 15:00:19 +02:00
mailchuck faeaad212d Replies to mailing lists
Attempt to fix #49. Will close after positive feedback.
2016-05-02 15:00:19 +02:00
mailchuck bf9bdaadc5 Fix reply-to subscriptions and labels
Closes #1
Also attempts to solve #49 but needs testing.
2016-05-02 15:00:19 +02:00
mailchuck 23207749d1 Constant in a separate file
str_broadcast_subscribers should not be specific to the main UI class
2016-05-02 15:00:19 +02:00
mailchuck 9d2e114712 Add BroadcastAccount class
This will help to distinguish between general broadcasts and
subscriptions.
2016-05-02 15:00:18 +02:00
mailchuck 3911525d75 Remember main window geometry and state on exit
Main window geometry and state is saved on exit and restored on load.
Uses default QSettings in python.
2016-05-02 15:00:18 +02:00
mailchuck b776eb7f36 Formatting change
Was not folding properly in editor, made it more python-like
2016-05-02 15:00:18 +02:00
mailchuck 001ec14d72 Messages tab resizable
- the separator between folder tree and message list is now resizable
- the separator between list of messages and message content is
resizable
- only for message tab, chans, subscriptions and others are still not
resizable
2016-05-02 15:00:18 +02:00
mailchuck 4db1a5ea48 Subscriptions
Initial subscription fix. Still does not always display the list from
the correct folder, and it currently does not update unread count on
subscriptions.
2016-05-02 15:00:18 +02:00
mailchuck 59a562228d Fix
Typo
2016-05-02 15:00:18 +02:00
mailchuck e10b9cbff4 Resizable fields
Inbox folder/message now resizable
2016-05-02 15:00:18 +02:00
mailchuck 321bf9a6c9 Chan UI fix
Minor chan UI fix. Still not completely smooth but mostly working.
2016-05-02 15:00:18 +02:00
mailchuck 552876e43e Gateway register/unregister changes
- do not register/unregister channels or mailing lists
- send registration/unregistration request irrespective of whether the
client thinks it's registered or not. We don't know for sure it knows it
correctly so don't assume that, it may confuse users
2016-05-02 15:00:18 +02:00
mailchuck 5525176216 Chan updates
- chans now work with the new interface, still some bugs present
- chans do not have a sent folder anymore (you'll see sent messages in
the sent folder of the account you're sending it from)
2016-05-02 15:00:18 +02:00
mailchuck b8baceb629 Fix: recurse prevention
In case something screws up, prevent recursive changes through
treeWidgetItemChagned
2016-05-02 15:00:18 +02:00
mailchuck 1cab8bf549 Fix: gateway registration updates label
When registering on a gateway, the label change will be displayed
immediately.
2016-05-02 15:00:18 +02:00
mailchuck ccae351e65 Fix: do not update account name from folder name
Last commit caused changes in unread count of folder to change the
account name. This is now fixed.
2016-05-02 15:00:18 +02:00
mailchuck 80afc489d8 Editable address labels
Address labels can be edited now (F2 or double click)
2016-05-02 15:00:18 +02:00
mailchuck 2bc9c7ff4c Email gateway integration
Sending/receiving from the send tab, reply from inbox and
registration/unregistration context menu.
2016-05-02 15:00:18 +02:00
mailchuck b4fa5d4abf Gateway update and sort fix
- shows gateway parser results more accurately
- gateway class assigned dynamically
- inbox sort order is aware of what you click on and defaults to
ascending
2016-05-02 15:00:18 +02:00
mailchuck 033be9b5bf Email Gateway UI implementation
First steps, only a tiny part works
2016-05-02 15:00:18 +02:00
mailchuck 83109796fe Address Tree updates
The Address tree now is sorted and updates when number of unread
messages changes.
2016-05-02 15:00:18 +02:00
mailchuck 83a069d1f6 Migration Wizard
- Not fully working yet
- show this wizard and connection confirmation dialog before showing the
main window, and don't open main window until these two have finished or
were canceled
2016-05-02 15:00:18 +02:00
mailchuck 3a294ac672 Fixes
Some pages were initialised with incorrect number of parameters.
2016-05-02 15:00:18 +02:00
mailchuck 9075f3f5e6 OpenCL Fixes
Still not fully working and hardcoded device number
2016-05-02 15:00:18 +02:00
mailchuck 8043f1ae60 Address tree order sort case insensitive 2016-05-02 15:00:18 +02:00
mailchuck fd7ed893a7 Collapse disabled accounts 2016-05-02 15:00:18 +02:00
mailchuck a961ad1d84 Formatting 2016-05-02 15:00:18 +02:00
mailchuck 9ab9984283 Order reverse
Disabled addresses should go at the end, not at the beginning.
2016-05-02 15:00:18 +02:00
mailchuck cae03d66df Typo fix 2016-05-02 15:00:18 +02:00
mailchuck f2e9b3467f Address tree sorting
Sorts addresses in the address tree
2016-05-02 15:00:18 +02:00
mailchuck 8882912bf3 New address wizard
Not working yet, just UI
2016-05-02 15:00:18 +02:00
mailchuck 324dbfb81a Migration Wizard
- from standard PyBitmessage to this one
- not working yet
2016-05-02 15:00:18 +02:00
mailchuck 9a6db480bd Typo 2016-05-02 15:00:18 +02:00
mailchuck b4fad5c49a Shorten trashed summary
Trash UI now exists, there is no need to tell the user it doesn't.
2016-05-02 15:00:18 +02:00
mailchuck 3888eb11be UI fix
All new messages appeared in current account message list, as opposed to
only new messages associated with that account.
2016-05-02 15:00:18 +02:00
mailchuck 2b1222f970 Fix: UI 2016-05-02 15:00:18 +02:00
Peter Surda bde5bfc42e Add: re-merge API changes
API handler was rewritten in upstream, previous merge
overwrote the changse. This re-enables them.
2016-05-02 15:00:17 +02:00
Peter Surda d3345e051a Add: debugging for freezing api call 2016-05-02 15:00:17 +02:00
lightrabbit f0f9f679e6 Add UPnP support. 2016-05-02 15:00:17 +02:00
Peter Surda bd7c3e6e01 Reverted the code that tried to randomise starting PoW position.
The problem wasn't caused by the starting position but by an int
being interpreted as a string. Fixed in upstream and merged.
2016-05-02 15:00:17 +02:00
Peter Surda 69309b82fb Minor changes in cli, PoW, and a couple of new api calls. 2016-05-02 15:00:17 +02:00
sbkaf 800fd2a143 finished implementing more email client like interface 2016-05-02 15:00:17 +02:00
sbkaf f6f68dc975 start changing QTreeWiget 2016-05-02 15:00:17 +02:00
sbkaf 4763fb1238 merge 2016-05-02 15:00:17 +02:00