Commit Graph

212 Commits (cc5327dbc96a1c1241cee06d3ac715abb13e1de5)

Author SHA1 Message Date
lilia 511b121a2f Refactor conversation view into two classes
One that resides in the left hand column as a list item, and another
which displays in the main column and handles ui events therein.
11 years ago
lilia 6ff6ef07a9 Parse the template before binding render to an event 11 years ago
lilia d615a5a18b Let list view changes the color of selected conversations 11 years ago
lilia dc957415c2 Cull dead code
Most of this no longer needed because of templating and list views.
11 years ago
lilia 9082781e09 Make header and footer/form work without overflowing 11 years ago
lilia df95a7f71a Move ui init out of nacl callback and remove some lines that no longer apply 11 years ago
lilia def32f42d4 New layout/design
Two column layout and style tweaks. Templatized conversation views.
Generalized list view.
11 years ago
lilia 6d5e32bca8 Don't make a new collection on every call to thread.messages() 11 years ago
lilia 7e20838128 Rename file 11 years ago
lilia 4724c96ecb Use $.find so these locals can go away 11 years ago
lilia 2e3d89ef78 Use mustache template for message rendering 11 years ago
lilia 25fecc949e Condense some code using Backbone.View's event framework 11 years ago
lilia 06ff6c3087 Let thread collection double as contacts db
When a thread is 'destroyed' from the UI we delete its messages and mark
the thread as inactive, (in other words, keep it around as contact info).
Additionally, we only load active threads when initializing the UI, and
reactivate threads when new messages are added to them.

Conflicts:
	js/models/messages.js
	js/models/threads.js
	js/views/conversations/show.js
11 years ago
lilia c6b79236d9 Fix whitespace, lint 11 years ago
lilia ebf1b3352f Use separate message collections for each thread to facilitate lookup and lazy loading 11 years ago
Matt Corallo d6d17eaf19 Remove unused function 11 years ago
Matt Corallo 3696214edc Add missing localStorage.clear() 11 years ago
Matt Corallo 28779e0b35 Fix tests by returning promises 11 years ago
Matt Corallo 90eb9cb0c8 Remove ping, update to latest spec proposal 11 years ago
Matt Corallo f6f35c5b61 Fix a missing function and dont blow up on delivery receipts 11 years ago
Matt Corallo d9f53d4c01 Fix not-allowed inline scripts error 11 years ago
Matt Corallo a6b0d1f84b Add entirely untested secondary device init 11 years ago
lilia 2751d0e884 Such tests. Very mocha. Much chai. Amaze!!!
ERHMAGERRRD testing frameworks are so the best. Removed all our custom
code for ensuring test exclusivity and doneness and isolating callbacks
and everything. mocha does it all for us, and makes it pretty.

Also rather than return a long chain of promises that eventually resolve
to truthiness, we now use chai to make assertions about what is good and
right in the world.

Recommended reading:
  https://visionmedia.github.io/mocha
  http://chaijs.com/api/assert/
