Beaudan Brown
9114a3bc03
Annotation conversations
6 years ago
Beaudan Brown
f0c198c7b7
Split uploadData to public and private
6 years ago
Beaudan Campbell-Brown
ac80ef0d4e
Merge pull request #557 from BeaudanBrown/add-server
...
Add server
6 years ago
Beaudan Brown
c7a91686a8
Update proto id and use the server id as the attachmentpointer id
6 years ago
Beaudan Brown
4e85435bf7
Update attachment pipeline to upload and download from loki fileserver
6 years ago
Beaudan Brown
363cd81ccc
Hook up UI to all the server creation logic etc
6 years ago
Beaudan Brown
4e70b66131
Extract the async token grab from the server api constructor and put in the factory. Fix up the areas this affects
6 years ago
Beaudan Brown
5d2f7ddb20
Add messages needed for UI, bit of house work
6 years ago
Beaudan Brown
9ed3ec5dec
Fix linting
6 years ago
Beaudan Brown
399c54452e
Default user name to anonymouse if they don't have one set
6 years ago
Beaudan Brown
f9f7a799b5
Updating signature scheme to use hard coded fields
6 years ago
Ryan Tharp
d432e2a77b
verifyUserObjectDeviceMap() and refactor out verifyPrimaryPubKeys()
6 years ago
Ryan Tharp
7f433f3df0
move file server related functions into file server, make multidevice states global
6 years ago
Ryan Tharp
206d29b033
avoid no pubkey with guards, make sure primary and secondary authorization match
6 years ago
Ryan Tharp
9ba641c8c1
signature checking, hide your own message, addres potential race issues
6 years ago
Ryan Tharp
87474d48b5
fix async problem with receive forEach, implement most of the annotation processing for multidevice
6 years ago
Ryan Tharp
7b22806bf0
Merge branch 'multi-device' of https://github.com/loki-project/loki-messenger into multidevice-publicchat
6 years ago
sachaaaaa
1f3311bc5d
Save device mappings upon accepting friend request + various fixes
6 years ago
sachaaaaa
48ce9a7649
lint
6 years ago
sachaaaaa
03d0385427
Fix signatures being sent to file server as arraybuffer
6 years ago
sachaaaaa
73d90a5277
Merge pull request #537 from sachaaaaa/secondary_device_minimum_receiver
...
[multi-device] Start all the receivers only after the secondary registration is fini…
6 years ago
Ryan Tharp
468550cbdf
getDeviceMappingForUsers()
6 years ago
Ryan Tharp
ddde675ba8
stub out multidevice support, move token validation into server class
6 years ago
sachaaaaa
c38e145be7
lint
6 years ago
sachaaaaa
634d274ffc
Merge pull request #531 from sachaaaaa/remove_all_private_conv
...
[multi-device] Remove private convs only
6 years ago
sachaaaaa
cc04bee38a
Start all the receivers only after the secondary registration is finished
6 years ago
sachaaaaa
8ce21b13fe
Remove only private conversation during secondary registrations steps to keep public chats in db
6 years ago
sachaaaaa
de6e4e4920
Add updateOurDeviceMapping that wraps setOurDeviceMapping
6 years ago
sachaaaaa
5a8ab00a96
Rename pairing getters to specify secondary or primary. Add getGrantAuthForPrimary.
6 years ago
sachaaaaa
b63d8ec84f
Merge branch 'clearnet' into multi-device
...
* clearnet: (35 commits)
yarn lint
return early if signature is not a string
lint pass 2
lint pass 1
make sure versioning on write can't get out of sync
Update js/modules/loki_public_chat_api.js
Handle annotations omit correctly
fix typo CI found
refactor
pollOnceForMessages() move lastGot up, address Sacha's review
Update js/modules/loki_public_chat_api.js
address review
address reviews
Custom message rendering of mentions
fix method
separate out new/open, more lint/cleanup
separate out note to self
create window.mixpanel here
use window.mixpanel, remove eventEmitter
lint and remove unneeded params
...
6 years ago
sachaaaaa
7549c45716
yarn lint
6 years ago
sachaaaaa
a28c581666
return early if signature is not a string
6 years ago
sachaaaaa
a931b2491a
Merge branch 'clearnet' into PR_file_server
...
* clearnet:
lint pass 2
lint pass 1
make sure versioning on write can't get out of sync
Update js/modules/loki_public_chat_api.js
Handle annotations omit correctly
fix typo CI found
refactor
pollOnceForMessages() move lastGot up, address Sacha's review
Update js/modules/loki_public_chat_api.js
address reviews
Custom message rendering of mentions
lint and remove unneeded params
modernize annotations since we're making a backward-incomp change
sign and only show verified messages
# Conflicts:
# js/modules/loki_public_chat_api.js
6 years ago
sachaaaaa
035c48eb12
Merge pull request #517 from neuroscr/publicchat_signed
...
sign and only show verified public chat messages
6 years ago
Ryan Tharp
34b7117ff7
lint pass 2
6 years ago
Ryan Tharp
8bfb7f297d
lint pass 1
6 years ago
sachaaaaa
b13a4f3e56
Merge pull request #520 from msgmaxim/mentions2
...
Custom message rendering of mentions
6 years ago
Ryan Tharp
6ac6d656a4
make sure versioning on write can't get out of sync
6 years ago
Ryan Tharp
ab440a699f
Update js/modules/loki_public_chat_api.js
...
Co-Authored-By: sachaaaaa <40749766+sachaaaaa@users.noreply.github.com>
6 years ago
Ryan Tharp
a976388315
Handle annotations omit correctly
6 years ago
Ryan Tharp
b62801bc2a
fix typo CI found
6 years ago
Ryan Tharp
968ad9227c
refactor
...
pls forgive, using github editor for expedience, untested changes
6 years ago
Ryan Tharp
c8cf05558f
pollOnceForMessages() move lastGot up, address Sacha's review
6 years ago
Ryan Tharp
d85cd980c2
Update js/modules/loki_public_chat_api.js
...
oof
Co-Authored-By: sachaaaaa <40749766+sachaaaaa@users.noreply.github.com>
6 years ago
sachaaaaa
e2e2d1e845
address review
6 years ago
sachaaaaa
7756d4f0f3
Merge branch 'clearnet' into PR_file_server
...
* clearnet:
fix method
separate out new/open, more lint/cleanup
separate out note to self
create window.mixpanel here
use window.mixpanel, remove eventEmitter
allow mixpanel to be already set up elsewhere
Address review comments
Add missing file in tests
Add UI elements for searching and selecting members in a group chat
Desktop Analytics
Replaced value with a descriptive constant.
Add comment to fix up confusion.
Keep a cache of the last 5 fetched messages for public chat so we can use it to detect duplicate messages.
# Conflicts:
# js/background.js
# js/modules/loki_public_chat_api.js
6 years ago
Ryan Tharp
71fde0b9e6
Merge branch 'clearnet' into publicchat_signed
6 years ago
sachaaaaa
155a3b8f17
Merge pull request #512 from neuroscr/desktop-analytics
...
Desktop Analytics
6 years ago
sachaaaaa
a3d677819b
Merge pull request #508 from Mikunj/duplicate-message-fix
...
Public chat duplicate message fix
6 years ago
Maxim Shishmarev
687e9db77b
Custom message rendering of mentions
6 years ago
Ryan Tharp
3150a6ce11
separate out new/open, more lint/cleanup
6 years ago
Ryan Tharp
51eaa90823
use window.mixpanel, remove eventEmitter
6 years ago
Ryan Tharp
68186afba2
lint and remove unneeded params
6 years ago
sachaaaaa
3b450e28da
lint
6 years ago
sachaaaaa
f8e9e1d3bd
Remove rejected authorisation from database
6 years ago
sachaaaaa
e07f81c150
Add LokiFileServerAPI
6 years ago
sachaaaaa
dc6d3b5ca2
Add LokiPublicChatAPI (extends LokiAppDotNetAPI)
6 years ago
sachaaaaa
33ea259d45
Rename file
6 years ago
sachaaaaa
fc00373897
Change LokiPublicChatAPI to LokiAppDotNetAPI, add annotations getter and setter
6 years ago
Ryan Tharp
a97788c7d9
modernize annotations since we're making a backward-incomp change
6 years ago
Ryan Tharp
a0b52826e9
sign and only show verified messages
6 years ago
Maxim Shishmarev
1496a368e9
Add UI elements for searching and selecting members in a group chat
6 years ago
Ryan Tharp
88b44390bf
Desktop Analytics
6 years ago
sachaaaaa
0426d85e7a
Merge branch 'clearnet' into multi-device
...
* clearnet: (136 commits)
Fix more check on deletion.
Only shorten pubkeys if name is present
Shorten pubkeys in quotations too
better guard
pass serverId back to the server
Bump version.
Purge cache on failure.
Fix unnecessary link preview fetches.
Review changes. Increase mod time to 30 seconds.
Undo defaultPublicChatServer change,
Modified colour of dark mod badge
Linting.
Updated design
Show crown icon for moderators
Fix last hash all being NULL in database
Poll for moderators, store them on the conversation and use the list to determine our own mod status
Make sure we are always updating the last deleted id
Update ts/components/conversation/FriendRequest.md
Fix #355 Display timestamp for friend requests
Fix duplicate detection for sent messages in public chat
...
# Conflicts:
# app/sql.js
# js/background.js
# js/models/messages.js
# js/views/app_view.js
# libloki/crypto.js
# libtextsecure/message_receiver.js
6 years ago
Mikunj
75a527e828
Replaced value with a descriptive constant.
6 years ago
Mikunj
001d882273
Add comment to fix up confusion.
6 years ago
Mikunj
19b0dabe11
Keep a cache of the last 5 fetched messages for public chat so we can use it to detect duplicate messages.
6 years ago
Mikunj
3152637cdc
Fix more check on deletion.
6 years ago
Ryan Tharp
ca5275b410
better guard
6 years ago
Ryan Tharp
e6d22aab19
pass serverId back to the server
6 years ago
sachaaaaa
d3c3184405
Search returns primary device when looking up secondary pub key
6 years ago
Mikunj
e6d62cb22c
Review changes.
...
Increase mod time to 30 seconds.
6 years ago
Mikunj
0b898612d9
Linting.
6 years ago
Mikunj
0883b1b650
Updated styles.
...
Merge commit clearnet into mod-badges
6 years ago
sachaaaaa
43976c6c43
Merge pull request #494 from sachaaaaa/fix_last_hash
...
Fix last hash all being NULL in database
6 years ago
Beaudan Campbell-Brown
ec5a69f1cf
Merge pull request #489 from msgmaxim/replies
...
Enable quotes in public chats
6 years ago
sachaaaaa
3beb6004db
Fix last hash all being NULL in database
6 years ago
Beaudan Brown
72b3d02b52
Poll for moderators, store them on the conversation and use the list to determine our own mod status
6 years ago
Beaudan Brown
97746307f0
Make sure we are always updating the last deleted id
6 years ago
Maxim Shishmarev
5cf63af3a3
Enable quotes in public chats
6 years ago
sachaaaaa
b10835ffc7
Share contact upon authorising secondary device
6 years ago
Beaudan Brown
9beea2cbd3
Enforce curlies completely and lint with new settings
6 years ago
Beaudan Brown
6f995d6a96
Resolve linter issues
6 years ago
Beaudan Brown
f9ca6e4cf2
Merge branch 'publicchat-config' of https://github.com/neuroscr/loki-messenger into neuroscr-publicchat-config
6 years ago
Beaudan Brown
0c870d04e3
Stop polling when leaving public chat, only grab the most recent 100 messages on first poll
6 years ago
Ryan Tharp
220f0aa9f5
handle empty servers better
6 years ago
Ryan Tharp
eb3d22f2b0
remove unneeded comment
6 years ago
Ryan Tharp
c97f26465c
set correct name on conversation
6 years ago
Ryan Tharp
6d1c9700b1
this.stop guard on channelAPI
6 years ago
Ryan Tharp
e382afdf91
make timers stoppable, delete throw parameter, pollForChannel() pattern update
6 years ago
Ryan Tharp
f093490bec
lint plus constant fix
6 years ago
Ryan Tharp
2ca23db141
Merge branch 'use-user-obj' of https://github.com/neuroscr/loki-messenger into use-user-obj
6 years ago
Ryan Tharp
5b193b9e47
remove throw for now, squash ifs, some future avatar notes
6 years ago
Ryan Tharp
35d059eae5
was getting some weird errors, going to try this
6 years ago
Ryan Tharp
3f35170eae
Merge branch 'clearnet' into use-user-obj
6 years ago
Ryan Tharp
428a3b7077
add back conversationId
6 years ago
Beaudan Brown
da97d15891
Log when there are errors polling
6 years ago
Beaudan Brown
0dd180d4f4
Wrap polling function in try finally for safety, fix issue with empty array check and lint
6 years ago
Ryan Tharp
e25ed0aba3
move pubkey/name out of annotation into user object, read channel meta data from server, throw alert if delete fails, constant name clean up, store timers, Calls refreshModStatus/pollForChannel in cstr
6 years ago
Beaudan Brown
8f4b0a2088
Don't look
6 years ago
sachaaaaa
35b6182074
Clean up after account registration failure
6 years ago
Beaudan Campbell-Brown
43bd167965
Merge pull request #463 from loki-project/public-chat
...
Public chat
6 years ago
Beaudan Brown
cccf533abc
Save conversation after all messages are processed
6 years ago
Beaudan Brown
27976a053c
Save the last retrieved message for public chats on the conversation
6 years ago
Beaudan Campbell-Brown
f4e76f0576
Merge pull request #455 from neuroscr/public-delete
...
Public delete
6 years ago
Beaudan Campbell-Brown
17c2817517
Merge pull request #449 from BeaudanBrown/rss-fix
...
Fix feed reader for single element results
6 years ago
Ryan Tharp
56a4a31ca2
sendMessage(), getOrRefreshServerToken supports forceRefresh, make modStatus a property, additional comments
6 years ago
Ryan Tharp
dfd6039c83
use LokiPublicChannelAPI
6 years ago
Ryan Tharp
95cca859e9
Merge branch 'deletion-final' of https://github.com/BeaudanBrown/loki-messenger into public-delete
6 years ago
Beaudan Brown
8d77d6fd79
All the API updates, enable mod status retrieval and allow for message deletion
6 years ago
Beaudan Brown
1b4105a3d0
Fix db stuff and remove unneeded message function
6 years ago
Ryan Tharp
33572cac1f
use newer delete system every 5s, deleteMessage(), store token in serverAPI, serverRequest refactor, registerChannel now returns the channel found/created, change baseChannelUrl base
6 years ago
Beaudan Brown
7d0b300246
Add deletion polling
6 years ago
Beaudan Brown
6392c77952
Fix database helpers
6 years ago
Beaudan Brown
700ed5d2a8
Some refactoring from reviews, and include the token in the message pipeline instead of getting in message_api
6 years ago
Beaudan Brown
b5fd01a468
Add required metadata to sending pipeline and send to public channels
6 years ago
Beaudan Brown
37366198fc
Add database tables and helper functions for public server auth
6 years ago
Beaudan Brown
87e57af090
Fix feed reader for single element results
6 years ago
Beaudan Brown
fc8aa0211d
Addressing reviews
6 years ago
Beaudan Brown
1f7787ecf7
Add token retrieval functions to public chat api
6 years ago
sachaaaaa
4dd62a265c
Allow receiving and sending messages before lokiP2PApi is defined.
6 years ago
sachaaaaa
f5f6b37852
Enable link preview for i.imgur.com, tenor and giphy
6 years ago
sachaaaaa
a4411007b0
Pairing authorisations: refactor proto, change sql table, add getters
6 years ago
Beaudan Brown
895cedc801
Lint
6 years ago
Beaudan Brown
3f4b94ba74
Transition to initialising rss feeds in schema update
6 years ago
Ryan Tharp
48f2637ff9
lint
6 years ago
Ryan Tharp
1536a7e5f9
support multiple RSS feeds
6 years ago
Ryan Tharp
d0ddcaf1fe
update feed url, handle no items more gracefully, start on dns check
6 years ago
Ryan Tharp
93eb19bab5
add space, refactor out friendRequestStatusEnum
6 years ago
Ryan Tharp
22cb7cd540
node/browser constant
6 years ago
Ryan Tharp
3d40b55011
do the deferencing correctly
6 years ago
Ryan Tharp
c57571fdfd
loki.network rss feed
6 years ago
sachaaaaa
d208614909
Multi-device part 1: make primary account generate and send authorisation to secondary
6 years ago
Beaudan
c9f433fbba
Save message id when sending/receiving to/from public server and lint
6 years ago
Beaudan
899bfc3b2b
Add channel id to message table and provide helper functions
6 years ago
Beaudan
f857744e88
Revert sending id
6 years ago
Beaudan
145b8b6682
Fix message order
6 years ago
Beaudan
86e55e5dc6
Clean up bold check
6 years ago
Beaudan
f7039080af
Remove accidental swapfile, save messages with the id given to them from public server
6 years ago
Beaudan
f718bf15d2
Prepare to delete message, send message id to server
6 years ago
Beaudan
1a82a35a08
More efficient channel search
6 years ago
Beaudan
143bf1bdc1
Fill out unregister channel stub, trigger unregister channel on conversation deletion
6 years ago
Beaudan
014558d939
Squash and clean of old PRs, move towards sending cleartext again
6 years ago
Beaudan Campbell-Brown
73b417e605
Merge pull request #371 from BeaudanBrown/testnet
...
Separate testnet
6 years ago
Beaudan
492bb3723a
Move pubkey truncation to loki_rpc and add window function
6 years ago
Beaudan Campbell-Brown
0e9372d3d5
Merge pull request #373 from msgmaxim/timestamp-error
...
Show correct error on incorrect timestamp
6 years ago
Beaudan
6140fef1f7
Fix some bugs
6 years ago
Maxim Shishmarev
09d279dd93
Show correct error on incorrect timestamp
6 years ago
Beaudan
43c2e9c953
Use different seed nodes for development vs production and strip 2 characters from pubkey on testnet
6 years ago
Beaudan
63396669bc
Add eslint rule to enforce curlys, run eslint --fix to automatically apply this rule and add swapfiles to gitignore
6 years ago
Beaudan
c53a35deeb
Comment explaining stopPollingPromise
6 years ago
Beaudan
6ef94fa43d
Start attempt at closing long polling connections when offline event is triggered
6 years ago
Beaudan
1c9fe5b9f5
Make sure we are purging nodes from retrieve swarm list, and also filter 0.0.0.0 ips when getting snodes from wrong swarm error
6 years ago
Beaudan
9910ef0c13
Rename bool
6 years ago
Beaudan
b49be51f36
Don't return early if recalculating PoW
6 years ago
Beaudan
804fc076cc
Refresh swarm list 1 time for outgoing messages
6 years ago
Beaudan
df2c4af67c
Run lint and check for ip or address when removing unreachable nodes
6 years ago
Beaudan Campbell-Brown
5aedd618c0
Merge pull request #324 from BeaudanBrown/improve-http-error
...
Also put the body in httperror
6 years ago
Beaudan
68c1932b7b
Little better arguments
6 years ago
Beaudan
65a09d12b6
Make sure we try a different seed node every time
6 years ago
Beaudan
f02e885662
Print body of http error as well
6 years ago
Beaudan
10e61c37da
Retry initialiseRandomPool some times if request fails, fix uncaught promise in sendMessage
6 years ago
Beaudan
87c5d0858c
Choose a random seed node from a list for bootstrapping
6 years ago
Beaudan Campbell-Brown
fee25036be
Merge pull request #321 from BeaudanBrown/faster-fail
...
Remove nodes after 1 failure and only wait for a single successful send
6 years ago
Beaudan
580931c4fb
Pass ourKey to message api, initialise these APIs after registration or when storage is ready so we always have ourKey
6 years ago
Beaudan
d647fb1eb8
Remove nodes after 1 failure and only wait for a single successful send before updating UI
6 years ago
sachaaaaa
c53633e367
Clearnet p2p with https (no verification yet)
6 years ago
Beaudan
eb1fa97c9c
Make use of ip consistent for random snode pool and swarm list
6 years ago
Beaudan
ee260f7de0
Fix silly filtering bug, add filtering for swarm nodes and lint
6 years ago
Beaudan
96f7949ac8
Update endpoint for storage server and p2p
6 years ago
Beaudan Campbell-Brown
436af1a990
Merge pull request #313 from BeaudanBrown/random-list
...
Random list
6 years ago
Beaudan
c5c01b0ac8
Purge retrieving snodes
6 years ago
Beaudan
d82b5e1998
Remove random snodes if they fail and then try again. Throw seed node error if getRandomSnodeAddress fails. Filter out 0.0.0.0 nodes.
6 years ago
Beaudan
923d7ffe27
Change to get_n_service_nodes method
6 years ago
Beaudan
d12f6b6d32
Handle swarm nodes the same for us or contacts, attach our key to message api object
6 years ago
Beaudan
0948a344d2
Review refactor
6 years ago
Beaudan
d5546b9473
Lint
6 years ago
Beaudan
b6b0248e9d
Retrieve from seed
6 years ago
Beaudan
1f74088586
Send to IP
6 years ago
Beaudan
6b2b9ce926
Remove default port and use port from storage server responses
6 years ago
Beaudan
eea2b8e6a7
Do port null check inside rpc call
6 years ago
Beaudan
52c191fc94
Merge branch 'development' into clearnet
6 years ago
sachaaaaa
9d6c5bff36
make unverified https queries to the snodes
6 years ago
Beaudan
7141847dfb
Restart sendMessage logic if PoW changed an dfix NaN bug
6 years ago
Beaudan
f01d8088b7
Remove development PoW
6 years ago
Beaudan
dad52a784d
Change wrong pow http response
6 years ago
Beaudan
dbcaaf98dc
Lint
6 years ago
Beaudan
c27d1ef69a
Clean some stuff in loki_rpc and get new difficulty from successful requests
6 years ago
Beaudan
e520bf109a
Persist PoW difficulty and update if get response from snodes
6 years ago
Beaudan
18a87d5463
Review changes
6 years ago
Beaudan
c02d5d4053
Lint
6 years ago
Beaudan
709db4bf54
Make sendMessage take options, remove redundant retrieve function and get constant
6 years ago
Beaudan
b43978ece1
Initial refactoring of sendmessage
6 years ago
Beaudan Campbell-Brown
1e11a6527c
Merge pull request #289 from Mikunj/p2p-ping
...
Updated pinging logic.
6 years ago
sachaaaaa
1b1c18b928
Patch from Beau
6 years ago
Mikunj
147861790b
Always send application/json as content type in rpc.
6 years ago
Mikunj
bc6586e5ce
Removed duplicated function.
6 years ago
Mikunj
f77b67d358
Updated tests.
...
Fix some minor logic.
6 years ago
Mikunj
986d34bbd9
linting
6 years ago
Mikunj
d4de4b13dd
Fix incorrect import.
6 years ago
Mikunj
b4390a8c95
Updated pinging logic.
6 years ago
sachaaaaa
edd5915bf2
Fix use .length on object
6 years ago
sachaaaaa
5f77f751d9
Replace generator function and other various fixes
6 years ago
sachaaaaa
09a9cfbf37
Refactor long polling for better concurrent requests
6 years ago
Beaudan Campbell-Brown
e99cec9c09
Merge pull request #272 from Mikunj/signal-1.24
...
Signal 1.24
6 years ago
beaudan
54bd75e9a6
Wait for a longer time after failed poll and extend default timeout
6 years ago
Mikunj
fbbf454c49
Merge branch 'development' into signal-1.24
6 years ago
Beaudan Campbell-Brown
318371a652
Merge pull request #264 from BeaudanBrown/remove-signal-references
...
Remove Signal references
6 years ago
Mikunj
8808100796
Merge signal-1.24.0
...
# Conflicts:
# .github/PULL_REQUEST_TEMPLATE.md
# background.html
# config/default.json
# config/production.json
# js/models/conversations.js
# js/models/messages.js
# js/views/conversation_view.js
# js/views/inbox_view.js
# js/views/settings_view.js
# main.js
# package.json
# test/index.html
# ts/components/conversation/ContactName.tsx
# yarn.lock
6 years ago
Mikunj
3a8111020e
Merge v1.23.0
...
# Conflicts:
# background.html
# package.json
# yarn.lock
6 years ago
Mikunj
1f03e04d8c
Merge commit 'c75a756b2a58bd4a79890e34673d95d9f17f3f01' into signal-1.23
...
# Conflicts:
# js/views/conversation_view.js
# package.json
# ts/components/ConversationListItem.tsx
# ts/components/conversation/ConversationHeader.tsx
6 years ago
Mikunj
12ce0140de
Left pane changes.
...
Merge commit 'b3ac1373fa64117fe2a9ccfddf3712f1826c06d9' into signal-1.23
# Conflicts:
# _locales/en/messages.json
# background.html
# js/background.js
# js/conversation_controller.js
# js/models/conversations.js
# js/models/messages.js
# js/views/conversation_list_item_view.js
# js/views/conversation_list_view.js
# js/views/conversation_search_view.js
# js/views/inbox_view.js
# libtextsecure/account_manager.js
# package.json
# stylesheets/_global.scss
# stylesheets/_index.scss
# stylesheets/_modules.scss
# test/_test.js
# test/index.html
# test/models/conversations_test.js
# test/views/conversation_search_view_test.js
# ts/components/ConversationListItem.tsx
# ts/components/MainHeader.tsx
# ts/components/conversation/ConversationHeader.tsx
# ts/components/conversation/ResetSessionNotification.tsx
6 years ago
Mikunj
48c4ed1a29
Partial Merge commit 'bf904ddd129ceba8fa363ccf6d10ecd256c65f63' into signal-1.23
...
# Conflicts:
# _locales/en/messages.json
# app/sql.js
# js/background.js
# js/conversation_controller.js
# js/models/conversations.js
# js/views/inbox_view.js
# main.js
6 years ago
Mikunj
e343a04eea
Merge commit '18b5b7c046436f2defab2e20407e22da180bf97b' into signal-1.22
...
# Conflicts:
# app/sql.js
# background.html
# config/default.json
# js/background.js
# js/models/conversations.js
# js/models/messages.js
# js/modules/data.js
# js/signal_protocol_store.js
# js/views/conversation_search_view.js
# libtextsecure/message_receiver.js
# libtextsecure/sendmessage.js
# main.js
# package.json
# preload.js
# test/index.html
# ts/components/Avatar.tsx
# ts/components/conversation/ConversationHeader.md
# ts/components/conversation/ConversationHeader.tsx
6 years ago
Beaudan
8ff647e3cd
Return instead of await
6 years ago
Beaudan
e63e9b9053
Small optimisation
6 years ago
Beaudan
faf1b4b66b
Lint
6 years ago
Beaudan
620380d2d9
Move filter messages to message api and some other cleaning
6 years ago
Beaudan
796181e00c
Add database functions for storing, retrieving and cleaning last hash for snodes
6 years ago
Beaudan
960bd3fff2
Move JobQueue to be a module so that we can use it in preload
6 years ago
Beaudan
7eabae18f5
Replaced more references to signal with loki and updated CONTRIBUTING.md
6 years ago
Beaudan
377e90bafe
Include long polling header for retrieve messages, extend retrieveMessages timeout to 40 seconds, reduce default tmeout to 5 seconds, remove dev/prod poll time difference
6 years ago
Beaudan Campbell-Brown
495ddcabab
Merge pull request #262 from BeaudanBrown/millisecond-times
...
Ttl and timestamp milliseconds
6 years ago
Beaudan
db8f8ba36f
Multiple all ttl values by 1000 and stop dividing timestamp by 1000 so they are both milliseconds
6 years ago
Beaudan
f69e6ec763
Disable encryption
6 years ago
Beaudan
f076f94e71
Clearer last hash line
6 years ago
Beaudan
fa7042c043
Added wrong swarm error which gets thrown if we receive a 421 error, update the swarm lists if we get one of those errors
6 years ago
Beaudan
0f771d4db4
Rename loki_fetch to loki_rpc
6 years ago
Beaudan
b09f2970fc
Move NotFoundError to errors.js
6 years ago
Beaudan
929d272fcc
Fixed bugs with http being appended at wrong time and lastHash not being sent properly
6 years ago
Beaudan
531ee92dcb
Updated messenger to work with slightly different storage server API and changed swarm requests to go through storage server
6 years ago
Scott Nonnenberg
74cb808763
New MessageController as the single place for in-memory messages
6 years ago
Scott Nonnenberg
8c4d90df07
Send long text as an attachment instead of inline
...
Remove Android length warning
Handle incoming long message attachments
Show long download pending status in message bubble
Fix the width of the smallest spinner
Remove Android length warning from HTML templates
6 years ago
Beaudan
0b6849c96a
Review comment plus added a todo
6 years ago
Beaudan
6656a89092
Cleaned up a lot of the logs, stop them from printing more than once etc
6 years ago
Scott Nonnenberg
b3ac1373fa
Move left pane entirely to React
6 years ago
Scott Nonnenberg
fbda313d09
Add job details to attachment download log warning
6 years ago
Scott Nonnenberg
ae161c6cf6
Update to Electron 4.x
6 years ago
Scott Nonnenberg
ae2db9f09a
Improve handling for URLs composed of mixed character sets
6 years ago
Beaudan Campbell-Brown
8e3542b511
Merge pull request #213 from sachaaaaa/channel_encryption
...
Hook up channel encryption
6 years ago
Beaudan
8c20a31dd4
Review suggestions
6 years ago
sachaaaaa
53b0574a1f
Merge branch 'development' into channel_encryption
...
* development:
Manually set the dns servers for windows
Refactor local_loki_server
Refactor rpc calls to its own function.
# Conflicts:
# js/modules/loki_message_api.js
6 years ago
sachaaaaa
55e0ff1a88
Merge pull request #208 from Mikunj/message-api-refactor
...
Refactor rpc call to its own function.
6 years ago
sachaaaaa
ad5efc9ba3
lint
6 years ago
sachaaaaa
aa722590fa
use channel encryption with storage server
6 years ago
Beaudan
72d00e0922
Manually set the dns servers for windows
6 years ago
Mikunj
4a037387e9
Refactor rpc calls to its own function.
6 years ago
Mikunj
06be1da40d
Added p2p message styling
6 years ago
Beaudan
c0a6ba25bc
Update p2p messages to follow the same endpoint format as storage server. Clean up message_api a lil bit and updated tests
6 years ago
Beaudan
08dee14802
Review comment
6 years ago
Scott Nonnenberg
3917ab940e
web_api: Fix caching of https.agent objects between requests
6 years ago
Scott Nonnenberg
3fb6ab295f
Debug log optimizations and improvements
6 years ago
Scott Nonnenberg
d4eacda649
Disable import/export outside of test mode; not currently used
6 years ago
Beaudan
0516e69ff7
Fix tests
6 years ago
Beaudan
dc67aaf9cc
Roll back change to ping more often again, ping our offline contacts every 2 mins to check if they have come back online
6 years ago
Beaudan
29bca71d5a
Try ping contacts that send us storage server messages in the last 2 mins
6 years ago
Beaudan
d6a210efaa
Reworked the update p2p details to be more robust and stopped some redundant pings from happening
6 years ago
Beaudan
25ded46e2c
Fixed some bugs removing nodes after the first failure instead of waiting for the failure count and also reduced the number of errors logged and made some warnings
6 years ago
Beaudan
b00a0cb699
Rename isOnline to isPing for clarity, and reduce the ttl for online broadcast messages to 1 min
6 years ago
sachaaaaa
d3f23db049
serialise objects to json before node-fetch
6 years ago
sachaaaaa
8eac72b60c
Fix typo
6 years ago
sachaaaaa
ed1d06d9ce
use 'params' as per json_rpc
6 years ago
sachaaaaa
159dc711e1
use new message json rpc API
6 years ago
Beaudan
2fd746821a
Added function for getting your loki IP and bind the local server
6 years ago
Beaudan
6426a5eb9b
Added ability to look up our .loki address and now send that with our LokiAddress messages
6 years ago
Scott Nonnenberg
28f96fe893
Ensure that we capture sender even if thrown error is falsey
6 years ago
Scott Nonnenberg
5b54c9554e
Remove groups table, conversation is single source of truth
6 years ago
Scott Nonnenberg
041fe4be05
Remove JSON column and Backbone Model for unprocessed
6 years ago
Scott Nonnenberg
9c540ab977
Add cache support to Signal Protocol Store
6 years ago
Scott Nonnenberg
1d2c3ae23c
Download attachments in separate queue from message processing
6 years ago
Scott Nonnenberg
858c7e629f
Fine-tune linkification technique for link previews
6 years ago
Beaudan
2d9e6a7ac8
Review comments
6 years ago
Beaudan
2311bd1328
Fix bug with swarm node reference, now we should only refresh swarm nodes when they fail
6 years ago
Beaudan
5d823de6f9
Renamed lokiSnodeAPI to start with lower case for consistency, refactor snode API to use conversation controller
6 years ago
Mikunj
a989a1a818
Save previews locally.
6 years ago
sachaaaaa
f900a08eda
Merge pull request #177 from sachaaaaa/merge_1_21_0
...
Merge Signal 1.21.0
6 years ago
sachaaaaa
a0f67c22da
Merge branch 'textsecure/master' into merge_1_21_0
...
* textsecure/master: (26 commits)
v1.21.0
v1.21.0-beta.4
Dark Theme: Preserve blue background on app loading screen
Localization updates
Fix width of audio player when window is very narrow
A number of small fixes for Link Previews
Get rid of the white flash when the app starts up (#3083 )
v1.21.0-beta.3
Lint fixes
Introduce new language: NB
Fail over to all numbers in retry if errors don't have numbers
Use the proper method for pulling attachments off disk for retry
Fix rendering bug with verified state in updateVerified()
Update electron-builder and electron-updater
Ensure that dialog pops up when permissions denied for voice note
Lint fixes
Large update to localization strings
Link Previews
Ensure that blocked messages are dropped even after sealed sender
Don't linkify quoted message contents
...
# Conflicts:
# .github/PULL_REQUEST_TEMPLATE.md
# _locales/cs/messages.json
# background.html
# config/default.json
# index.html
# js/models/conversations.js
# js/modules/web_api.js
# js/settings_start.js
# js/views/conversation_view.js
# js/views/settings_view.js
# package.json
# protos/SignalService.proto
# stylesheets/_index.scss
# stylesheets/_settings.scss
6 years ago
Beaudan
cde7bbf3c3
Removed forceP2p as argument for the pingContact event and enforced it on the other side
6 years ago
Beaudan
69ebf017ff
Reworked loki_p2p_api to not use the window object, which means it needs to be instantiated after the storage is ready so that your pubkey can be passed in to the constructor. This makes it more modular and allows for easier testing
6 years ago
Scott Nonnenberg
0d7480bd92
A number of small fixes for Link Previews
6 years ago
Beaudan
cd79d5aca5
Fixed and simplified some logic for the handling of loki address messages
6 years ago
Beaudan
fac8e72861
Added queue manager to properly fix the race condition bug and reset the changes I made in other commit
6 years ago
Beaudan
b2f456031f
Forgot to lint
6 years ago
Beaudan
25383458b1
Fixed bug with our swarm nodes being removed from memory after a successful request because of returning a reference
6 years ago
Beaudan
cc3f98b20a
Move the incoming hash filtering logic into sql.js to prevent data races
6 years ago
Beaudan Campbell-Brown
5f49c5aafd
Merge pull request #165 from Mikunj/online-indicator
...
Online indicator
6 years ago
Mikunj
174f8747b6
Review fixes.
...
Revert promises back to old style.
6 years ago
sachaaaaa
576617e18e
call class method using "this" in loki_snode_api
6 years ago
Mikunj
4518e95619
Linting
6 years ago
Mikunj
f4e9bc655a
Hooked up LokiP2pAPI with online stuff.
6 years ago
Beaudan
1ce63add68
Simplified the addContactP2pDetails logic cause it was silly
6 years ago
Beaudan
a40a3d164f
Lots of logic for establishing a p2p connection, managing when the other user is online vs offline etc. Will always try to use P2P messaging when it can and fall back to storage server otherwise
6 years ago
Mikunj
efe95a70bc
Fix review issues.
6 years ago
Mikunj
3c07d99a89
Fix variable names.
...
Fix module export to be more consistent.
6 years ago
Mikunj
ddbbb1a6f0
Refactor fetch.
6 years ago
Beaudan
6ba7fb20b8
Fixed UI blocking when creating conversation, more review comments
6 years ago
Beaudan
e735b3ca41
Review comments, moved swarmNodes database stuff to just be in data.js
6 years ago
Beaudan
4207d2d26b
Removed accidental commented out line
6 years ago
Beaudan
38ff70e2ec
Fixed some little redundant stuff in the message and snode api
6 years ago
Beaudan
d002d76d9f
Fix unneccesary logic and copy paste trash
6 years ago
Beaudan
07076c27ae
Moved friend status to window, added start of p2p api stuff
6 years ago
Beaudan
b417edfc9b
Added new protos for online broadcast messages, added db hits for getting friends, local server now instantiated on the window, now sending online broadcast messages when the local server starts
6 years ago
sachaaaaa
8f165da43d
Fix sending loop that cycles indefinitely when offline
6 years ago
Beaudan
f6d167eda1
Split logic for getting swarm nodes from db, getting from lokinet and saving to db. Now tracking successfulRequests when making queries on top of the completedNodes list
6 years ago
Scott Nonnenberg
92c071e083
Use the proper method for pulling attachments off disk for retry
6 years ago
Beaudan
9ece4e1fd8
Review comments
6 years ago
Beaudan
dde63a552f
Fix bug with replayable errors, fix bug with set representation of swarmNodes not being handled properly
6 years ago
Beaudan
c83661ce3f
Added DNS resolution error for when lokinet isn't working, now keeping track of the nodes that have been queried and not trying them again
6 years ago
Beaudan
561d60cfd5
Sending messages now in a while loop like retrieving messages, added a failureCount and only delete node urls if they fail 3 times
6 years ago
Scott Nonnenberg
813924685e
Link Previews
6 years ago
Mikunj
1a15ec9c15
Merge commit signal/master into signal-1.20
6 years ago
Mikunj
e08a63d078
Merge development into lint
6 years ago
Beaudan
badaf40ca8
bit of readability and catching error (but just silencing for now)
6 years ago
Beaudan
bdbdf15469
Added timeouts for requests so they don't for ages. Changed swarmNodes to be a set to work property with merge, now removing contact swarmNodes if they timeout
6 years ago
Beaudan
24553e29e7
Made swarm requests ACTUALLY not wait for them all to finish and stop saving swarmNodes as DB column
6 years ago
Beaudan
7b1799c418
Big ol' hunk o' chunk. Now using random.snode to populate swarm lists, now making multiple requests from said lists and they are processed as they complete rather than waiting for all to resolve
6 years ago
Beaudan
37ba762312
First stuff for contacting specific nodes for each contact. Hard coded to hit the same bootstrap node for now plus doesn't handle unreachable nodes/errors well yet
6 years ago
Mikunj
6bd2d3962e
Linted files
6 years ago
Mikunj
1f10a73e4f
Updated strings.
6 years ago
Scott Nonnenberg
43e5d16020
Support for web socket communication with no signaling key
6 years ago
Scott Nonnenberg
985b1d6aa6
New staged attachments UI, multiple image attachments per message
6 years ago
Scott Nonnenberg
e4babdaef0
Updates to backup infrastructure
6 years ago
Scott Nonnenberg
47f834cf5c
Encrypt device name on account create, on first launch if needed
6 years ago
Mikunj
3690f4acda
Added timeout argument to WorkerInterface.
6 years ago
Mikunj
654b0dac84
Merge signal-master.
6 years ago
Beaudan
6113f13d3a
Rip the worker logic out of message_receiver and add the functionality for it to work with pow. Fix pow tests to work with those changes
6 years ago
Mikunj
f53bec38a5
Added password inputs on registration screen.
...
Fix case where db is deleted but password hash still remains which causes user to never register.
Allow password to have symbols and other characters.
Added more tests.
Moved passHash from config into the sqlite db.
We can do this because we assume if sql failed to initialise then the key provided was wrong and thus we can show the user the password page.
7 years ago
Mikunj
cb3599eea8
Removed IdentityKeyHeader.
7 years ago
sachaaaaa
8f22babfcc
More log level finetuning
7 years ago
Scott Nonnenberg
313d08344a
Request configuration sync on startup of new version
7 years ago
Mikunj
f7e9af4e3a
Reverse changes to contact.js
7 years ago
Mikunj
98c4b5d77b
Added editing own nickname.
...
Fix dark theme support.
Fix notification titles.
7 years ago
Mikunj
774c52a407
Added dynamic profile fetching in conversation.
...
Added setting profile when sending DataMessage.
7 years ago
Scott Nonnenberg
70eed938d9
Store arrayBuffers in database for remote identity keys
7 years ago
Scott Nonnenberg
79a861a870
Typing Indicators
7 years ago
Beaudan
b515fc41e7
Removed some repetetive logs, made the polling time a variable and lower the polling time and PoW difficulty if we are in debug mode
7 years ago
Mikunj
9fd822a7e3
Remove preKeys on friend request decline.
7 years ago
Mikunj
0dabce9e28
Remove preKeyBundle from message.
...
Always save preKeyBundles if we receive them.
Always override preKeys when saving.
7 years ago
sachaaaaa
ccb5ff79d4
Use correct log level in development mode and use log.debug() for some of the reoccurring logs
7 years ago
Beaudan
489ec8fc65
Heap of linting, eslint warning/error removal, and fixed a couple small bugs found along the way
...
Created new table to store the received message hashes. Checking this table when receiving messages to look for duplicates. Should be cleared of expired messages on app start and every hour after
Removed id which was not needed for seen messages. Refactored filter logic into function and found function name error
create unique index for contact prekeys (to allow using REPLACE)
Fixed lint stuff that merge brought back
7 years ago
Mikunj
4148628e70
Remove any unsent messages when app is started.
7 years ago
Mikunj
ece266fffd
Added showing pow icon.
7 years ago
Mikunj
4b4999ac35
Update to signal 1.18.0
7 years ago
Scott Nonnenberg
a780fa3bab
Fix reference to nonexistent variable
7 years ago
Scott Nonnenberg
ca4e2177b4
Fix reference to nonexistent variable
7 years ago
Scott Nonnenberg
cb50451011
Bump sender certificate timer after registration for re-link
7 years ago
Mikunj
4d3fb17e61
Merge branch 'sig-development' into merge/signal
7 years ago
sachaaaaa
5bcf63e592
Merge pull request #39 from BeaudanBrown/last-hash
...
Last hash
7 years ago
Beaudan
3aa135fdb4
Grabbing last hash from server response. only requesting messages after the lasthash. Keeping track of lasthash for array of nodes (currently hardcoded for one)
7 years ago
Mikunj
3389b1d457
Fixed the way preKeyBundle is stored in message.
7 years ago
Scott Nonnenberg
55c3d9371e
Bump sender certificate timer after registration for re-link
7 years ago
BeaudanBrown
bd0ce981dd
Merge pull request #34 from sachaaaaa/classify
...
ES2015 classes for LokiServer and FallBackSessionCipher
7 years ago
Mikunj
33ee45b819
Cleaned up SQL for getMessagesByConversation.
7 years ago
Mikunj
1150f0f915
Allow fetching conversation messages by a specific type.
7 years ago
sachaaaaa
ad1cf94526
ES2015 classes for LokiServer and FallBackSessionCipher
7 years ago
Mikunj
4b7a94c7d0
Merge branch 'development' into feature/friend-request
7 years ago
Beaudan
d6534e1bb8
Fixed bug with signed key sig not being saved
7 years ago
Mikunj
a80d6bb868
Merged branch correctly.
7 years ago
Mikunj
40fb7f726f
Fixed incorrect variable used.
7 years ago
BeaudanBrown
9ceb3c8ac0
Merge branch 'development' into message-polling
7 years ago
Scott Nonnenberg
6300256a3e
Gracefully shut down database operations before app exit
7 years ago
Scott Nonnenberg
c5f9fae444
A few small bugfixes
7 years ago
Beaudan
c59b196487
Now reading messages and adding them to conversations. Some cleaning of unreachable code. Modified the message data to be encoded as base64 string before sending to server
...
Sending our public key in header of message
Now attaching our key to the source field when sending messages, allows messages to be decrypted with the fallback cypher
Now polling the server for messages every 5 seconds
Sending the source device with messages
Added mock respond function to request to leave it that same as the websocket stuff. RetrieveMessages now just returns the result
Polling now continues if the server responds with an error. Returning only the result from sendMessage and retrieveMessages
Revert commenting of unreachable code
Refactored http logic into own file
Revert a change to websocket-resources
7 years ago
Mikunj
0a88f337d5
Merge branch 'sig-development' into merge/signal
7 years ago
Mikunj
5626cfe47d
Added FriendRequest message
7 years ago
Scott Nonnenberg
2d48daa7b6
Refine Sealed Sender behaviors
7 years ago
Mikunj
2fabd93fd6
Fix message sending
7 years ago
Mikunj
77602e3dbb
Moved contactPreKey and contactSignedPreKey to sql.
7 years ago
Mikunj
f589fdac5c
Merge signal changes into branch.
7 years ago
Beaudan
1ccf3b6b95
Added function to loki_message_api to do a single request call to storage server. Currently just gets called once when the application starts
7 years ago
Beaudan
519d372e63
Tiny url update to work with the storage server
7 years ago
Scott Nonnenberg
fb670ad6b9
Remove IndexedDB files after removing IndexedDB database
7 years ago
Scott Nonnenberg
9f647f00d8
A couple fixes for the data layer, legacy message upgrade/migrate
7 years ago
Scott Nonnenberg
41dd78c073
On fetch of profileAvatar, set it to convo's profileAvatar field
7 years ago
Scott Nonnenberg
6628b73911
Only show database log entries if task takes longer than 10ms
7 years ago
Scott Nonnenberg
1755e0adfd
Move all remaining stores to SQLCipher
7 years ago
sachaaaaa
4b9fcb98d4
Linting and other housekeeping stuff
7 years ago
Scott Nonnenberg
7aa9031c7f
Import: Be resilient to deletions from importObject
7 years ago
Beaudan
4598fd222a
Cleaned up newNonce stuff. Now doing target calculation with BigIntegers
7 years ago
Scott Nonnenberg
a7d78c0e9b
Sealed Sender support
...
https://signal.org/blog/sealed-sender/
7 years ago
Beaudan
d4180b3ca6
Some syntax tidying up, plus fixed bug with message data not being a uint8array after IPC message
7 years ago
Scott Nonnenberg
2060118e85
Remove messages/conversations/unprocessed IndexedDB object stores
7 years ago
Scott Nonnenberg
e39c999932
Import: Properly handle import with all empty non-convo stores
7 years ago
Scott Nonnenberg
1e562c8293
Properly handle avatar changes in group update messages
7 years ago
sachaaaaa
1cf8710127
Merge pull request #16 from sachaaaaa/friend_response
...
Handle prekeys in incoming friend request
7 years ago
sachaaaaa
9370e2b74a
Merge branch 'master' of https://github.com/signalapp/Signal-Desktop into development
...
* 'master' of https://github.com/signalapp/Signal-Desktop : (38 commits)
v1.17.0
v1.17.0-beta.4
Ensure that blue group avatars are preserved in dark theme
Android theme: Incoming quotes take color from containing message
Conversations have blue avatar backgrounds if no image provided
Fix lint errors
Add ca language
inboxView: Ensure Conversation exists for our own number
Ensure that file is not attached if we've filtered it
v1.17.0-beta.3
Localization updates
v1.16.3
Lint fixes
Lint fixes
Better handle large numbers of messages in cache on startup
Keep object stores after conversations migrate to SQLCipher
Longer timeout for orphaned file cleanup
Tests and increase consistency for isFileDangerous calls
Longer timeout for orphaned file cleanup
v1.17.0-beta.2
...
# Conflicts:
# background.html
# package.json
7 years ago
Beaudan
dfa8b59bc3
Using let and const properly, updated number to uint function, general cleaning
7 years ago
sachaaaaa
025d13a72b
Add keyId index for contact prekeys and allow retrieving prekeys for a specific pubkey and keyid
7 years ago
Beaudan
ee57c698d7
Client side proof of work attached to messages
...
Skeleton calcPoW function that prepares payload for hashingFunction to increment Uint8Array nonce
Util function for converting a number to its Uint8Array representation
Actually perform calculate PoW nonce for every message
Adding bytebuffer as dependency and updated package-lock
Move PoW to new file and execute it in child process
TODO: Move send message logic to callback after child process has finished calculating the PoW
Refactored nonce calculation to function to be awaited
More readable timestamp grab plus converted to seconds
Nonce is now returned as a base64 string and included in request header
Also converted timestamp and ttl to string when including them in the header
Added a couple comments and tidied up some nonce logic
7 years ago
sachaaaaa
886f47b8e7
Prekeys sending: first pass ( #12 )
...
* add 'recipient' attribute in prekey database to allow binding a prekey to a recipient pub key
* Attach a PreKeyBundleMessage to the ContentMessage in fallback encryption mode
* Skip generating 100 prekeys upon registration
* Store the signed key signature in database
7 years ago
Scott Nonnenberg
7532f397ea
Keep object stores after conversations migrate to SQLCipher
7 years ago
Scott Nonnenberg
8edfbdcee5
Longer timeout for orphaned file cleanup
7 years ago
Scott Nonnenberg
ca61c9cb85
Warnings for dangerous files
7 years ago
sachaaaaa
6fe70b9b85
Send outgoing messages as raw bytes (Uint8Array) and moved recipient & ttl to header
7 years ago
Scott Nonnenberg
f38410976d
Delete conversation external files on deletion
7 years ago
Scott Nonnenberg
2cfbfe477a
Better handle large numbers of messages in cache on startup
7 years ago
Scott Nonnenberg
a8e12d0771
Add user's avatar to the top left of the screen
7 years ago
Scott Nonnenberg
cd60bdd08a
Move conversations to SQLCipher
7 years ago
sachaaaaa
33ad509fbf
Merge branch 'master' of https://github.com/signalapp/Signal-Desktop into development
...
# Conflicts:
# _locales/ar/messages.json
# _locales/es_419/messages.json
# _locales/he/messages.json
# _locales/hi/messages.json
# _locales/hr/messages.json
# _locales/kn/messages.json
# _locales/ko/messages.json
# _locales/mk/messages.json
# _locales/sr/messages.json
# _locales/uk/messages.json
# _locales/vi/messages.json
# package.json
7 years ago
Scott Nonnenberg
d0c4152d99
backup.js: Remove references to nonexistent i18n strings
7 years ago
sachaaaaa
a6b4215b1f
changed sendMessage request from PUT to POST
7 years ago
sachaaaaa
8bb7185c7a
make loki_message_api::sendMessage use async/await
7 years ago
sachaaaaa
bb65115d7d
Ensure the unique object id is stored in the object to facilitate deleting it later.
7 years ago
sachaaaaa
2f562ce9e1
Change contact prekeys in db to allow multiple entries for each contact
7 years ago
sachaaaaa
0832806bd9
wip: added helper to create mock contacts, almost got a session working
7 years ago
sachaaaaa
258a89bc21
create contactPreKeys and contactSignedPreKeys in database, with load/store helpers (rerun migrations required)
7 years ago
sachaaaaa
e3cbf1caeb
rename IndexedDB database to 'loki-messenger'
7 years ago
sachaaaaa
b84ff76faf
Fix error handling when sending message + clean up in loki_message_api
7 years ago
sachaaaaa
8ada6ce8ad
serialize message as base64
7 years ago
sachaaaaa
1e14022e2f
Add skeleton for Loki Message API. Wrap data in json (for now?)
7 years ago
sachaaaaa
1866aed432
Accomodate for upcoming signature in websocket connection header
7 years ago
sachaaaaa
187424f84a
Change HTTP header from X-Signal-Agent to X-Loki-Messenger-Agent.
7 years ago
Scott Nonnenberg
57d13dad57
data/removeMessage: no need for additional model instantiation
7 years ago
Scott Nonnenberg
02fbea96c0
Move base64 conversions off of the main thread
7 years ago
Scott Nonnenberg
911bc63c67
Move all arrayBuffer<->base64 functions to be async
7 years ago
Scott Nonnenberg
9f920aa35b
Re-enable orphaned attachment cleanup
7 years ago
Scott Nonnenberg
fedfbed304
Copy quoted message contents into quote on receipt
...
Also:
- visually distinguish any reference we couldn't verify on receipt
- show toast on quote click if we can't scroll to message
- toast visuals redesigned to match rest of app
7 years ago
Scott Nonnenberg
516a729a45
Additional logging for sql commands in debug mode
7 years ago
Scott Nonnenberg
7983300f4a
Use base64 strings for incoming message cache instead of binary
7 years ago
Scott Nonnenberg
8c8475076b
Data layer: return null if id not in database, not empty model
7 years ago
Scott Nonnenberg
c88df69094
New SQL indices and query tweaks to eliminate table scans
...
Also: New logging on client side to track performance of db queries
7 years ago
Scott Nonnenberg
e086d521f1
Increase the timeout for database updates
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
a01db40e27
Ensure that a SQL command timeout results in an error
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
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
02675312c5
Introduce mandatary migration on startup, to minimum version
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
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
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
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
dc11db92f9
New React component: Message
...
Also: Use react to render contects on the 'show group members' screen
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
125c3fafa8
Idle detector: Fix bug preventing it from ever turning off ( #2487 )
7 years ago
Scott Nonnenberg
8eeaad8e18
Remove unused export/import functionality
7 years ago
Scott Nonnenberg
f3bd0cf903
Refactor api.js into web_api, which encapsulates all web access
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
e2d044e02b
Filter file scheme; disable http, https and ftp entirely
7 years ago
Scott Nonnenberg
80b069e9b6
Move phone number format/parse into ts/types/PhoneNumber
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
Daniel Gasienica
3bf8a8966a
Notification improvements
...
- Remove on read, on focus, and on exit.
- Show multi-message notifications like '5 new messages'.
7 years ago
Daniel Gasienica
16bc1d34c6
Message schema 6: Change classification of media and documents
...
For an easier implementation, we change our original definition of
`initializeAttachmentMetadata`. This means we have to re-run it marked as
version 6 and mark schema version 5 as deprecated as its definition has changed.
7 years ago
Daniel Gasienica
101041f106
Derive `Message.CURRENT_SCHEMA_VERSION`
7 years ago
Scott Nonnenberg
26be658892
Remove 'Contact' from 'Contact.*' properties, clean->parse
7 years ago
Scott Nonnenberg
cda326ca45
Use protobuf enum values to eliminate magic numbers
7 years ago
Scott Nonnenberg
adbe989949
validateContact: Return error instead of logging
7 years ago
Scott Nonnenberg
d0efccd121
A couple renames in contact.js
7 years ago
Scott Nonnenberg
420f81ebcd
Move contact migrate code from message.js to contact.js
7 years ago
Scott Nonnenberg
37821e5a1b
Wire up all contact behaviors, refactor Contact type/selector
7 years ago
Scott Nonnenberg
3ea3e4e256
Contact sharing: protos and data pipeline
...
As of this commit: 82b76ccf37
7 years ago
Daniel Gasienica
a86056630f
Use `Attachment.isVoiceMessage`
7 years ago
Daniel Gasienica
5c8f734e67
Remove newlines from group IDs
7 years ago
Daniel Gasienica
a102016ed8
Port `Settings` and `OS` to TypeScript
7 years ago
Scott Nonnenberg
754d65ae2e
Let's make it all pretty, shall we?
...
We missed a couple directories with previous attempts to turn this on
globally: app/ and libtextsecure/
Not to mention files in places we didn't expect: ts files that weren't
in the ts directory!
This turns prettier on for every file we care about (js, ts, tsx, md)
everywhere in the project but for a few key parts.
7 years ago
Daniel Gasienica
6eca5ee940
Document that JPEG auto-orient strips EXIF metadata
7 years ago
Daniel Gasienica
1dd87ad197
Format all source code using Prettier
7 years ago
Daniel Gasienica
e4baf27fa7
Increase migration conversion speed by a factor of 3x
7 years ago
Daniel Gasienica
d00fb560b0
Avoid exposing `AttachmentTS`
7 years ago
Daniel Gasienica
f36f206a01
Use `IndexablePresence` for `hasFileAttachments` and `hasVisualMediaAttachments`
...
Reduces index size, makes it easier to debug using IndexedDB inspector, and
hopefully improves lookup performance.
7 years ago
Daniel Gasienica
8e3c38d5fe
Fix formatting
7 years ago
Daniel Gasienica
146178f977
Update schema documentation
7 years ago
Daniel Gasienica
082ef98a56
Add type definition for `deferredToPromise`
7 years ago
Daniel Gasienica
9d84b2f420
Index messages with attachments using a boolean
...
When indexing message attachment metadata using numeric indexes such as:
```javascript
{
conversationId: '+12223334455',
received_at: 123,
attachments: […],
numAttachments: 2,
},
{
conversationId: '+12223334455',
received_at: 456,
attachments: [],
numAttachments: 0,
}
{
conversationId: '+12223334455',
received_at: 789,
attachments: [],
numAttachments: 1,
}
```
It creates an index as follows:
```
[conversationId, received_at, numAttachments]
['+12223334455', 123, 2]
['+12223334455', 456, 0]
['+12223334455', 789, 1]
```
This means a query such as…
```
lowerBound: ['+12223334455', 0, 1 ]
upperBound: ['+12223334455', Number.MAX_VALUE, Number.MAX_VALUE]
```
…will return all three original entries because they span the `received_at`
from `0` through `Number.MAX_VALUE`. One workaround is to index booleans using
`1 | undefined` where `1` is included in the index and `undefined` is not, but
that way we lose the ability to query for the `false` value. Instead, we flip
adjust the index to `[conversationId, hasAttachments, received_at]` and can
then query messages with attachments using
```
[conversationId, 1 /* hasAttachments */, 0 /* received_at */]
[conversationId, 1 /* hasAttachments */, Number.MAX_VALUE /* received_at */]
```
7 years ago
Daniel Gasienica
5f220a7b2c
Add migration for media gallery indices
7 years ago
Daniel Gasienica
d14761087a
Add schema version 4: Attachment metadata
7 years ago
Daniel Gasienica
df2e6e7864
Port `MIME` module to TypeScript
7 years ago
Daniel Gasienica
6a63e427c8
Use `is` instead of Lodash `is*`
7 years ago
Scott Nonnenberg
bf81c3db63
Document Message v4, remove data-free thumbnails
7 years ago
Scott Nonnenberg
c02860af5c
Responding to pull request review feedback
...
- messages.getQuoteObjectUrl: early return
- backup.js: explaining variables for long if statement
- types/messages.js: Log if thumbnail has neither data nor path
- sendmessage.js:
- remove extraneous logging
- fix indentation
- upload attachments and thumbnails in parallel
- preload: don't load fs for tests, just fse
- _conversation.scss: split two selectors into two lines, 0px -> 0
- backup_test.js: use fse.existsSync and comment twoSlashes regex
- network_tests_view_test.js: Comment duplicate assignment to window.getSocketStatus
7 years ago
Scott Nonnenberg
a7d44d3344
Backup and end-to-end test!
7 years ago
Scott Nonnenberg
978ff0e2bb
Refactor: Use correct name for sanitized filename in backup.js
7 years ago
Scott Nonnenberg
f1ff040842
Finish type definition for _mapQuotedAttachments
7 years ago
Scott Nonnenberg
9ad55c803f
Fix handling attachment thumbnails using thumbnail key
7 years ago
Scott Nonnenberg
054d3887a1
Quotes: The full pipeline into the database
...
1. MessageReceiver always pulls down thumbnails included in quotes
2. Message.upgradeSchema has a new schema that puts all thumbnails on
disk just like happens with full attachments.
3. handleDataMessage pipes quote from dataMessage into the final message
destined for the database
7 years ago
Scott Nonnenberg
21bf02c94d
Fixed examples in Quote.md, rough Android visuals
7 years ago
Daniel Gasienica
d7b845326d
ESLint auto-fix `link_text`
7 years ago
Daniel Gasienica
9d41b86162
Remove escaping from `linkText`
...
We leverage jQuery’s HTML escaping in `$.html(…)`.
7 years ago
Daniel Gasienica
f04c65088b
Fork `link-text` module
7 years ago
Daniel Gasienica
24f4ad53bc
Use single quotes for identifiers
7 years ago
Daniel Gasienica
432a6ebd7f
Redact file paths with escaped slashes
7 years ago
Daniel Gasienica
a8a7525609
Redact stack traces with forward and backslashes
7 years ago
Daniel Gasienica
b0da7d965e
Redact URL encoded file paths in stack traces
7 years ago
Daniel Gasienica
f2c9ccae90
Prefer `is.*` over Lodash `is*` functions
7 years ago
Daniel Gasienica
2ee78ec556
Prefer `path` over `Path`
7 years ago
Scott Nonnenberg
c6c3b65bbc
Introduce React, TypeScript, TSLint and React-StyleGuidist ( #2219 )
...
Quite a bit of change here.
First, the basics:
- New dependencies were added: react, typescript, tslint, and react-styleguidist
- A new npm script: transpile. It uses typescript to process .tsx files in js/react, putting .js files next to the original file. It's part of the watch functionality of grunt dev as well as the default task run with just grunt (used to build the app prior to release). A lighter-weight to get watch behavior when just working on React components is to run yarn transpile --watch.
- yarn run clean-transpile will remove generated .js files
Style guide via react-styleguidist. Example site: https://react-styleguidist.js.org/examples/basic/
- Start with yarn styleguide
- Component.md files right next to the .tsx file
- jsdoc-style comments are picked up and added to the generated part of the styleguide - the overall summary and a table listing methods and properties of the component
- It has hot-reloading!
- It uses webpack, which means that our app now pulls in webpack though we don't use it to generate anything for the production app.
- I did a bunch of work to enable the use of Backbone views in this context, which will allow us to move smoothly from the old world to the new. First, add all the permutations in the old way, and then slowly start to re-render those same views with React.
A bit of dependency cleanup to enable use in React components:
- moment was moved from our Bower dependencies to our npm dependencies, so it can be used in React components not running in a browser window.
- i18n was moved into the new commonjs format, so it can be used in React components even if window is not available.
Lastly, a bit of Gruntfile cleanup:
- Removal of Chrome App-era modifications of background.js
- Make jshint/jscs watch more targeted, since more and more we'll be using other tools
7 years ago
Scott Nonnenberg
50d4dbaae7
Remove 'use strict' from i18n.js
7 years ago
Scott Nonnenberg
76be13552f
js/i18n.js -> js/modules/i18n.js
7 years ago
Daniel Gasienica
195e9b777c
Rename `willHaveAttachmentsSavedOnFileSystemDuringUpgrade`
...
New name: `willAttachmentsGoToFileSystemOnUpgrade`
7 years ago
Daniel Gasienica
4c4443390a
Rename `createImporter` to `createAttachmentDataWriter`
7 years ago
Daniel Gasienica
5ea1a305a6
Clarify error origin
7 years ago
Daniel Gasienica
9dcb64b53c
Initialize schema version upon import
7 years ago
Daniel Gasienica
cfad983d08
Consistently use `ciphertext` instead of `encrypted`
7 years ago
Daniel Gasienica
a61c905146
Impliclity decrypt data if `key` is present
7 years ago
Daniel Gasienica
94c75762b5
Add `Message.createAttachmentLoader`
7 years ago
Daniel Gasienica
43ab320d31
Load attachments before writing them upon export
7 years ago
Daniel Gasienica
7eeabb5b1a
Add precondition for `writeAttachment`
7 years ago
Daniel Gasienica
0faaf52b71
Import and upgrade messages upon save
7 years ago
Daniel Gasienica
cf7355bd2f
Rename `backupToDirectory` to `exportToDirectory`
...
For symmetry reasons.
7 years ago
Daniel Gasienica
bf67254cc5
Add `Message.createImporter`
7 years ago
Daniel Gasienica
efd673083d
Rename `writeAttachmentData` to `writeNewAttachmentData`
7 years ago
Daniel Gasienica
ce8fe0d345
Add `Signal.Startup` module
7 years ago
Daniel Gasienica
8474f3cf7f
Use `create*` prefix to clarify curried functions
7 years ago
Daniel Gasienica
12cdeee7ec
Rename `count` to `numMessagesPerBatch`
7 years ago
Daniel Gasienica
38ac9972e8
Improve termination condition
7 years ago
Daniel Gasienica
5b1a0c45df
Replace `getAll` with cursor
...
This reduces the likelihood of IPC message size error.
7 years ago
Daniel Gasienica
ed77378293
Fix bug in termination condition
7 years ago
Daniel Gasienica
052fb841f6
Allow database name override in migrations
7 years ago
Daniel Gasienica
1e04083813
Support database upgrades in `Database.open`
7 years ago
Daniel Gasienica
f50ac1c99e
Reduce excessive logging about database status
7 years ago
Daniel Gasienica
77b1f3c505
Replace startup with attachment background migration
...
Iterates through `Message::id` index.
7 years ago
Daniel Gasienica
057762806e
Add support for attachment background migration without index
7 years ago
Daniel Gasienica
2e4893f4c1
Clarify implications of introducing new migrations
7 years ago
Daniel Gasienica
7413b787b6
Make `migrations` private
7 years ago
Daniel Gasienica
b07c66eaa7
Generate attachments from local files
...
This ensures our benchmarking is closer to real-world usage, e.g. images, video,
etc. that are not compressible.
7 years ago
Daniel Gasienica
064a40544c
Fix error message formatting
7 years ago
Daniel Gasienica
442f5d7295
Use `done` to match JavaScript iterators
...
See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators
7 years ago
Daniel Gasienica
a4f0c5242f
Document why batch size is one
7 years ago
Daniel Gasienica
805031ade8
Conditionally run post-attachment migrations
...
Introduce placeholder migrations for Backbone models so they never implicitly
run migrations whenever they are `fetch`ed. We prefer to run our migrations
explicitly upon app startup and then let Backbone models be (slightly) dumb(er)
models, without inadvertently triggering migrations.
7 years ago
Daniel Gasienica
bfbeedab5c
Temporarily disable post-attachment migration migrations
7 years ago
Daniel Gasienica
d9be6a0f94
Destructure Lodash `require`s
7 years ago
Daniel Gasienica
b7b6195cfc
Extract IIFE into separate function
7 years ago
Daniel Gasienica
11f98474ba
Capture how many messages we have to process
7 years ago
Daniel Gasienica
0fdc1140dd
Add `Database.getCount` function
7 years ago
Daniel Gasienica
1f8556b049
Remove unused `createCollection`
7 years ago
Daniel Gasienica
c67c2a858a
Remove Backbone references for attachment migration
...
It has to run without any other migrations interfering.
7 years ago
Daniel Gasienica
0c40f35623
Document disadvantage of fetching messages without index
7 years ago
Daniel Gasienica
d3c9de4712
Add debug module
...
Lets us generate large conversations with large attachments.
7 years ago
Daniel Gasienica
30037e5308
Reduce attachment migration batch size to 1
...
This prevents ‘Maximum IPC message size exceeded’ due to IDB `getAll` operation.
- https://github.com/zincbase/zincdb/issues/17
- https://cs.chromium.org/chromium/src/content/browser/indexed_db/indexed_db_database.cc?q=%22Maximum+IPC+message+size+exceeded%22&sq=package:chromium&l=1160
7 years ago
Daniel Gasienica
21147a20a0
Add `sleep` module
7 years ago
Daniel Gasienica
08f73b8420
Remove last processed index after attachment migration
7 years ago
Daniel Gasienica
696a144ab7
Add `settings.deleteItem`
7 years ago
Daniel Gasienica
5910f84af4
Remove outdated documentation
7 years ago
Daniel Gasienica
efe3cd67fc
Allow attachment migration run on higher database version
7 years ago
Daniel Gasienica
921c3dba7c
Skip migrations that have already been applied
7 years ago
Daniel Gasienica
417511ffd2
Add `database.getVersion`
7 years ago
Daniel Gasienica
c5c94bc3ab
Extract `getMigrationVersions`
7 years ago
Daniel Gasienica
6aea36240d
Rename `closeDatabase` to `closeDatabaseConnection`
7 years ago
Daniel Gasienica
016432826b
Extract `database` and `settings` modules
7 years ago
Daniel Gasienica
5bea894abd
Close database connection via Backbone IDB adapter
7 years ago
Daniel Gasienica
f50e9ae364
Log closing connection of database
7 years ago
Daniel Gasienica
4ff8bc3357
Use `camelCase` for non-constructors
7 years ago
Daniel Gasienica
3720c3f3bb
Improve log message
7 years ago
Daniel Gasienica
ce5b450fdb
Log `targetSchemaVersion`
7 years ago
Daniel Gasienica
f7f24b5822
Log total number of processed messages
7 years ago
Daniel Gasienica
eca930770c
Remove hard-coded database connection settings
7 years ago
Daniel Gasienica
1df6dc8378
Abort processing if there are no more messages
7 years ago
Daniel Gasienica
d5d0eabdfd
Remove usage of `storage` module
7 years ago
Daniel Gasienica
8966e80284
Improve identifier names
7 years ago
Daniel Gasienica
3e2d575506
Document `MessageDataMigrator` module design
7 years ago
Daniel Gasienica
3c57dbfb56
Extract `NUM_MESSAGES_PER_BATCH`
7 years ago
Daniel Gasienica
85788d3c4a
Match `items` storage format to Backbone adapter
7 years ago
Daniel Gasienica
7de7fcf561
Avoid `no-param-reassign` violation
7 years ago
Daniel Gasienica
070235b59b
Implement `MessageDataMigrator.processAll`
...
Upgrades schema of all messags upon startup.
7 years ago
Daniel Gasienica
178a3cc262
Reduce work for verifying transaction completion
7 years ago
Daniel Gasienica
b6e978f74c
Implement `MessagesDataMigrator.processAll`
7 years ago
Daniel Gasienica
457bf7ab9d
Add `createCollection` function
7 years ago
Daniel Gasienica
8ea257ad4d
Use double quotes for identifiers in error messages
7 years ago
Daniel Gasienica
172616ca4f
Add log message for dummy migration 18
7 years ago
Daniel Gasienica
579b01283e
Replace `wrapDeferred` with `deferredToPromise`
7 years ago
Daniel Gasienica
40c40c800a
Prefer `exports`
7 years ago
Daniel Gasienica
da144edc56
Manually close database connection after migration
7 years ago
Daniel Gasienica
106ce21c49
Remove redundant log message
7 years ago
Daniel Gasienica
fcd30cd919
Close database after migration
...
This is not 100% reliable as database connections are closed in a separate
thread according to the documentation:
- https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/close
- https://stackoverflow.com/a/18639298
- 80c7a06d5c/backbone-indexeddb.js (L558-L565)
7 years ago
Daniel Gasienica
c765422fa1
Extract `deferredToPromise`
7 years ago
Daniel Gasienica
e2f1339ab9
Explicitly run post-attachment migrations
7 years ago
Daniel Gasienica
d7c8d33edb
Extract `runMigrations`
7 years ago
Daniel Gasienica
d16178638e
Split database migrations into pre- and post-attachment migration
...
- Run light-weight migrations before attachment migration.
- Run regular migrations after attachments have been moved to disk.
7 years ago
Daniel Gasienica
90de9d85a3
Remove type annotation
7 years ago
Daniel Gasienica
4c10fcfa17
Reduce threshold until optimization appears to 1s
7 years ago
Daniel Gasienica
add19aa732
Add initialization view
7 years ago
Daniel Gasienica
9b112489cd
Upgrade 2 messages every 30 seconds
...
This results in 4 messages per minute or 240 messages per hour.
7 years ago
Daniel Gasienica
7c2fde4433
Add `Signal.Workflow` namespace
7 years ago
Daniel Gasienica
4a7cc22de3
🎨 Use `window.requestIdleCallback`
7 years ago
Daniel Gasienica
4651cbc2eb
Improve ``Message.upgradeSchema` preconditions
7 years ago
Daniel Gasienica
ca28f3030b
Add `MessageMigration` module
7 years ago
Daniel Gasienica
8e762797c0
Remove attachment validation
...
Turns out `fileName` is optional and maybe even `contentType`. We should revisit
this at a later point in time.
7 years ago
Daniel Gasienica
09ee2d4ea2
Switch to using `requestIdleCallback`
...
Example:
https://developer.mozilla.org/en-US/docs/Web/API/Background_Tasks_API#Example
7 years ago
Daniel Gasienica
d13668544d
Rename `IdleListener` to `IdleDetector`
7 years ago
Daniel Gasienica
3140e4d66d
Implement basic `IdleListener`
7 years ago
Daniel Gasienica
867f73b80a
Use double quotes for identifiers in error messages
7 years ago
Daniel Gasienica
70cdd2b350
Add `stringToArrayBuffer` utility
...
This way we can avoid an extra dependency.
7 years ago
Daniel Gasienica
2ad0fd7db6
Use Lodash `omit` instead of `delete`
7 years ago
Daniel Gasienica
279b3f81c7
Add `Attachment.deleteData`
7 years ago
Daniel Gasienica
9a540d6d18
Load attachment data before sending message
7 years ago
Daniel Gasienica
6355c54114
Return relative path from `writeAttachmentData`
...
This will make our app more robust to changes in location on the file system.
7 years ago
Daniel Gasienica
2cd3d5ac16
Add `Message` schema version 3
7 years ago
Daniel Gasienica
aa82a2a5fb
Add `context` to `Message.upgradeSchema`
...
Allows us to pass in Electron/Node.js specific functions. This allows better
unit testing in Mocha where we don’t have access to Electron APIs.
7 years ago