Commit graph

1130 commits

Author SHA1 Message Date
lilia
e8b4bd708e Fix lint warnings 2015-08-27 17:45:23 -07:00
lilia
9e79ecddf8 Fix scroll stickiness while hidden
Fix bug: Open thread A, open thread B, receive message in thread A, open
thread A. Scroll bar has reset to the top.
2015-08-27 16:25:35 -07:00
lilia
e3c56a0c03 Refactor and remove old window mgmt code/globals 2015-08-27 15:23:22 -07:00
lilia
3bc64cbed5 Remove unused function 2015-08-27 15:04:43 -07:00
lilia
21aaf0fab5 Clean up notification and unread indicator behavior 2015-08-27 15:04:43 -07:00
lilia
e0f84d9c8e Clear unread on focus iff convo is open 2015-08-27 15:04:43 -07:00
lilia
baa55c9018 Refactor for less model duplication 2015-08-27 12:38:51 -07:00
lilia
c4eac76032 Fix for new contact button bug 2015-08-26 22:33:00 -07:00
lilia
a5a1dad03c Redelegate events for new contact view
And rename for consistency

// FREEBIE
2015-08-26 17:52:44 -07:00
lilia
3569050cb6 Make conversation list fill gutter 2015-08-26 17:48:18 -07:00
lilia
17051cef9d Only add loading class from inbox 2015-08-26 17:48:02 -07:00
lilia
fbc73c0369 Add spinner for long-loading message lists 2015-08-26 17:30:20 -07:00
lilia
992dfa5b20 Bug fixes for group create flow
Fallout from layout change.

// FREEBIE
2015-08-26 17:11:01 -07:00
lilia
39d13d5e45 Quiet notifications if the window is open
Draw attention to the window instead.

// FREEBIE
2015-08-26 16:10:44 -07:00
lilia
0b98043c1c Add a worker
Offload all the asm.js code to a second thread. This is usually the
source of intermittent frontend freezes when running single-threaded.
2015-08-26 16:09:58 -07:00
lilia
d07357ce9a Retool various sub-screens to fit two-column layout 2015-08-26 15:15:14 -07:00
lilia
c780713a26 Fix up socket status display 2015-08-26 10:31:16 -07:00
lilia
bcec207674 Mark read when opening a conversation 2015-08-26 10:12:05 -07:00
lilia
877b34579a Fix heade text style 2015-08-26 10:11:40 -07:00
lilia
00ef30b283 Remove css maps from git 2015-08-25 17:06:00 -07:00
lilia
d6a4e6e496 Restore two column layout
Establishes basic functionality for viewing conversations in two column
mode, including message area and message list resizing, and maintaining
scroll position.

Various subviews need to be retooled but are more or less still
functional, i.e., new message, message detail, key verification, etc...
2015-08-25 17:01:22 -07:00
lilia
00dfcbb462 Change websocket closed message 2015-08-24 09:10:48 -07:00
lilia
c3d3ec125d Wait for contact sync before opening inbox
Use a canned bootstrap progress animation in lieu of better design.

Fix #271 // FREEBIE
2015-08-06 12:35:06 -07:00
lilia
4f1ce4c493 Assume unknown recipients are single-device
Start by requesting keys for only the master device, then handle 410 as
needed. Single-device users are the more common case and this strategy
lets us avoid requesting/expending one of our own device keys when
establishing a session with sibling devices.

// FREEBIE
2015-08-05 16:06:28 -07:00
lilia
82431c3c12 Update compose typeahead after fetching
Fixes #322

