{"action":"closed","issue":{"url":"https://api.github.com/repos/AlgorithmLLC/chat-docs/issues/4","labels_url":"https://api.github.com/repos/AlgorithmLLC/chat-docs/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/AlgorithmLLC/chat-docs/issues/4/comments","events_url":"https://api.github.com/repos/AlgorithmLLC/chat-docs/issues/4/events","html_url":"https://github.com/AlgorithmLLC/chat-docs/issues/4","id":62305512,"number":4,"title":"Check list","user":{"login":"b1rdex","id":312855,"avatar_url":"https://avatars.githubusercontent.com/u/312855?v=3","gravatar_id":"","url":"https://api.github.com/users/b1rdex","html_url":"https://github.com/b1rdex","followers_url":"https://api.github.com/users/b1rdex/followers","following_url":"https://api.github.com/users/b1rdex/following{/other_user}","gists_url":"https://api.github.com/users/b1rdex/gists{/gist_id}","starred_url":"https://api.github.com/users/b1rdex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b1rdex/subscriptions","organizations_url":"https://api.github.com/users/b1rdex/orgs","repos_url":"https://api.github.com/users/b1rdex/repos","events_url":"https://api.github.com/users/b1rdex/events{/privacy}","received_events_url":"https://api.github.com/users/b1rdex/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-17T06:33:04Z","updated_at":"2015-03-18T00:28:18Z","closed_at":"2015-03-18T00:28:18Z","body":"## Страница авторизации\r\n  - Отрисовка страницы\r\n  - Вывод ошибки «неверный логин/пароль»\r\n  - Вывод ошибки «нет соединения»\r\n  - Успешная авторизация и подготовка визарда, либо переход в список переписок\r\n\r\n## Визард\r\n  - Установка имени\r\n    - Отрисовка страницы\r\n    - Обработка пустых полей\r\n    - Переход к следующему шагу\r\n  - Установка пароля\r\n    - Отрисовка страницы\r\n    - Обработка ошибки «неверный пароль»\r\n    - Обработка ошибки «пароли не совпадают»\r\n    - Обработка ошибки «пароль не может быть пустым»\r\n    - Обработка ошибки «недостаточная сложность пароля»\r\n  - Установка ключа\r\n    - Отрисовка страницы\r\n    - Установка существующего ключа в качестве активного\r\n    - Генерация нового ключа\r\n    - Загрузка существующего ключа\r\n  - Установка аватара\r\n    - Выбор фото для аватара\r\n    - Создание фото для аватара\r\n    - Выравнивание аватара для обрезки\r\n    - Загрузка аватара на сервер и связывание с пользователем\r\n\r\n## Шторка с меню\r\n  - Отрисовка шторки\r\n  - Переход в чаты\r\n  - Переход к созданию новой группы\r\n  - Переход в настройки\r\n  - Переход в ключи\r\n  - Выход\r\n\r\n## Настройки\r\n  - Отрисовка страницы\r\n\r\n  - Установка имени\r\n    - Отрисовка страницы\r\n    - Обработка пустых полей\r\n\r\n  - Установка пароля\r\n    - Отрисовка страницы\r\n    - Обработка ошибки «неверный пароль»\r\n    - Обработка ошибки «пароли не совпадают»\r\n    - Обработка ошибки «пароль не может быть пустым»\r\n    - Обработка ошибки «недостаточная сложность пароля»\r\n\r\n  - Установка параметров\r\n    - Отрисовка элементов управления\r\n    - Работоспособность смены параметров\r\n\r\n## Управление ключами\r\n  - Отрисовка страницы\r\n  - Отображение активного ключа\r\n  - Установка существующего ключа в качестве активного\r\n  - Генерация нового ключа\r\n  - Загрузка существующего ключа\r\n  - Удаление ключа\r\n  - Экспорт ключа\r\n  - Переход в визард после удаления всех ключей\r\n\r\n## Список переписок\r\n  - Вывод списка переписок\r\n  - Сортировка списка чатов по времени последнего сообщения в переписке\r\n  - Вывод времени последнего сообщения\r\n  - Вывод количества непрочитанных сообщений\r\n  - Вывод последнего сообщения кратко\r\n  - Отрисовка аватаров\r\n\r\n  - Поиск по списку переписок\r\n    - При нажатии на кнопку поиска показать строку поиска\r\n    - При вводе в строку поиска вывод результата поиска\r\n    - Подсветка найденной подстроки в результатах поиска\r\n    - Если ничего не найдено, то вывод сообщения «Ничего не найдено»\r\n  - Фильтр отображения переписок\r\n    - При выборе в фильтре любого значения, кроме «все» ограничивать соответственно вывод\r\n    - Вывод в шапке значения фильтра\r\n  - Отображение статуса контакта онлайн/офлайн\r\n  - Отображение переписки с неавторизованным контактом \r\n  - При клике на кнопку создать группу перейти к созданию группы\r\n\r\n## Работа с диалогом с одним контактом\r\n  - Отображение в шапке Аватар + Имя/Фамилия\r\n  - Отображение статуса контакта\r\n\r\n  - Панель диалогов\r\n      + Скрытие панели диалогов, если диалог один\r\n      + Показать панель диалогов, если диалогов больше одного\r\n      + Отображение количества непрочитанных сообщений в скрытых диалогах\r\n      + Отображение количества скрытых диалогов\r\n      + Вывод модально списка скрытых диалогов при нажатии на «еще»\r\n      + При нажатии на название диалога показ меню действий с диалогом (переименовать/удалить(необязательно))\r\n      + При нажатии на кнопку «переименовать» открыть экран переименования диалога\r\n\r\n  - Переименование диалога\r\n      + Обработка ввода пустого имени для диалога\r\n      + Обработка корректного переименования диалога\r\n\r\n  - Удаление диалога\r\n      + Вывод модалки подтверждения удаления диалога\r\n      + Обработка удаления диалога\r\n      + При нажатии на кнопку «меню» выводить меню (Новый диалог/Звонок/Видеозвонок)\r\n      + Переход на звонок\r\n      + Переход на видеозвонок\r\n      + Переход на экран создания диалога\r\n\r\n  - Создание диалога\r\n      + Обработка ввода пустого имени для нового диалога\r\n      + Обработка создания нового диалога\r\n\r\n  - Карточка контакта\r\n      + При клике на имя контакта делать переход в карточку контакта\r\n      + Отображение карточки контакта\r\n\r\n## Работа с группой\r\n  - Создание группы\r\n    - Первая страница создания группы\r\n      + Отрисовка страницы\r\n      + Обработка ввода пустого названия группы\r\n      + Обработка задания аватара группы\r\n      + Обработка успешного задания аватара/названия и переход ко второй странице\r\n    - Вторая страница создания группы\r\n      + Отрисовка страницы\r\n      + Вывод контактов при поиске\r\n      + Вывод выбранных контактов\r\n      + Удаление контакта из списка выбранных\r\n      + Вывод количества выбранных контактов\r\n      + Обработка создания группы с выбранными параметрами\r\n\r\n  - Карточка группы\r\n    - Отрисовка карточки группы\r\n    - Редактирование названия группы в карточке (не реализовано)\r\n    - Удаление участника из группы (не реализовано)\r\n    - Добавление участника в группу (не реализовано)\r\n\r\n## Особые случаи с диалогом в группе\r\n  - Отображение в шапке Аватар + Название группы\r\n  - Вывод сообщений с имя/фамилия\r\n\r\n  - Карточка группы\r\n      + При клике на имя группы переход в карточку группы\r\n      + Отображение карточки группы\r\n\r\n## Вывод сообщений\r\n  - Вывод временных меток\r\n\r\n  - Полученные\r\n      + Вывод текстового сообщения\r\n      + Вывод даты сообщения\r\n      + Вывод удаленного сообщения\r\n      + Вывод отредактированного сообщения\r\n      + Вывод сообщения с файлом/файлами\r\n      + Вывод сообщения с аудиозаметкой\r\n      + Вывод сообщения о пропущенном звонке\r\n      + Вывод сообщения о завершенном звонке\r\n      + Подсветка непрочитанных сообщений\r\n\r\n  - Отправленные\r\n      + Вывод текстового сообщения\r\n      + Вывод даты сообщения\r\n      + Вывод удаленного сообщения\r\n      + Вывод отредактированного сообщения\r\n      + Вывод сообщения с файлом/файлами\r\n      + Вывод сообщения с аудиозаметкой\r\n      + Вывод сообщения о неотвеченном звонке\r\n      + Вывод сообщения о завершенном звонке\r\n      + Вывод метки об успешной отправке сообщения\r\n      + Вывод метки о доставке сообщения\r\n      + Вывод метки о прочтении сообщения\r\n\r\n  - Сервисные\r\n      + Вывод анонимного сервисного сообщения\r\n      + Вывод отправленного сервисного сообщения\r\n      + Вывод полученного сообщения\r\n\r\n## Создание сообщения\r\n  - Корректная работа ввода текста\r\n  - Работа с емоджи\r\n  - Прикрепление файлов к сообщению\r\n  - Создание аудиозаметки\r\n  - Запрет на отправку сообщения до окончания шифрования и прикрепления файлов\r\n  - Корректная отправка сообщения\r\n  - При долгом нажатии на своё сообщение показывать выбор действия (копировать/удалить/редактировать)\r\n\r\n## Редактирование сообщения\r\n  - Подсветка редактируемого сообщения\r\n  - Редактирование в основном поле ввода\r\n  - Запрет на изменение вложений\r\n  - Корректное удаление сообщений\r\n\r\n## Работа с настройками, полученными с сервера\r\n  - key_management_by_user\r\n      - Если false\r\n          - Скрыть элементы интерфейса для создания ключей\r\n          - Запрет на создание ключей\r\n  - contactlist_management_by_user\r\n      - Если false\r\n          - Скрыть кнопку включения глобального поиска\r\n          - Скрыть кнопку отмены авторизации пользователя\r\n          - Скрыть кнопку удаления пользователя из списка контактов\r\n          - Не выводить сообщения управления авторизацией\r\n\r\n## Управление списком контактов\r\n  - Контакт без подтвержденной с авторизации\r\n      + Показывать контакт в списке переписок\r\n      + У контакта везде показан только никнейм\r\n      + В сообщениях от этого контакта показан только никнейм\r\n      + При нажатии на никнейм неавторизованного сообщения показывать модалку (Отправить пользователю %никнейм% запрос на добавление в ваш список контактов?)\r\n  - Статусы авторизации\r\n      - Контакт запросил у вас авторизацию \r\n          - При входе в диалоги показывать в шапке сообщение со статусом авторизации(Пользователь хочет добавиьт вас в свой список контактов) и кнопками (подтвердить авторизацию/отклонить/удалить из контактов)\r\n      - Вы или контакт разорвал авторизацию\r\n          - При входе в диалоги показывать в шапке сообщение со статусом авторизации(Авторизация отменена) и кнопками (запросить авторизацию /удалить из контактов)\r\n      - Вы запросили авторизацию\r\n          - При входе в диалоги показывать в шапке сообщение со статусом авторизации(Пользователю отправлен запрос на авторизацию) и кнопками (Отправить повторно /удалить из контактов)\r\n\r\n## Поиск\r\n  - При неудачном поиске в вашем списке переписок, показывать кнопку включения глобального поиска.\r\n  - Выводить результаты глобального поиска\r\n  - Каждый результат глобального поиска имеет никнейм найденного пользователя и кнопку «Добавить»\r\n  - После нажатия кнопки «добавить» идет получение необходимой информации о пользователе и добавление в список контактов. Далее открывается экран диалогов с этим пользователем"}}