Commit graph

428 commits

Author SHA1 Message Date
lilia
44b1e5c88e Move inbox collection to the background page
No more waiting, no more messy fetch logic. Background page
bootstraps the inbox and keeps it up to date.
2015-02-12 13:21:17 -08:00
lilia
a5bc261365 Clear selected files after each sent message 2015-02-12 13:21:17 -08:00
lilia
2de682ef7b Don't create a group without a name 2015-02-12 13:21:17 -08:00
lilia
d5c85dfbd8 Resize inbox listview after it finishes loading
Ensures that scrollbars are properly setup on load.
2015-02-12 13:21:17 -08:00
lilia
4422582ab7 Fixup opening existing private conversations 2015-02-12 13:21:17 -08:00
lilia
200981e022 Avoid adding empty-string numbers to recipients 2015-02-12 13:21:17 -08:00
lilia
3a099657e6 Untangle select vs open events 2015-02-12 13:21:17 -08:00
lilia
b27826cba5 Conversations must have an id before saving 2015-02-12 13:21:16 -08:00
lilia
a7a44e9b99 Swap in unminified typeahead code
For your debugging and auditing convenience.
2015-02-12 13:21:16 -08:00
lilia
9087918500 Don't add new convos to inbox until a message is sent 2015-02-12 13:21:16 -08:00
lilia
af49ad9b90 Dry up new contact init and handling 2015-02-12 13:21:16 -08:00
lilia
63d232dedb Draw attention to invalid numbers 2015-02-12 13:21:16 -08:00
lilia
746e6530b9 WIP pill view for selected recipients 2015-02-12 13:21:16 -08:00
lilia
c84ccfc735 Wrap model phonenumber validation in try/catch 2015-02-12 13:21:15 -08:00
lilia
eae072e72d Remove unneeded var, add todo 2015-02-12 13:21:15 -08:00
lilia
fc3a600e72 Validate conversation type 2015-02-12 13:21:15 -08:00
lilia
5e3ed1658b Show phone numbers in contact selector 2015-02-12 13:21:15 -08:00
lilia
9e245e67e0 Fix double-opening exsisting conversations from typeahead 2015-02-12 13:21:15 -08:00
lilia
b2345a5ec8 Remove unused variable 2015-02-12 13:21:15 -08:00
lilia
ce4ce164af Stop clobbering conversation attributes
Unless the background page fetches the latest details of a conversation
before updating it, it may clobber or nullify some attributes e.g., the
contact's name.
2015-02-12 13:21:15 -08:00
lilia
aca3db97da New messages auto-update the inbox & conversation
When a new message arrives, if its conversation is not already opened,
the background page opens it. If it is alrady open the window is
focused. Finally, the 'message' event is triggered, resulting in
   1. the inbox refetches conversations
   2. all conversations fetch new messages

TODO: only send this event to the target window
2015-02-11 17:38:03 -08:00
lilia
db5e7fd6b6 Fix list view scrolling
Resize handlers are ugly. But not as ugly as scroll handlers. :p
Normalized some whitespace along the way.
2015-02-11 17:38:03 -08:00
lilia
0f29cf2043 Put spaces between joined members in group updates 2015-02-11 17:38:01 -08:00
lilia
d435ff003b Improve typeahead contact selector experience
Store and match on various phone number formats. Still not perfect, as
occasionally all the models are returned for a non-matching query.
2015-02-11 17:38:01 -08:00
lilia
acc2c6f536 Sort contact selector by title 2015-02-11 17:38:01 -08:00
lilia
51dd287b60 Break up a long line 2015-02-11 17:38:01 -08:00
lilia
a00632c728 Hook up group creation flow UI
Checkboxes add and remove members as well as exposing the group update
ui. The conversation window is opened after saving the group.
2015-02-11 17:38:01 -08:00
lilia
b3e32a2642 Only load contacts (not groups) in the typeahead 2015-02-11 17:38:01 -08:00
lilia
2f93fb9fbc Remove unneeded comparator
This collection is just an in-memory indexer used for typeaheads. For
display, the matching models are added to a separate collection. Thus,
the order of the elements in the typeahead collection does not matter.
2015-02-11 17:38:01 -08:00
lilia
0d6fbabb3e Trigger a checkbox event from conversation list items 2015-02-11 17:38:01 -08:00
lilia
e05405e832 Format phone numbers before saving conversations
Saving the national and internation versions of the number lets us use
those attributes in a typeahead collection.
2015-02-11 17:38:01 -08:00
lilia
ed928aa4e3 Add index on conversation type
So we can load only groups or only contacts.

This changes the schema and requires you to delete your database to
re-run the migration.
2015-02-11 17:38:01 -08:00
lilia
3d5553df09 Remove listener for model open event 2015-02-11 17:38:01 -08:00
lilia
87cd3f5053 Save and open new contact on click 2015-02-11 17:38:00 -08:00
lilia
17f3263a21 Listen for escape key anywhere in the inbox 2015-02-11 17:38:00 -08:00
lilia
070393170c Auto-focus new conversation input field 2015-02-11 17:38:00 -08:00
lilia
b1ad04298f Add title bar label to new conversation view 2015-02-11 17:38:00 -08:00
lilia
d26dc8c7e6 Move openConversation handler to InboxView
Removes the background page ref to inbox which should fix view tests.
Prep for handling new contact creation.
2015-02-11 17:38:00 -08:00
lilia
1eab26635b Remove unused variable 2015-02-11 17:38:00 -08:00
lilia
9a6c6bcd98 Reset the typahead before showing it 2015-02-11 17:38:00 -08:00
lilia
b13e36a11c Style conversation menu 2015-02-11 17:38:00 -08:00
lilia
80ce2d95e0 Sort contacts by name in compose flow 2015-02-11 17:38:00 -08:00
lilia
6d81011f6a Add back button to compose view 2015-02-11 17:38:00 -08:00
lilia
fedfdcdd7e Style elements for compose flow 2015-02-11 17:37:59 -08:00
lilia
17deb69a91 Make conversation panel work with a new contact
Prevent view from fetching messages without an id, as this causes a
crash.
2015-02-11 17:37:59 -08:00
lilia
5762724709 Don't show new contact unless input may be a phone number 2015-02-11 17:37:59 -08:00
lilia
4ee4872b27 Stop matching typeahead against group members
It feels a little weird when you can't see the matching member. Would
consider putting this back in if we display the member list in the
contact list item view.
2015-02-11 17:37:59 -08:00
lilia
00e9e3b757 Setup loading gif on conversation list
TODO: get actual gif asset in there.
2015-02-11 17:37:59 -08:00
lilia
cc0acc56dd Initially hide newConversationView 2015-02-11 17:37:59 -08:00
lilia
613dc3bedd Start on support for messaging a brand new contact 2015-02-11 17:37:59 -08:00