lilia
cd55c0a1f1
Put groupid back in id field also
11 years ago
lilia
0bd5f3e3c2
If for some reason a group has no name, provide a default
11 years ago
lilia
0036e4ef74
Store group ids as strings
11 years ago
lilia
8288e298fc
Group ids should be converted to ArrayBuffers for transport
11 years ago
lilia
143254cec8
Group ids are stored in groupId
11 years ago
lilia
bbe57ef0bf
Stringify incoming group ids
...
Otherwise when we try to make their local storage keys they look like:
"egroupByteBuffer(offset=4,markedOffset=-1,length=28,capacity=112)"
11 years ago
lilia
4f21bbd21f
Use textsecure.messaging to create groups
...
Not textsecure.storage. Sigh. Also accomodate the fact that
the group id is not returned directly, but rather at the end
of a promise chain.
11 years ago
lilia
fa4c385598
Make initial timestamp on a thread match the 1st message
11 years ago
lilia
f14cd2eed1
Don't validate presence of thread id
...
It's undefined until the first save();
11 years ago
lilia
7e9c0e2394
Group ids should be strings (or stringables)
...
ArrayBuffer was a bad choice.
11 years ago
lilia
6db3eeb52e
Convert incoming timestamps into numbers
...
Fixes #59
protip: don't use << for anything over 2^32. The operands of all bitwise
operators are converted to signed 32-bit integers
11 years ago
lilia
d7edfd4efb
Remove reference to undefined function
11 years ago
lilia
43f4f6cf99
Open a group's view after it's created
11 years ago
lilia
320d1f18ae
Fix exception when protbuf-encoding groupIds
...
An exception is thrown when protobuf tries to encode a number as the
group id, which is declared to have type 'bytes'.
Fix by make it an ArrayBuffer instead, and increase the length to 16,
which is what the Android client uses:
c632b32ff8/src/org/thoughtcrime/securesms/database/GroupDatabase.java (L222)
11 years ago
lilia
5b0573293f
Fix references to GroupContext Type ENUM values
11 years ago
lilia
01f9fc1f17
More frontend groups fixes
11 years ago
lilia
e89e691957
Fix bug in groupId generation
...
Previously, if calling createNewGroup with an undefined groupId,
no groupId was generated.
This occurred because no entry for "group" + undefined exists in
localStorage, which caused this code to think undefined was a
valid group id.
Fixed by adding `|| groupId == undefined` to the while clause.
Also decoupled the groupId collision check for clarity.
11 years ago
lilia
dc41ebf701
Small frontend fixes for the new group view
11 years ago
lilia
2bd77693e1
Refactor options page and style using bootstrap
11 years ago
lilia
81e4af5827
Move phonenumbery utils to libphonenumber object
...
Slowly whittling away at helpers.js...
11 years ago
lilia
9fc14cfa30
Remove erroneous comment re: MDN copyright
...
In fact, the code samples we have copied from MDN are declared to be
public domain (see link below):
"Code samples added on or after August 20, 2010 are in the public
domain."
https://developer.mozilla.org/en-US/docs/MDN/About#Copyrights_and_licenses
AFAICT we're using code from this page, last updated 10/4/14:
https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
11 years ago
lilia
75e78caec8
Function-wrap options.js
11 years ago
lilia
683c373943
Relaxes verification code validation
...
When codes are sent they are formatted as xxx-xxx. Previously when I
would paste these from GVoice they failed validation thanks to the dash
and whatever whitespace I happened to grab.
11 years ago
lilia
27708cd8d7
Switch to staging. -ca is now production
11 years ago
lilia
0f4b53c176
Update records list in BBLocalStorage on fetch
...
Previously, would only update the known messages.
11 years ago
lilia
2288f8adc1
Fix new group ui not showing
11 years ago
lilia
266600e5ab
There's no need to wrap this function inside a function afaict
11 years ago
lilia
ae98b8680f
Fix whitespace in popup.js
...
Our official standard is 4 space indentation.
11 years ago
lilia
ef066ea9d2
Make conversations open when they are created
11 years ago
lilia
230d24a69e
Views already have a #remove()
11 years ago
lilia
db86abdf70
Add list view tests
...
Also,
* moved fetch out of the list view
* removed unused #last() function
* put test setup lines in their own tiny file.
* added data-cover to view script tags for code coveage reports.
11 years ago
lilia
ad7456b367
Refactor away this poorly named and overloaded file
11 years ago
lilia
b9640a54bd
Move new convo stuff to its own file
11 years ago
lilia
9af18ce6ae
Encapsulate page layout js
...
The layout class is the only class that should have knowledge of
page-level constant markup, such as #gutter and #contacts, and
should be pretty much the only place we find elements by id (with
the exception of template elements).
This change removes references to #gutter from views. Rather than
hardcoding assumptions about page layout, view elements should
ask the layout to insert themselves into the main content area by
calling Whisper.Layout.setContent.
11 years ago
lilia
5ddcc516e4
remove extra insertion, it's already happening
11 years ago
lilia
2f0b0f7a1b
Get overflow scrolls working
...
Had to resort to a resize event handler.
A bit slow at times, but it works.
11 years ago
lilia
546cdf82cb
Fix some markup issues
...
* Remove spurious search div
* Fix nested uls
* Use class name selected, not closed (the inverse)
* Restor nacl div
11 years ago
lilia
c2beda8e40
Get single recipient message composition working again
11 years ago
lilia
c034ac8267
Refactor components for the main content section
...
Each conversation views now manages its own separate elements
rather than all binding to a shared #conversation element, and
similarly for message composition ui.
Also includes the beginnings of group creation UI (not working yet),
featuring bootstrap-tagsinput field for entering group recipients
11 years ago
lilia
8d83a8fb27
This element is constant, so let's bootstrap it
11 years ago
lilia
5f74a60364
Format thread timestamps
11 years ago
lilia
44f272a181
Get messages sending with new ui
...
Also convert index.html to 4-space indentation.
11 years ago
lilia
95c31629b7
get frontend rendering with new markup/css
11 years ago
lilia
850a91c77d
Fix message sending
11 years ago
lilia
0741c74618
Don't recreate views unnecessarily
...
Let ConversationListItemView save a reference to its corresponding
ConversationView. This lets it render or delegate/undelegate events
when opening and closing a conversation.
Similarly for ConversationView itself, which contains a MessageListView.
11 years ago
lilia
9d0be46a53
Close an open conversation before opening another
11 years ago
lilia
bbb5d56516
Don't reopen a currently selected conversation
11 years ago
lilia
98cfc1b701
Remove old convo compose view
11 years ago
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
12 years ago
Matt Corallo
ceca03c5d0
Close chainKey.key
12 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.
12 years ago