Greyson Parrelli
0449647cf9
Implemented full-text search.
...
You can now use the search bar on the conversation list to find
conversations, messages, and contacts.
2018-05-21 16:36:59 -04:00
Greyson Parrelli
e6c16cf28d
Allow editing of contact names.
...
Took care to properly format CJK names.
2018-05-21 15:45:22 -04:00
Greyson Parrelli
54dbffaf30
Added ability to share contacts.
...
The "contact" option in the attachments tray now brings you through an
optimized contact sharing flow, allowing you to select specific fields
to share. The contact is then presented as a special message type,
allowing you to interact with the card to add the contact to your system
contacts, invite them to signal, initiate a signal message, etc.
2018-05-21 15:45:22 -04:00
Greyson Parrelli
ca8fecea9c
Clean up camera flipping, handle having missing cameras.
...
Did a refactor to better organize the camera flipping code. Also, I
wanted to make sure we handle the cases where the user doesn't have two
cameras (or no cameras, for that matter). In these cases, we just don't
show the appropriate buttons.
2018-05-21 15:45:22 -04:00
Niklas Hambüchen
f1c79eaebf
Add button to flip camera (front vs rear). Fixes #6279
2018-05-21 15:45:22 -04:00
Greyson Parrelli
43622e603d
Save replies in drafts.
...
Previously, quotes were not saved to drafts, meaning they would be lost
when leaving the conversation or app. Now, a QuoteId (which represents
the necessary data to restore the QuoteModel) is serialized and stored
in the DraftDatabase.
Fixes #7716
Closes #7729
2018-04-26 09:19:22 -07:00
RiseT
7100030c22
Export string conversation_context__menu_reply_to_message
...
Additionally changed from "Reply" to "Reply to message" as other
related strings are more comprehensive as well.
Closes #7732
2018-04-25 10:41:26 -07:00
RiseT
29af1669e1
Export strings from registration_call_me_view
...
Export strings from webrtc_call_screen
Closes #7543
2018-04-19 18:03:45 -07:00
Nicholas Rizzio
e6f76159b0
Export "creating backup" string
...
Closes #7656
2018-04-19 17:59:31 -07:00
Greyson Parrelli
fa99e8f0d0
Updated reply-to UI.
...
All UI components are now properly styled and functioning according to
spec.
2018-04-16 17:33:26 -07:00
Moxie Marlinspike
e86a9ce7eb
Add phone number and direct dial to recipient preferences
2018-04-16 17:33:26 -07:00
Greyson Parrelli
18039bc3f4
Show groups when searching for contacts.
...
Currently, if you're searching for a contact to start a conversation
with or send a share to (via the Android sharing system), groups do not
appear. With this change, groups will now appear when searching, located
under their own heading.
Fixes #7202 .
Closes #7577
2018-03-31 02:14:02 -07:00
Greyson Parrelli
10e5b24cfd
Allow batch deletion of media.
...
It is now possible to batch-delete media in the "media overview" screen.
You can long press to enter multi-select mode. Then a delete button
appears on the menu bar. After pressing delete, you will get a
confirmation, and if the user confirms, the items will delete while a
progres dialog shows.
2018-03-31 02:14:02 -07:00
Greyson Parrelli
0c768a24e4
Allow deletion of media through preview.
...
When viewing a media in the media preview, you can delete it by pressing
a delete button on the action bar. It will then ask you to confirm your
choice. If you confirm, it will delete the attachment from the database
and from disk. If it was the only attachment for that message, the
message itself will also be deleted.
2018-03-31 02:14:02 -07:00
FeuRenard
150601c51e
Replace '1' with '%d' in plural strings
...
Fixes #7470
Closes #7471
2018-03-11 17:05:01 -07:00
Moxie Marlinspike
b39820dcb6
Clarify Registration Lock reminder
...
Fixes #7484
2018-03-09 10:40:29 -08:00
Moxie Marlinspike
1a24885110
Fix issue "home button" issue with screen lock
...
Fixes #7475
2018-03-09 10:25:29 -08:00
Moxie Marlinspike
9c63c6045d
Export string
2018-03-07 12:13:58 -08:00
Moxie Marlinspike
3c0bbfe6f0
s/External Storage/Storage
2018-03-07 12:10:38 -08:00
FeuRenard
0efda2df91
Make toast after saving attachment translatable
...
Closes #7374
2018-03-07 09:41:33 -08:00
Moxie Marlinspike
56c95d1d1b
Extract string resource
2018-03-07 09:36:15 -08:00
Moxie Marlinspike
d44bfc3ce3
s/password/passphrase
2018-03-07 09:34:41 -08:00
Moxie Marlinspike
2beb1dd8d9
Layout adjustments
2018-03-07 09:08:13 -08:00
Moxie Marlinspike
110d33ddf8
Support for Registration Lock PINs
2018-03-05 16:13:56 -08:00
Moxie Marlinspike
d28dc670ea
Migrate to Android fingerprints and auth for Signal screen lock
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
24e573e537
Support for full backup/restore to sdcard
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
71c7ef5b5e
Support for custom call ringtone selection and per-chat ringtones
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
7318236286
Delay processing SMS messages until after sqlcipher migration
...
When screen lock passphrase is enabled
Fixes #7390
2018-02-21 18:49:52 -08:00
Moxie Marlinspike
9d5d43cf3a
Wait to process messages until after migration when screenlocked
...
Fixes #7390
2018-02-04 11:26:02 -08:00
Moxie Marlinspike
e6a069af6d
Remove unnecessary body model
2018-02-01 18:29:09 -08:00
Moxie Marlinspike
23aee53c7d
Add determinte progress and foreground service for sqlcipher migration
2018-02-01 16:01:24 -08:00
Moxie Marlinspike
34424a9b3e
Fix crash when signal messages disabled in group conversation
...
Fixes #6419
Closes #6803
2017-12-25 15:57:33 -08:00
Moxie Marlinspike
0ec1ae4ed3
Request needed permissions for thread search
2017-12-19 10:54:06 -08:00
Moxie Marlinspike
37092eee01
Externalize strings
2017-12-08 14:36:56 -08:00
Moxie Marlinspike
27d3dc918e
s/External Storage/Storage
2017-12-06 11:59:29 -08:00
Moxie Marlinspike
27e11e9627
Make sure we have SEND_SMS permission before sending an SMS
...
Fixes #7246
2017-12-05 11:35:15 -08:00
Moxie Marlinspike
6f10de5e30
Fix trying to launch a dialog from an application context
2017-11-30 13:05:16 -08:00
Moxie Marlinspike
e7a9893e94
Fix string typo
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
acfc9d75e0
Use startForegroundService instead of startService on Android 8
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
c2dbb34b25
Extract string resource
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
64c8b4b2ef
Support for selective permissions
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
886298674e
Adjust inbox zero empty state
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
86bd2351bc
Replace answer/decline button and action for incoming calls
...
Fixes #7199
2017-11-19 16:32:22 -08:00
Moxie Marlinspike
cf81815bf6
Add recent chats to top of share list
2017-11-16 15:21:46 -08:00
Moxie Marlinspike
c5a9f27c31
Catch some activity not found exceptions for expired builds
2017-11-16 12:31:42 -08:00
Moxie Marlinspike
de812d3f0f
Extract string resources
2017-11-16 12:28:29 -08:00
Moxie Marlinspike
1986e58c5f
Remove unused resources
...
According to Android Studio
2017-11-14 11:43:25 -08:00
Moxie Marlinspike
b88069f396
Revert "Remove unused resources"
...
AS seems to have miscalculated
This reverts commit 344af622b7f562bbf4350b7a7757b5f9b271222d.
2017-11-14 11:29:20 -08:00
Moxie Marlinspike
344af622b7
Remove unused resources
...
Or so says Android Studio
2017-11-14 11:15:03 -08:00
Moxie Marlinspike
405ee3b741
Improve search bar visibility
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
9a75f49aa1
Add an empty state for search
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
9c50057909
Add an empty state for archived
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
3097c2855e
Add empty state for conversation list
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
90ff0e58b0
Update registration flow
2017-11-14 10:50:17 -08:00
Moxie Marlinspike
77c232760c
No documents found -> No documents
...
// FREEBIE
2017-10-09 10:38:36 -07:00
Moxie Marlinspike
cee3858e2e
Fix mysteriously missing string content
...
// FREEBIE
2017-10-04 12:27:45 -07:00
Moxie Marlinspike
677c7732cf
Update incognito keyboard string
...
Fixes #7037
// FREEBIE
2017-10-04 11:21:03 -07:00
Moxie Marlinspike
ba849bce2c
Add support for incognito keyboard preference
...
Closes #6985
// FREEBIE
2017-10-03 18:57:23 -07:00
Moxie Marlinspike
b3147aad55
Make "Shared media" string translatable
...
// FREEBIE
2017-10-03 16:29:11 -07:00
Moxie Marlinspike
2e56a0aa70
Fix typo
...
// FREEBIE
2017-10-02 09:58:08 -07:00
Moxie Marlinspike
2b4064f3b7
Add splash screen for read receipts
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
8ce914a344
Refactor media overview activity to display documents
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
c6b2e785a5
Reorganize conversation media activity to have sticky headers
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
4828a8a274
Add conversation media photo rail to recipient preferences
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
a1c276f70b
Update to V7 PreferencesCompat library
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
cb9bc9659b
Support for read receipts
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
967c374213
Display error when camera doesn't return image
...
Partial #6926
// FREEBIE
2017-09-06 16:03:08 -07:00
Moxie Marlinspike
19be527370
Fix recursive experience upgrade activity problem
...
// FREEBIE
2017-09-06 00:29:49 -07:00
Moxie Marlinspike
2add02c62f
Add splash screen for setting profiles
...
// FREEBIE
2017-09-03 19:45:43 -07:00
Moxie Marlinspike
beed9d8034
Add length limit feedback when setting profile name
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
64ad9ec9dd
Add group profile sharing logic
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
1b2f52209d
Display unknown sender footer for unknown senders
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
c11f2eddf5
Display user profile information in settings activity
...
Allow for editing
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
df99deb480
Insert profile creation into registration flow, fix capture
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Christian Ascheberg
95d48bd3e9
Improve wording of joined contact notification
...
Fixes #6757
Closes #6764
// FREEBIE
2017-07-05 14:18:07 -07:00
RiseT
52311eb881
"Message notifications" >> "Messages"
...
Closes #6700
// FREEBIE
2017-06-12 09:52:46 -07:00
Moxie Marlinspike
414a885b54
Make string plural
...
// FREEBIE
2017-06-12 09:49:04 -07:00
Moxie Marlinspike
59d3e666fe
Rename 'verify safety number' to 'view safety number'
...
// FREEBIE
2017-06-09 19:58:05 -07:00
Moxie Marlinspike
76c28cfa7a
Add support for SN verification
...
// FREEBIE
2017-06-09 19:58:01 -07:00
Moxie Marlinspike
73410f64b5
Display a notification when unable retrieve messages for push
...
Fixes #6684
// FREEBIE
2017-05-31 14:51:48 -07:00
Christian Ascheberg
662fe826cb
Fix conversation list safety number change snippet for groups
...
Fixes #5985
Closes #6655
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
03e347bfd9
s/Document/File
...
// FREEBIE
2017-04-23 16:28:10 -07:00
Moxie Marlinspike
25c7459464
Add support for notification priority preference
...
Fixes #6315
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
2dceef50b7
Slim down some preference screens
...
// FREEBIE
2017-04-21 23:05:59 -07:00
Moxie Marlinspike
2b79e131a7
Support for sending arbitrary file types
...
// FREEBIE
2017-04-21 23:05:59 -07:00
Ahmed Ibrahim Khalil
c3164a8e84
Support copying links on long click.
...
Fixes #6343
Closes #6454
2017-04-21 23:05:59 -07:00
RiseT
9d3ff55457
Make "Contact joined Signal" translatable
...
Closes #6534
// FREEBIE
2017-04-17 10:29:34 -07:00
Moxie Marlinspike
f583c14e0e
s/text/font size
...
// FREEBIE
2017-04-16 12:54:42 -07:00
Moxie Marlinspike
fe1cc3d6d1
Adjust compose field look
...
1) Align top of compose bubble with top of attach/send icon
2) Simplify hint
3) Make hint size same as input size
// FREEBIE
2017-04-15 10:12:00 -07:00
Moxie Marlinspike
5f5db5ded7
Support for message body text size preference
...
// FREEBIE
2017-04-14 22:59:30 -07:00
Moxie Marlinspike
e5a287b4e5
Add preference for SMS invitation prompt
...
// FREEBIE
2017-04-14 20:51:22 -07:00
Moxie Marlinspike
13d785894a
Fix up preference screen a little
...
1) Remove phantom padding on left margin for all fragments
2) Move preferences around slightly
3) Add some card separators and style led list pref
// FREEBIE
2017-04-14 20:39:38 -07:00
Taylor Kline
b7f9525680
Remove unused summary field for notification.
...
Closes #6481
2017-04-10 10:45:18 -07:00
Moxie Marlinspike
ce9a67d095
Fix case
...
// FREEBIE
2017-04-02 18:26:28 -07:00
Moxie Marlinspike
75782affd1
Adjust joined signal string
...
// FREEBIE
2017-03-31 08:54:07 -07:00
Paride Legovini
9d52e6af6a
Don't mention CyanogenMod
...
Closes #6422
// FREEBIE
2017-03-30 18:50:40 -07:00
Moxie Marlinspike
3aae86d20c
Update registration activity style
...
// FREEBIE
2017-03-30 18:18:04 -07:00
Moxie Marlinspike
f67eb5f9f3
Support for receiving arbitrary attachment types
...
// FREEBIE
2017-03-29 18:17:34 -07:00
greenjoe
deb96646a3
Add action indicator when resending a message.
...
When message is being resent, "RESEND" button now disappears.
"Resending..." text is displayed instead of an error message.
Fixes #6307
Closes #6347
2017-03-16 15:27:26 -07:00
Moxie Marlinspike
9273f5cc67
Switch import/export activity from tabs to cards
...
// FREEBIE
2017-03-15 16:53:15 -07:00
Christian Ascheberg
3506f2db12
Improve group update descriptions
...
Closes #5416
// FREEBIE
2017-03-14 14:26:14 -07:00
RiseT
a41e82bb7d
Make WebRtcCallScreen_new_safety_numbers_title singular
...
Closes #6364
// FREEBIE
2017-03-14 13:42:39 -07:00
Moxie Marlinspike
ed5faa4ba9
Add video calling intro screen
...
// FREEBIE
2017-03-06 12:32:09 -08:00
Moxie Marlinspike
9b8719e2d5
Support for website distribution build with auto-updating APK
...
// FREEBIE
2017-02-27 23:53:36 -08:00
Moxie Marlinspike
b27d829013
Extract some strings for localization
...
// FREEBIE
2017-02-20 13:59:23 -08:00
Moxie Marlinspike
1669731329
Support for using Signal without Play Services
...
This is now possible with beta calling, so non-GCM users are a
part of beta calling by default.
// FREEBIE
2017-02-20 12:00:03 -08:00
Moxie Marlinspike
f541e33356
Publish TURN-only ICE candidates in some situations
...
1) Incoming call is from a number not in user's address book
2) Turn-only preference is enabled for all incoming/outgoing calls
// FREEBIE
2017-02-19 12:29:33 -08:00
haffenloher
83e31cac07
Show videos in media overview
...
Fixes #5941
Closes #6152
// FREEBIE
2017-02-19 12:29:33 -08:00
FeuRenard
98d223f094
Don't display date for drafts in media preview
...
Closes #6208
// FREEBIE
2017-02-19 12:29:33 -08:00
RiseT
917389131c
Fix some wording for group conversations
...
Closes #6204
Fixes #6193
// FREEBIE
2017-02-19 12:29:33 -08:00
haffenloher
9c1f7f1657
Make VideoPlayer toast error message translatable
...
Closes #6150
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
8bf160532e
Make safety numbers singular in webrtc call screen
...
Closes #6148
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
d9b42c4369
Support for a "new messages" divider in conversations
...
// FREEBIE
2017-02-19 12:29:33 -08:00
Moxie Marlinspike
f3e47f7b60
Support for minimized controls during video call
...
// FREEBIE
2017-02-11 20:48:42 -08:00
Moxie Marlinspike
ea0945d406
Beta support for webrtc video and voice calling
...
// FREEBIE
2017-02-01 13:55:52 -08:00
Stuart Gilbert
aa9d8e4d14
Add scroll to bottom button in conversation view
...
Added a FloatingActionButton to the conversation_fragment
that appears and disappears using the same logic as the
existing compose divider: appear when the conversation list
is scrolled away from the bottom, disappear when the list is
scrolled to the bottom.
Fixes #5651
2017-01-24 11:05:03 -08:00
Moxie Marlinspike
4c815db076
Support for sticky date headers
...
Closes #4696
// FREEBIE
2017-01-23 16:44:38 -08:00
Moxie Marlinspike
dadc8d0183
Refactor "unnamed" group logic
...
// FREEBIE
2017-01-22 21:23:51 -08:00
RiseT
333a0f38e3
Remove one ellipsis I've overlooked in #5887
...
Closes #6052
// FREEBIE
2017-01-21 10:13:40 -08:00
Moxie Marlinspike
235a8472d9
Remove dedicated MMS download controls
...
// FREEBIE
2017-01-20 15:26:17 -08:00
RiseT
49e78d16ba
Remove redundant ellipses in strings according to Material guidelines
...
Quote :
"Use to indicate an action in progress ("Downloading…") or
incomplete or truncated text. No space before the ellipses.
Omit from menu items or buttons that open a dialog or start
some other process.
Midline ellipses (three-bullet glyphs) are also used to represent
numeric truncation and the redaction of sensitive data, such as
credit cards."
https://material.google.com/style/writing.html
Closes #5887
// FREEBIE
2017-01-12 10:38:49 -08:00
FeuRenard
bd819d7d10
Disable verify button if no message was exchanged
...
Fixes #5878
Closes #5951
// FREEBIE
2017-01-11 18:51:11 -08:00
FeuRenard
cde92256a6
Convert file save toast string to plural
...
Closes #5961
// FREEBIE
2017-01-02 17:17:48 -08:00
RiseT
e8555a84ac
Make description strings in audio_view.xml translatable.
...
Closes #5916
// FREEBIE
2016-12-15 10:41:18 -08:00
Paul Lanctot
73bf75f65f
Accessible content labels for attachment icons
...
Fixes #5908
Closes #5917
// FREEBIE
2016-12-14 20:56:37 -08:00
Amire80
71276161fc
Remove comma splice from an English interface string
2016-12-12 17:44:04 -08:00
Nicholas Rizzio
2197d77ffc
Fix the content description of the audio record button
...
Fixes #5910
Closes #5911
// FREEBIE
2016-12-04 18:12:48 -08:00
FeuRenard
09ff8d5865
Add gallery button to MediaPreview
...
// FREEBIE
2016-11-28 09:42:26 -08:00
RiseT
43e1d452c7
Change DateUtils string 'Now' to 'Just now'
...
Changes the DateUtils string 'Now' to 'Just now' which is a better fit
imho.
Used for messages in the conversation view that e. g. just have been
received.
// FREEBIE
Closes #5761
2016-11-28 09:16:38 -08:00
RiseT
e8ae6d67b1
Change safety number strings to be singular
...
// FREEBIE
Closes #5894
2016-11-27 19:35:54 -08:00
Moxie Marlinspike
8fdcff9f20
If Signal isn't enabled for receiving SMS, don't allow sending SMS
...
Closes #5877
// FREEBIE
2016-11-21 08:56:21 -08:00
Moxie Marlinspike
b55a7ff5c0
Add copy and compare safety numbers from clipboard actions
...
// FREEBIE
2016-11-14 19:50:29 -08:00
Moxie Marlinspike
cb28e7c1f9
Update libsignal-service to 2.4.0
...
// FREEBIE
2016-11-13 10:58:51 -08:00
FeuRenard
92aeafc261
Add share button for safety numbers
...
Fixes #5798
Closes #5854
// FREEBIE
2016-11-13 10:42:40 -08:00
FeuRenard
f5966af781
Allow 2nd person conjugation in timer messages
...
Fixes #5658
// FREEBIE
2016-11-11 18:37:16 -08:00
RiseT
2d104d3783
"No results found." --> "Nothing found"
...
Closes #5814
// FREEBIE
2016-11-11 18:34:03 -08:00
Amire80
5d1cfb50a9
Change "GiF" to "GIF" in an English user interface string
...
Closes #5830
2016-11-11 18:14:31 -08:00
FeuRenard
a3244de587
Add forward button to MediaPreview
...
Closes #5833
Related to #4906
// FREEBIE
2016-11-11 18:03:20 -08:00
Moxie Marlinspike
69d0242574
Giphy integration
...
// FREEBIE
2016-10-18 10:28:42 -07:00
RiseT
8e1970c398
Make message and thread records for changed safety numbers translatable
...
Fixes #5769
Closes #5771
Makes the message and thread records for 'Your safety numbers with %s
have changed' translatable.
// FREEBIE
2016-10-10 10:16:23 -07:00
RiseT
e3da0ac908
Make 'Disappears' in message details translatable
...
Fixes #5755
Closes #5756
// FREEBIE
2016-10-07 10:42:05 -07:00
Moxie Marlinspike
2b4d41de03
Safety number string fixes
...
// FREEBIE
2016-09-25 19:50:03 -07:00
RiseT
8fe96fc1b7
String improvement: Blocking and unblocking contacts
...
This fixes/improves several strings related to blocking and unblocking
contacts regarding:
- Wording consistency
- Compliance with Google's Design Guidelines
- Clarity
Closes #5696
// FREEBIE
2016-09-25 14:55:03 -07:00
RiseT
33a79dde06
Fix string: Adding group members
...
This changes the string "Add member" to "Add members" as the
corresponding list is multi-selectable.
Closes #5697
// FREEBIE
2016-09-25 14:51:21 -07:00
Moxie Marlinspike
848a25664b
Make fingerprint changes optionally non-blocking
...
Also complete the rename from "identity" to "safety numbers."
// FREEBIE
2016-09-25 14:27:40 -07:00
Moxie Marlinspike
852634b294
Support for updated fingerprint format
...
// FREEBIE
2016-09-25 14:23:52 -07:00
Christian Ascheberg
e1b24ab878
Fix display of secure session reset records
...
Fixes #5605
Closes #5680
// FREEBIE
2016-09-14 16:37:28 -07:00
Christian Ascheberg
40332f57ad
improve invite strings
...
Fixes #4869
Closes #5393
//FREEBIE
2016-09-01 10:44:45 -07:00
FeuRenard
a370f086c0
Respect privacy settings on ticker content for Android <5
...
Fixes #5517
Closes #5592
// FREEBIE
2016-08-31 18:44:15 -07:00
FeuRenard
5bf1707d60
Catch ActivityNotFoundExceptions
...
Fixes #3726
Closes #5617
// FREEBIE
2016-08-31 18:17:15 -07:00