Scott Nonnenberg
e086d521f1
Increase the timeout for database updates
7 years ago
Scott Nonnenberg
ae6876a153
Ensure that error in handleDataMessage is treated as error
7 years ago
Scott Nonnenberg
727925a266
Clean up old messages, better handle errors from sending
7 years ago
Scott Nonnenberg
6e193456f9
Eliminate orphaned external message files on startup
...
Attachments, visual attachment thumbnails, video attachment screenshots
Quote thumbnails
Contact avatars
7 years ago
Scott Nonnenberg
44dec45995
Ensure that all messages in cache are migrated properly
7 years ago
Scott Nonnenberg
9ff80469a5
In partially-successful group send, don't start expire timer
7 years ago
Scott Nonnenberg
9ed1ee90f8
Move expiring message time earlier if read sync has earlier time
7 years ago
Scott Nonnenberg
a01db40e27
Ensure that a SQL command timeout results in an error
7 years ago
Scott Nonnenberg
4b3ddef955
Allow for 'error' status on incoming messages not just outgoing
7 years ago
Scott Nonnenberg
8180417611
Update conversation first on timer change to eliminate flicker
7 years ago
Scott Nonnenberg
22613c8cc4
Set disappearing check timer reliably - on all message saves
7 years ago
Scott Nonnenberg
3961778e53
Fixes for Chrome app import in this new SQLCipher world
7 years ago
Scott Nonnenberg
1d7987108b
Show and log progress during the SQLCipher migration
7 years ago
Scott Nonnenberg
1e8f71f035
Make settings and debug log available during initial migrations
7 years ago
Scott Nonnenberg
b1c6a5fe19
When updating message schema pre-SQLCipher, use legacy save
7 years ago
Scott Nonnenberg
0d13d437fe
Delete before forced bulk insert to fix broken migrations
7 years ago
Scott Nonnenberg
3105b77475
Migrate to SQLCipher for messages/cache
...
Quite a few other fixes, including:
- Sending to contact with no avatar yet (not synced from mobile)
- Left pane doesn't update quickly or at all on new message
- Left pane doesn't show sent or error status
Also:
- Contributing.md: Ensure set of linux dev dependencies is complete
7 years ago
Scott Nonnenberg
53b1b73909
Ensure back button appears when safety number screen shows
7 years ago
Scott Nonnenberg
aa4339a69f
Preserve migration state when deleting config due to failed login
7 years ago
Scott Nonnenberg
e9926b3a2a
Fix reference to i18n key: Unlinked -> unlinked
7 years ago
Scott Nonnenberg
d51b2b48d1
Workaround for not ending up at bottom of conversation
7 years ago
Scott Nonnenberg
8860e4c7fb
Update delivered/read message if already in collection
7 years ago
Scott Nonnenberg
02675312c5
Introduce mandatary migration on startup, to minimum version
7 years ago
Scott Nonnenberg
61f7b8360b
Conversation: store lastMessage/lastMessageStatus in memory only
7 years ago
Scott Nonnenberg
f39a96bc76
Move to centralized message/cache data layer
...
Also, ensure that conversation.messageCollection has nothing in it
unless it has an associated ConversationView.
7 years ago
Scott Nonnenberg
34231168a7
On message delete, ensure that all external files are deleted
7 years ago
Scott Nonnenberg
e80857562a
Disappearing messages: show 'disabled' instead of 'set to off'
7 years ago
Scott Nonnenberg
1a01e38d5c
Show 'group updated' in left pane when we get info-free update
7 years ago
Scott Nonnenberg
80dd25e995
Preload all icon images to reduce flickering when they are used
7 years ago
Scott Nonnenberg
b7d5013558
Add verified notification and sync the verified status as well
7 years ago
Scott Nonnenberg
bffa910c64
Remove too-verbose logging on contact sync
7 years ago
Scott Nonnenberg
4b3f9e969a
Ensure a theme is selected on initial load
7 years ago
Scott Nonnenberg
573a26021b
file_input_view: Use makeVideoThumbnail on attach of video
7 years ago
Scott Nonnenberg
5933a34a18
Use window.log in browser context, turn on console eslint rule
7 years ago
Scott Nonnenberg
643739f65d
Responding to feedback on the updated visuals ( #2549 )
...
* Conversation List Item: timestamp bold only when convo has unread
* Preserve the positioning of overlays on re-entry into convo
* ConversationListItem: Handle missing and broken thumbnails
* Shorten timestamp in left pane for better Android consistency
* Update convo last updated if last was expire timer change
But not if it was from a sync instead of from you or from a contact.
* Make links in quotes the same color as the text
* MediaGridItem: Update placeholder icon colors for dark theme
* Ensure turning off timer shows 'Timer set to off' in left pane
* ConversationListItem: Show unread count in blue circle
* Add one pixel margin to blue indicator for text alignment
* Ensure replies to voice message can bet sent successfully
7 years ago
Scott Nonnenberg
f2a63c99ed
Streamline code to clean logs based on version number
7 years ago
Scott Nonnenberg
12f1932d02
Workaround for linux w/tmp mounted as noexec; spellcheck fails ( #2548 )
7 years ago
Scott Nonnenberg
cea38b7bc4
Log clear error if we fail to retrieve debug log upload key
7 years ago
Scott Nonnenberg
2ef2235317
Show error if debug log upload fails
7 years ago
Scott Nonnenberg
4ca674edb2
Remove User-Agent from form to upload debug log
7 years ago
Scott Nonnenberg
b159a8d7c7
Update the user agent for debug log requests
7 years ago
Scott Nonnenberg
c517e4193b
New option: Disable spell check
7 years ago
Scott Nonnenberg
d5d6cdb250
Automatically clean up old debug info, remove unneeded field
7 years ago
Scott Nonnenberg
66bd6c826d
Fix MediaGallery handling of videos - show thumbnail and overlay
7 years ago
Scott Nonnenberg
c2c8dc5090
Make quote props consistent, white circle dark theme play overlay
...
Prevents errors in the logs about attempting to load images from their
relative patn instead of the absolute path. No effect on the user.
7 years ago
Scott Nonnenberg
5e64e4ef40
Remove verbose updateLastMessage logging, fix MediaGallery save
7 years ago
Scott Nonnenberg
0ac3517d51
On click of search result, show and focus conversation
...
Also: remove too-verbose logging on contact sync
7 years ago
Scott Nonnenberg
fdc7c85876
A couple small fixes: quotes, ConversationListItem, MessageDetail
...
- Load quoted message even with local thumbnail
- A bit more space for message in ConversationListItem
- Make the message detail screen scrollable
7 years ago
Scott Nonnenberg
6e4b73ec0c
Fix lint errors in conversation_view.js
7 years ago
Scott Nonnenberg
db91560990
Fixes for quotes/schema upgrade, optimize media gallery load
...
Also: Fix for contact detail page; didn't show back button
7 years ago
Scott Nonnenberg
60f61c804b
Fix reply to message w/attachment, dark theme quoted attachment
7 years ago
Scott Nonnenberg
675e34fc8d
New React component: ConversationListItem, installed in left pane
...
When collecting a conversation's last message, we grab that message's
status as well (if outgoing) and show it.
7 years ago
Scott Nonnenberg
3c69886320
Finish new Message component, integrate into application
...
Also:
- New schema version 8 with video/image thumbnails, screenshots, sizes
- Upgrade messages not at current schema version when loading messages
to show in conversation
- New MessageDetail react component
- New ConversationHeader react component
7 years ago
Scott Nonnenberg
43a44793c5
Remove jshint - move everything over to eslint
...
Also removed all hints of previous linters
7 years ago
Scott Nonnenberg
dc11db92f9
New React component: Message
...
Also: Use react to render contects on the 'show group members' screen
7 years ago
Scott Nonnenberg
fc5c52fbdf
Remove iOS theme in favor of plain light/dark themes
7 years ago
Scott Nonnenberg
5823ae3951
Ensure disabled timer notification is 'to off' not 'to seconds'
7 years ago
Scott Nonnenberg
f5852bb357
Be resilient to null thrown errors so we can surface to user
7 years ago
Scott Nonnenberg
c54ba8d1fa
Ensure that notifications and auto-hide window settings are saved
7 years ago
Scott Nonnenberg
d8e5e5fcf2
Open separate windows with theme, update settings theme on change
7 years ago
Scott Nonnenberg
61d8a694b7
Remove temporary test logging
7 years ago
Scott Nonnenberg
212ec8bb73
Whenever user opens conversation, update its last message
7 years ago
Matthias Beaupère
6a611cbecf
Auto-scroll to selected conversation when reordering them ( #2498 )
...
When conversations are reordered (last message time has changed), this commit leads to scrolling the shortest distance to the conversation.
7 years ago
Scott Nonnenberg
e30b34f424
Add 'newmessage' event handler to Conversation for reliablity
7 years ago
Scott Nonnenberg
ad4387803b
New media permission, show dialog when not enabled for voice msg
...
UI now in separate renderer:
- the permissions popup
- settings dialog
- debug log dialog
- about window
Couple bug fixes:
- About Window: Fix 'escape' to close window
- Remove outdated dist/copy tasks from Gruntfile
Eslintified settings_view.js
7 years ago
Scott Nonnenberg
9d9a797bda
Handle timer updates along with group updates
7 years ago
Scott Nonnenberg
67464774c3
eslintify expiring_messages.js
7 years ago
Scott Nonnenberg
12b5547e72
Update contents of conversation even when view not hydrated
...
Also ensure that we update the last message in a conversation after
expire, after the mesage is really deleted from the database.
7 years ago
Scott Nonnenberg
a40a39314a
Disable notifications on new 'reconnect' event for laptop resume
7 years ago
Scott Nonnenberg
125c3fafa8
Idle detector: Fix bug preventing it from ever turning off ( #2487 )
7 years ago
Scott Nonnenberg
0abdd5ead1
Add missing await for thumbnail creation in makeQuote()
7 years ago
Scott Nonnenberg
b113cd0ad2
Expire timer updates: don't send if updated via remote message ( #2473 )
...
A recent change removed the type property to make markRead() behave
properly, but that broke our check 'should we send an update?' logic. So
instead of using `isIncoming()` we now use the thing we previously used
to determine whether a message was incoming: `receivedAt`.
7 years ago
Scott Nonnenberg
a4603807e1
Send/reply: Be resilient to errors making attachment thumbnail ( #2468 )
...
* Show generic file icon if we fail to make attachment thumbnail
* Be resilient to thumbnail creation errors when creating quote
7 years ago
Scott Nonnenberg
8eeaad8e18
Remove unused export/import functionality
7 years ago
Scott Nonnenberg
1c23c6a9d7
Remove window.config in favor of window.getXXX() accessors
7 years ago
Scott Nonnenberg
5fca44d1b1
Send message: Pull expireTimer, recipients, dest before queueJob
7 years ago
Scott Nonnenberg
dfa1f0797c
Ensure timer updates show in convo before initiating message
7 years ago
Scott Nonnenberg
71d873ccfe
Ensure message expire timer start times are never in the future
7 years ago
Scott Nonnenberg
f3bd0cf903
Refactor api.js into web_api, which encapsulates all web access
7 years ago
Scott Nonnenberg
8c85f6e3a6
When marking message read, ensure that peers have same read_at
...
When we mark a message as read, we go to the database to ensure that
older messages in this conversation are marked read as well. That
optimization was missing the read_at value provided to the starting
message, so now it is piped along to all of them.
7 years ago
Scott Nonnenberg
9400d1a538
eslintify background.js
7 years ago
Scott Nonnenberg
34f423b52c
Remove unused code; move signal.js to js/modules for eslint
...
(noticed as I was doing this that signal.js doesn't get eslint coverage)
7 years ago
Scott Nonnenberg
ec3e36824c
Remove jscs from the project
7 years ago
Scott Nonnenberg
cfe0bd0e79
Move to npm for several dependencies
...
mustache
jQuery
underscore
backbone
mocha
chai
intl-tel-input
7 years ago
Scott Nonnenberg
01be58acc2
Remove formatting in importError localization string
7 years ago
Scott Nonnenberg
548c8e69cf
Emojification now all done with react via a few new components
...
Three locations were changed:
1. a group update, which lists a set of contacts
2. the contact name in the left pane
3. the conversation title
Three new components were added to window.Signal.Components to support
these scenarios, respectively:
1. Emojify
2. ContactName
3. ConversationTitle
Note that there are a number of other places in the app that should be
emojified, but never have been before. Essentially any place that a
contact name might be shown. A non-exhaustive list:
- Show group members
- Show safety number
- Verified change notification
- Disappearing timer change notification
- Contact verification notification
- Quote contact name
7 years ago
Scott Nonnenberg
a5416e42c4
Refactor all emoji utility methods into window.Signal.Emoji
7 years ago
Scott Nonnenberg
e2d044e02b
Filter file scheme; disable http, https and ftp entirely
7 years ago
Scott Nonnenberg
e02887565b
Update to electron v2.0.1 ( #2401 )
...
* Remove extra parenthesis causing warnings on latest chromium
* Update to electron 2.0.1
* Move all @types dependencies to devDependencies
* Update electron-builder/electron-updater
* Update to Node.js 8.9.3 to match Electron 2.0.1
7 years ago
Scott Nonnenberg
d54aedcefa
A few fixes for the contact detail screen ( #2374 )
...
* Only show 'send message' on contact detail when user has account
* Make contact detail headers visible in dark mode
* Fix vertical scrolling for very large contact in detail pane
* Fix a couple comment typos
7 years ago
Scott Nonnenberg
4e5c8965ff
Move to react for newlines, emoji, and links in message body
7 years ago
Scott Nonnenberg
c00c939148
Update link handling
7 years ago
Scott Nonnenberg
b1a54c416f
Notifications: All calls are debounced except for shutdown clear
7 years ago
Scott Nonnenberg
18a76ffb49
Debounce notifications so we don't orphan them
...
Creating/destroying notifications too quickly in testing on macOS would
result in them sticking around forever, requiring manual user dismissal.
We want to dismiss them for the user when we close or our window is
activated. So now we debounce() calls to our notifications code.
7 years ago
Daniel Gasienica
24002149f6
Log read sync reception and remove notification
7 years ago
Daniel Gasienica
d434262540
Remove last notification before creating new one
7 years ago
Scott Nonnenberg
80b069e9b6
Move phone number format/parse into ts/types/PhoneNumber
7 years ago
Scott Nonnenberg
93d3abbf8d
Use contact name when updating last message for a conversation
7 years ago
Scott Nonnenberg
aa13a2c6f7
Parse phone numbers into e164 as part of schema upgrade
7 years ago
Scott Nonnenberg
d2293d9592
parseAndWriteAvatar: Do shallow copy before omit() call
...
Otherwise, we get all prototype props/functions, which we can't save in IndexedDB
7 years ago