TODO
-[x] respect order of queue
-[x] replacements
-[x] those w/o completion handler
-[x] basic send+log operation persists
-[x] send+ui completion
-[x] share extension
-[x] update state jobs
-[x] App Lifecyle
-[x] settable
-[x] Mark as ready on startup
-[x] Fail appropriate jobs on startup
NICE TO HAVE
-[x] concurrent per senders
-[ ] longer retry (e.g. 24hrs)
-[ ] App Lifecyle
-[x] retry failed jobs on startup?
-[ ] reachability
DONE
-[x] basic passing test
-[x] datamodel
-[x] queue/classes
TODO:
-[ ] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
-[ ] batch migration?
-[] Backend
-[] indexes e5.25
-[x] wire up results: Contacts / Conversations / Messages actual: 3hr
-[ ] group thread est: actual:
-[x] group name actual: e.25
-[ ] group member name: e.25
-[ ] group member number: e.25
-[ ] contact thread e.5
-[ ] name
-[ ] number
-[ ] messages e1
-[ ] content
-[] Frontend e10.75
-[x] wire up VC's a.5
-[x] show search results only when search box has content a.25
-[] show search results: Contact / Conversation / Messages e2
-[x] wire up matchs
-[] style contact cell
-[] style conversation cell
-[] style messages cell
-[] tapping thread search result takes you to conversation e1
-[] tapping message search result takes you to message e1
-[] show snippet text for matched message e1
-[] highlight matched text in thread e3
-[] go to next search result in thread e2
-[] No Results page
-[] Hide search unless pulled down
Primarly two things:
1. using an extension for the first time per connection is slow
2. fetching the same objects (e.g. if you leave/re-enter the same
conversation)
// FREEBIE
First pass at a swipe-through media view for conversations.
Future work could include
- title label per item
- sender name
- date/time
- photo rail
- include caption
// FREEBIE