11 years ago
Matt Corallo 6455da5c9a Refactor a bunch of stuff re: session closing, add test cases 11 years ago
Matt Corallo c427da04f0 Add closeSession tests as Alice and fix re-requesting prekeys 11 years ago
Matt Corallo 6f3ee151f3 Add a BOB test-case around session closure 11 years ago
Matt Corallo a6426194ef Update BOB test cases 11 years ago
Matt Corallo 957587bd9a Add identity keys to MAC, begin updating test cases 11 years ago
Matt Corallo eab0911d3d I lied, there is no verification tag 11 years ago
Matt Corallo 85f33345ab Move test shuffling to js/testvectors.js 11 years ago
Matt Corallo 0088721343 Move AXOLOTL test vectors to js/testvectors.js 11 years ago
Matt Corallo 07f79cb4bf Fix tester 11 years ago
Matt Corallo 7013c5e031 First steps towards BOB test vectors 11 years ago
Matt Corallo ebcfd4736e Fix session lookup in duplicate prekeymessage case 11 years ago
Matt Corallo 5040bfbe44 Fix pending verifications 11 years ago
Matt Corallo a76ae2f1f8 Add verification tags, make alice tests strict(ish) again 11 years ago
Matt Corallo 287b55120d First cut of ALICE test vectors 11 years ago
Matt Corallo a8908646aa Fix null flags in v3 11 years ago
Matt Corallo 0d4ae6a8cb Fix undefined variable in for's (browser update to strict mode?) 11 years ago
Matt Corallo de83429962 v3 steps 11 years ago
Matt Corallo 66bf371aa7 Use staging server (ie update to server keys v2) and protocolv3 11 years ago
Matt Corallo 53f8ac9ad9 Generate signed keys (breaks registration) 11 years ago
Matt Corallo 4c3ee6f23b Compare equality w/o getString (in the future) 11 years ago
Matt Corallo 3190fe97f9 HMAC Update for Protov3 11 years ago
Matt Corallo b5c6e3d101 JS ed25519 11 years ago
Matt Corallo b94ba6b726 USE_NACL = true 11 years ago
Matt Corallo 7d27df9868 Report testing done 11 years ago
Matt Corallo a2da4fffb0 Remove useless function 11 years ago
Marco 13a9329bcf improved number validation (based on google's libphonenumber) 11 years ago
Matt Corallo 92514ad08f Fix missing baseKey 11 years ago
Matt Corallo ceca03c5d0 Close chainKey.key 11 years ago
lilia ce3c5eb909 Refactor conversation list view
Pull apart UI classes for displaying and creating threads.
Also get rid of ugly alert popup in favor of Whisper.notify.
11 years ago
Matt Corallo 1ec6b0aed6 Better TODO wording 11 years ago
Matt Corallo 12a849957a Refresh groups on (probably) new identity key (maybe more often?) 11 years ago
Matt Corallo 0f126fc0f8 Keep track of number->groups, add TODO to refresh, other tweaks 11 years ago
Matt Corallo e495e8e3db Group updates to match real protocol and get better checking 11 years ago
lilia ec900e0ea4 Fix double display of outgoing messages 11 years ago
lilia a09a4776d3 Fix incoming message display/storage
There were a few problems.

1. The message event was being triggered in background, not popup
2. The initial message/thread fetches from localStorage were mis-ordered
3. The timestamp wasn't being extracted from the right place
4. #3 caused messages to fail validation and not be saved

1-3 are fixed. To address 4 I switched validate() to log a warning
instead of preventing save.
11 years ago
Matt Corallo c90b9a5c59 Some group update verification 11 years ago
Matt Corallo b1ec02fa92 Group API 11 years ago
Matt Corallo c953c6c16d closeSession 11 years ago
Matt Corallo d0fd3e94d8 sendMessage refactor, initial group stuff (breaks message storage) 11 years ago
Matt Corallo fb2aa6144c Merge pull request #45 from codedust/extractchrome
moved some chromium-specific code into chromium.js
11 years ago
Marco 5cddcb59aa improved some css for options.html 11 years ago
Marco 69ba6581b0 moved some chromium-specific code into chromium.js (using extension.navigator namespace) 11 years ago
Matt Corallo cf35b7056f Retry API, standardize <script> list 11 years ago
Matt Corallo 8f49d201e6 Fix longstanding(?) attachment bug 11 years ago
Matt Corallo c2d1d816f2 Save sessions in deviceObjects, test using fake_api, minor tweaks 11 years ago
Matt Corallo 1724d122d3 More typos from me being too tired 11 years ago
Matt Corallo 5cea7b6857 Few typos blocking registration 11 years ago
Matt Corallo eb80a10ed1 Fix new function(){}() typo (thanks codedust on GitHub) 11 years ago
Matt Corallo aec36468bc Request new keys (largely untested) 11 years ago
Matt Corallo 56433bd9af One more tiny error refactor 11 years ago
Matt Corallo 68131a6e2a Add human readable version of errors 11 years ago
Matt Corallo 753a950816 Redo registration process 11 years ago
lilia 83508abab8 Thread model and UI improvements
Adds thread model/collection for managing conversation-level state, such
as unreadCounts, group membership, thread order, etc... plus various UI
improvements enabled by thread model, including an improved compose
flow, and thread-destroy button.

Adds Whisper.notify for presenting messages to the user in an orderly
fashion. Currently using a growl-style fade in/out effect.

Also some housekeeping:
Cut up views into separate files.
Partial fix for formatTimestamp.
Tweaked buttons and other styles.
11 years ago
Matt Corallo 2d12a33ead Fix decoding/protos/tests 11 years ago
Matt Corallo ac48d552fa Fix some bugs recently introduced 11 years ago
Matt Corallo 21b95ce1d3 Re-create some of d9bf0a4, which was broken and reverted in 1e6720 11 years ago
Matt Corallo 18f1eed70f Some number verification refactor stuff 11 years ago
Matt Corallo d387cd22f5 s/getEncodedNumber// (with XXXs) 11 years ago
Matt Corallo 9aae93fc99 textsecure.protos 11 years ago
lilia 1e672030de Fix a couple things broken in d9bf0a4
Slight revert from said commit. We really do need the
IncomingPushMessageSignal protobuf at the UI layer, mostly because
it contains the 'source' attribute, without which we don't know
who sent the message.

Also fix a crash when there are no attachments on a message.
11 years ago
lilia de0a1df3ca Fix broken registration flow
Better load the functions defined in chromium.js before trying to use
them. Hmm.. also, options.js should probably wait for the DOM to load
before it tries to initialize things in it.
11 years ago
Matt Corallo d9bf0a41fb textsecure.storage, chromium.js 11 years ago
Matt Corallo ee2f43aba4 Fix, display (image) attachments 11 years ago
Matt Corallo be82547ea1 Move message saving out of helpers.js 11 years ago
lilia 3bd559bbaa DRY up PushMessageContentProtobuf construction
Messages now know how to protobuf-ify themselves.
11 years ago
lilia 2601c3cc3a Rename some things to be a little more semantic
The 'sender' field actually holds the recipient for outgoing
messages. Rename that field to 'person', indicating the 2nd
party generically.

Also decouples the thread name from thread recipients at the
view layer, in preparation for group support.
11 years ago
Marco 14ebef70cb fixed 'TypeError: Promise.resolve is not a constructor' in Firefox 11 years ago
lilia 810aabf2a6 Save messages from 'Compose' UI 11 years ago
lilia b852e68290 Backbone message storage and views
Adds Backbone-based Whisper.Messages model/collection with local storage
extension. Saves sent and received messages in Whisper.Messages instead
of message map. This will assign a unique id to the message and save it
to localStorage.

Adds Backbone-based view to popup.html
  Automatically updates itself when new messages are saved to
  Whisper.Messages db from the background page.

Added some shiny new styles, and started splitting up css into multiple
files for sanity's sake.
11 years ago
lilia 170257dafb Fix subscribeToPush is not defined 11 years ago
lilia ed3aa9667d Fix undefined URL_BASE in background.js
Sieze an opportunity to move code out of the helpers.js.
Only 616 more lines to go.
11 years ago
Matt Corallo 4efb8a2616 Fix NaCL (maybe it should be removed?) 11 years ago
Matt Corallo 6bc19ef558 More namespacing 11 years ago
Matt Corallo 05101b69b0 Some initial helpers.js namespaceing 11 years ago
Matt Corallo 07a23f0759 Fix attachments 11 years ago
Matt Corallo 3103eaa192 Commit broken attachment loader (S3 403s I can't figure out...) 11 years ago
Matt Corallo ea1bd535dc Fix interpretation of prekeymsg.registrationId 11 years ago