// FREEBIE
2015-08-05 11:20:18 -07:00
lilia
001a91466b Add group member list // Closes #279 2015-08-04 12:15:37 -07:00
lilia
a3054bbe71 Update contributing.md
Because some people still aren't getting it... Also test docs were out
of date. Closes #321
2015-08-03 17:17:43 -07:00
lilia
98a14e9a6a Fix bug in message model
conversation.changedAttributes returns false when there are no changes.
2015-08-03 11:02:54 -07:00
lilia
3e73f8f0ba Resolve conflicts in series
Attempting to resolve outgoing conflicts in parallel triggers multiple
requests for new keys from the server and causes it to return a 500
error.
2015-08-03 11:02:54 -07:00
lilia
f3f084398f Handle identity key errors when retrying decrypt
After setting a new identity key as trusted, we retry decryption on all
pending conflicts for that contact. If their identity changed twice in a
row, we can still get a conflict the second time, and should handle it
appropriately.
2015-07-31 17:28:25 -07:00
lilia
ccfae3c78a Fix bug in identity key conflict edge case
When resolving conflicts, we should not only discard the old key, but
set the new trusted key to the one the user has verified. Previously, we
would end up trusting the first-seen new key, which may not be the one
the user verified.

 // FREEBIE
2015-07-31 17:01:03 -07:00
lilia
d808d255eb Fix bug with 0th contact color
Contact color css class wasn't being rendered because 0 is falsey.

// FREEBIE
2015-07-31 17:01:03 -07:00
lilia
47b58b8994 Use the correct number of contact colors
Bugfix from 2f12275
2015-07-31 11:13:30 -07:00
lilia
4fc4573de4 Don't try to sync after single device registration
There's no other device to sync to. :p
2015-07-31 11:11:23 -07:00
lilia
2f12275cb9 Update contact colors
Make default contact color assignments consistent with
WhisperSystems/Textsecure@99d3a76b
2015-07-31 11:07:42 -07:00
lilia
b3d93ab334 Request group sync when pairing
Whoops, missed a step. Fixes #319. Fixes #276.

// FREEBIE
2015-07-29 19:06:19 -07:00
lilia
c89d5e59a3 Fixup saucelabs
For some reason, today, firefox sessions fail to spin up when the
platform is not explicitly set to linux.
2015-07-29 17:45:57 -07:00
adambar
d93bacb76e Fix for too eager scrolling to bottom when the scroll isn't actually stick to the bottom before resizing the window 2015-07-29 15:28:08 -07:00
adambar
1498d90b58 Maintain bottom-most scroll position when resizing conversation area, once again.
Related with #278. Redone to include keeping scroll at the bottom when resizing the window, as suggested in #305, and to better fit the current code structure.
2015-07-29 15:28:08 -07:00
lilia
56b6375f97 Use new provisioning socket keepalive path
This new endpoint should always issue a response to a provisioning
socket so if we don't receive one we should assume the connection has
been lost.

Closes #318
2015-07-29 13:37:17 -07:00
lilia
2b563212b4 Change default for keepalive autodisconnect config
By default, automatically disconnect if no response. This is preferable
because we can sometimes lose connectivity without receiving a close
event from the socket, but it's also possible that the endpoint may not
support responses.

// FREEBIE
2015-07-29 11:30:58 -07:00
lilia
fdad87b6a0 Add minimum window dimensions
Fixes #310

// FREEBIE
2015-07-29 11:30:58 -07:00
lilia
05e81a3604 Let grunt-saucelabs wait a little longer for status 2015-07-28 17:36:59 -07:00
lilia
88363daecf Migrate to new travis infrastructure
http://docs.travis-ci.com/user/migrating-from-legacy
2015-07-28 17:19:11 -07:00
lilia
ebca58b282 Fix multiple calls to done
Triggered by multiple keepalives.
2015-07-28 17:11:11 -07:00
lilia
9f8b632fb5 Fix up sauce config 2015-07-28 17:08:30 -07:00
lilia
8851a64bce Increase saucelabs test timeout
We now have 4 tests that take roughly a minute each since they are
testing keepalive timeouts.
2015-07-28 15:42:19 -07:00
lilia
7c0eb5e080 Add keepalive reset test 2015-07-28 14:59:16 -07:00
lilia
01ca1be24e Fix test 2015-07-28 14:59:09 -07:00
lilia
1a06cb5cbe Update consumers of WebsocketResources 2015-07-28 14:58:55 -07:00