Commit Graph

419 Commits

Author SHA1 Message Date
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
lilia d3d84f3124 Let typeahead surface groups with matching members 2015-02-11 17:37:59 -08:00
lilia e149650d94 Refactor typeahead into new conversation view 2015-02-11 17:37:58 -08:00
lilia f207137b35 Customize typeahead tokenizer 2015-02-11 17:37:58 -08:00
lilia c6a19afd29 Tweak contact style in typeahead
Remove message snippets and dates.
Add checkboxes.
2015-02-11 17:37:58 -08:00
lilia 7bcceacf69 Implement typeahead (first pass) 2015-02-11 17:37:58 -08:00
lilia 79cdadd816 Add backbone typeahead component 2015-02-11 17:37:58 -08:00
lilia 79b4c89ce4 Fixup attachment preview 2015-02-11 17:37:58 -08:00
lilia bd86546cea Make chat window titles match contact list 2015-02-11 17:37:58 -08:00
lilia 1a553fef17 Hide file modal until it's needed 2015-02-11 17:37:58 -08:00