Commit graph

920 commits

Author SHA1 Message Date
lilia
258a872ce3 Trigger update events after attachments load
Mostly so we can ensure we're scrolled to the bottom when the
conversation is loaded.
2015-03-03 13:23:55 -08:00
lilia
f9ca13a86f DRY up audio and video views 2015-03-03 13:05:39 -08:00
lilia
df06499a19 Use blob urls to display attachments
Converting attachment data to base64-encoded data uris takes O(n) and
there's no need! URL.createObjectURL returns a magic link that can be
set as the `src` attribute to `img`, `video`, and `audio` tags to load
blob data directly without copying.

https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
2015-03-03 13:05:24 -08:00
lilia
4f5d3f0080 s/End Session/Reset Session/
Use the friendlier sounding copy from iOS.
2015-03-03 11:40:30 -08:00
lilia
11bdc58701 Update CONTRIBUTING.md 2015-03-03 11:15:28 -08:00
lilia
4cefd17ac6 Remove unused view 2015-03-03 10:55:04 -08:00
lilia
9d94bce92a After clearing messages, leave conversation open
Fixes #178
2015-03-03 10:39:10 -08:00
lilia
ce5f6e41a8 Add missing images 2015-03-02 23:23:11 -08:00
lilia
0778854cc4 Attachments should be in spans, not divs 2015-03-02 18:37:20 -08:00
lilia
88a708ce03 Fix file inputs on inbox view 2015-03-02 18:32:41 -08:00
lilia
1311f7c9ae Fix attachment previews for audio/video files 2015-03-02 18:27:14 -08:00
lilia
6fe262ceed Lazy init file input's FileReader 2015-03-02 18:01:59 -08:00
lilia
c8274d7bc7 Give video elements black backgrounds 2015-03-02 17:53:44 -08:00
lilia
db7dee9a8a Fixup file size warning
Add contentType-specific limits, switch to lazy-init iff we encounter an
oversized file, and restyle as a toast, factoring out a generic
ToastView along the way.
2015-03-02 17:50:03 -08:00
lilia
ddc0ed1b9a Add audio and video players
Basic implementation using html5 audio/video tags and data URIs.
2015-03-02 15:49:14 -08:00
lilia
aa659877be Fix broken file input view 2015-03-02 15:35:04 -08:00
lilia
dcc1588219 Add key verification screen
Accessible from the menu on private conversations.
2015-02-26 22:26:46 -08:00
lilia
33b9a11e65 Always overflow: auto 2015-02-26 22:19:06 -08:00
lilia
1e45c089dd Remove obsolete native client divs 2015-02-26 15:22:14 -08:00
lilia
c08c29bd4a Render group members in the message detail view
This requires that we fetch contact info when opening a conversation
so that's available for rendering contact names and avatars.
2015-02-26 13:35:04 -08:00
Matt Corallo
2277b41639 Remove non-existant device messages 2015-02-26 12:13:56 -08:00
Matt Corallo
5abf3073d5 Check END_SESSION messages in processDecrypted 2015-02-26 12:11:05 -08:00
Matt Corallo
29192edcb8 Ignore END_SESSION on messages with a sync context 2015-02-26 12:11:04 -08:00
Matt Corallo
9c3f8a1868 Dont send group-update right before we quit the group
Fixes #166
2015-02-25 15:59:49 -08:00
lilia
fd30dc6f1a Add message detail view 2015-02-23 14:03:35 -08:00
lilia
368cd2f79a Refactor back button style
Make it easier to reuse these styles.
2015-02-23 12:52:15 -08:00
lilia
d0392a3e04 Refactor title bar text style 2015-02-23 12:07:06 -08:00
lilia
f35e8f347e Add grunt watch tasks to rebuild libs 2015-02-23 11:58:21 -08:00
lilia
e96aa2f06e Remove obsolete script tags
For the recently deleted notifications.js
2015-02-23 11:57:57 -08:00
lilia
b1035c23e5 Preserve whitespace in _concat files
This is a whitespace-only change. The diff is best viewed
with the `--patience` flag.

Some component library sources include trailing whitespace and carriage
returns which were excluded from these compiled files, (but somehow
still included in the final libtextsecure build). Although superfluous,
excluding these characters from these files means that I end up with
spurious changes whenever I rebuild them.
2015-02-20 15:34:49 -08:00
Matt Corallo
f2853d00e6 Merge pull request #167 from WhisperSystems/sync
Sync outgoing individual and group messages
2015-02-20 12:39:26 -08:00
lilia
f860cb4492 Return end session messages to the frontend
So we can save them in the message history, and because the caller
expects a promise.
2015-02-20 10:30:43 -08:00
lilia
55c46d1bb6 Close conversation menu when clicking outside it 2015-02-19 11:55:31 -08:00
lilia
4945180c12 Constrain .end-session style to the .message-list
It was incorrectly being applied to the End Session menu item.
2015-02-19 11:53:33 -08:00
lilia
e853c21c98 Remove unused code
There is no .settings-btn or .go-back in this view.
2015-02-19 11:00:29 -08:00
lilia
ec43a0b633 jshint all the things
Small style fixes here and there. Removed one unused file.
2015-02-19 00:22:23 -08:00
lilia
76da5bb4f9 Add background.js to jshint 2015-02-18 23:59:41 -08:00
lilia
09704444e9 Fix missing delivery receipt checkmarks
The delivered class should be updated on each render to ensure it is
up to date.
2015-02-18 23:57:19 -08:00
lilia
06e8e0dca7 Remove an extension.trigger
No need to trigger an extension-wide event now that all our models live
in the background page. We can just update them more or less directly.
2015-02-18 23:56:13 -08:00
lilia
626b63ee7c Fix some jshints 2015-02-18 23:41:45 -08:00
lilia
3292177a96 Remove resize logic in favor of pure css 2015-02-18 23:09:34 -08:00
lilia
07e44ccf21 Revisit resize and scroll logic once more
Wait a little longer on initial scroll down. Previous timeout sometimes
triggered before all text is finished rendering.

Remove redundant resize calls.
2015-02-18 16:54:43 -08:00
lilia
7231bcd5ce Flesh out font faces 2015-02-18 16:25:39 -08:00
lilia
1bdb42b67e Fix bug loading conversation upsidedown
Sometimes a conversation's messages would be reverse-ordered on first
load, correcting themselves after a refresh. This is an artifact of the
order we load messages from the database. To fix, load them in the
opposite order.

The alternative solution would be to reset the collection every time we
fetch new messages, but this would create an entirely new set of model
objects each time, which seems unnecessary.
2015-02-18 15:40:34 -08:00
lilia
296dae544d Open conversation on receiving a message w/ errors 2015-02-18 12:17:46 -08:00
lilia
955ef60292 Fix list_view-related error in background page
Background page conversations were trying to trigger events on the inbox
list view which had been destroyed, resulting in a background page
console error of "can't read innerHeight of null".

Avoid this by removing listeners when the inbox window is closed.
2015-02-18 11:26:18 -08:00
lilia
1c589f2fad Fix list_view.js and message_view.js whitespace 2015-02-18 00:11:35 -08:00
lilia
61581bae7f Fix inbox comparator 2015-02-18 00:11:35 -08:00
lilia
4716754209 Refactor content message class names 2015-02-18 00:11:35 -08:00
lilia
40351fcc54 Sync outgoing messages
When sending an constrct a copy of the PushMessageContent protobuf, add
a SyncMessageContext, and send it to ourselves. Do this for all kinds of
group messages, and individual text/media messages, but not closeSession
messages as the latter are device-specific.

Do not sync messages if we are the primary device, which should only be
supported in development. Normal web clients must be paired with a
android or ios master device, and even in dev, a primary/standalone web
client does not support linking additional devices.
2015-02-17 14:10:42 -08:00