Project

General

Profile

Wiki » History » Version 5

Redmine Admin, 07/23/2026 09:09 PM

1 5 Redmine Admin
# Green Chat 0.2.2 — памятка бета-тестера
2 1 Redmine Admin
3 5 Redmine Admin
Спасибо, что участвуете в тестировании Green Chat. Эта памятка объясняет,
4
как подготовиться к бете, что особенно важно проверить в версии 0.2.2 и как
5
составить полезный баг-репорт.
6 1 Redmine Admin
7 5 Redmine Admin
## Версии беты 0.2.x
8 1 Redmine Admin
9 5 Redmine Admin
Текущая версия — **0.2.2**. Памятка покрывает все возможности линейки 0.2.x;
10
полные списки изменений по версиям:
11 4 Redmine Admin
12 5 Redmine Admin
- **[0.2.2](beta-changelog-0.2.2.md)** (23 июля 2026) — уведомления, звук и
13
  счётчики при свёрнутом или скрытом в tray окне; быстрое переподключение
14
  после сна компьютера; исправления восстановления личных чатов. Серверных
15
  изменений нет.
16
- **[0.2.1](beta-changelog-0.2.1.md)** (22 июля 2026) — надёжная доставка:
17
  клиент сверяет состояние с сервером и догружает пропущенные сообщения;
18
  восстановление личного чата после logout и повторного входа собеседника;
19
  диагностический лог `glchat.log`. Требует обновлённый сервер.
20
- **[0.2.0](beta-changelog-0.2.0.md)** (20 июля 2026) — роли и управление
21
  участниками каналов, раздел «Треды», карточки профилей, сохранённые
22
  сообщения, история загрузок, просмотрщик изображений и GIF, звуковые
23
  уведомления, отметка вышедших со всех устройств пользователей.
24 1 Redmine Admin
25 5 Redmine Admin
## Перед началом тестирования
26 1 Redmine Admin
27 5 Redmine Admin
1. Установите версию **0.2.2 на все свои устройства**. Старые клиенты
28
   несовместимы с новой синхронизацией участников каналов и могут работать
29
   некорректно.
30
2. Проверьте номер версии в **Settings → Profile**.
31
3. По возможности подготовьте два тестовых аккаунта и два устройства для
32
   одного из аккаунтов. Это позволит проверить доставку, роли и
33
   мультиустройство.
34
4. Не используйте единственный рабочий аккаунт для сценариев с выходом из
35
   системы: logout безвозвратно удаляет историю на текущем устройстве.
36
5. Бета-версия может содержать ошибки. Не отправляйте через неё данные,
37
   потеря которых будет критичной.
38 1 Redmine Admin
39 5 Redmine Admin
## Как устроено хранение сообщений
40 1 Redmine Admin
41 5 Redmine Admin
Green Chat — корпоративный мессенджер со сквозным шифрованием MLS. Сервер
42
хранит сообщения и файлы в зашифрованном виде и не располагает ключами для
43
их чтения.
44 1 Redmine Admin
45 5 Redmine Admin
Из этого следуют важные ограничения:
46 1 Redmine Admin
47 5 Redmine Admin
- история расшифровывается и хранится на устройствах пользователя;
48
- сервер и служба поддержки не могут прочитать переписку или восстановить
49
  уничтоженные ключи;
50
- выход из аккаунта очищает локальную историю и ключи на этом устройстве;
51
- если выйти со всех устройств, прежнюю историю восстановить будет нельзя;
52
- для поиска ошибки особенно важны точное время события, участники, канал и
53
  последовательность действий.
54 1 Redmine Admin
55 5 Redmine Admin
## Что особенно важно проверить в бете 0.2.x
56 1 Redmine Admin
57 5 Redmine Admin
### 1. Обычные сообщения и восстановление соединения (изменено в 0.2.1 и 0.2.2)
58 1 Redmine Admin
59 5 Redmine Admin
- Отправьте сообщения в канал и личный чат.
60
- Проверьте доставку текста, эмодзи, форматирования и ответов в треде.
61
- Полностью отключите сеть на одном из устройств на несколько минут, затем
62
  включите её обратно.
63
- Убедитесь, что клиент подключился самостоятельно и получил сообщения,
64
  отправленные во время офлайна.
65
- Проверьте, что статус online/offline обновляется без повторного открытия
66
  канала.
67 1 Redmine Admin
68 5 Redmine Admin
Сообщение со статусом `sent`, которое после восстановления соединения так и
69
не появилось у получателя, считается важным багом.
70 1 Redmine Admin
71 5 Redmine Admin
### 2. Треды (новое в 0.2.0)
72 1 Redmine Admin
73 5 Redmine Admin
- Создайте несколько тредов в разных каналах.
74
- Откройте раздел **Threads** и проверьте сортировку по последней активности.
75
- Переключите фильтры **All** и **Unread**.
76
- Нажмите на тред в списке и убедитесь, что открылись правильный канал и
77
  исходное сообщение.
78
- Ответьте с `@mention`, добавьте вложение или перетащите файл в область
79
  ответа.
80
- При наличии второго устройства проверьте синхронизацию прочитанности
81
  тредов.
82 1 Redmine Admin
83 5 Redmine Admin
### 3. Роли и участники каналов (новое в 0.2.0)
84 1 Redmine Admin
85 5 Redmine Admin
Для полноценной проверки нужны минимум три аккаунта: владелец, модератор и
86
обычный участник.
87 1 Redmine Admin
88 5 Redmine Admin
1. Создайте приватный канал и пригласите двух участников.
89
2. Убедитесь, что создатель отмечен как owner.
90
3. Назначьте одного участника модератором и затем снимите роль.
91
4. Проверьте, что owner может приглашать и исключать участников.
92
5. Проверьте, что moderator может управлять обычными участниками, но не
93
   владельцем или другим модератором.
94
6. Исключите обычного участника: канал должен сразу исчезнуть у него из
95
   интерфейса, а новые сообщения не должны быть доступны.
96
7. Повторно пригласите участника и убедитесь, что устаревшее событие удаления
97
   не убирает канал снова.
98 1 Redmine Admin
99 5 Redmine Admin
Дополнительно можно проверить выход из канала:
100 1 Redmine Admin
101 5 Redmine Admin
- обычный участник и модератор могут выйти самостоятельно;
102
- owner с другими участниками должен сначала назначить модератора;
103
- при выходе owner владение автоматически переходит назначенному модератору;
104
- из DM выйти нельзя, но его можно скрыть через **Remove for me**;
105
- для публичного канала исключение участника недоступно, поскольку он может
106
  вступить обратно самостоятельно.
107 1 Redmine Admin
108 5 Redmine Admin
### 4. Профили (новое в 0.2.0)
109 1 Redmine Admin
110 5 Redmine Admin
- Заполните аватар, должность, описание и рабочий телефон.
111
- Откройте карточку профиля из сообщения и панели участников.
112
- Проверьте копирование email и телефона.
113
- Измените аватар или данные профиля на одном устройстве и убедитесь, что
114
  изменения появились у другого пользователя без перезапуска приложения.
115 1 Redmine Admin
116 5 Redmine Admin
Поля профиля видны всем пользователям организации — это справочная информация,
117
а не приватная часть переписки.
118 1 Redmine Admin
119 5 Redmine Admin
### 5. Поиск и действия с сообщениями
120 1 Redmine Admin
121 5 Redmine Admin
- Найдите старое сообщение через поиск и перейдите к нему.
122
- Убедитесь, что чат прокрутился к правильному сообщению и выделил его.
123
- Проверьте доступные контекстные действия: ответ, редактирование, сохранение,
124
  закрепление и удаление там, где они разрешены.
125
- Отредактируйте длинное сообщение и ответ в треде: поле ввода должно
126
  увеличиваться вместе с текстом.
127
- Попробуйте превысить допустимую длину сообщения. Клиент должен показать
128
  понятное ограничение, а не зависнуть или молча потерять текст.
129 1 Redmine Admin
130 5 Redmine Admin
Поиск работает по локально доступной истории устройства. Отсутствие сообщения,
131
которого никогда не было на этом устройстве, само по себе не является багом.
132 1 Redmine Admin
133 5 Redmine Admin
### 6. Файлы, изображения и GIF (расширено в 0.2.0)
134 1 Redmine Admin
135 5 Redmine Admin
- выберите файл через кнопку вложения и убедитесь, что он сначала появился в
136
  области подготовки к отправке;
137
- удалите подготовленный файл, не отправляя сообщение;
138
- перетащите файлы в основной чат и отдельно в открытый тред;
139
- вставьте изображение из буфера обмена;
140
- отправьте несколько файлов и проверьте, что они остались в исходном чате,
141
  даже если во время загрузки переключиться на другой канал;
142
- откройте изображение во встроенном просмотрщике;
143
- проверьте воспроизведение GIF и отсутствие чрезмерной нагрузки интерфейса;
144
- удалите собственное сообщение с вложением и убедитесь, что файл больше не
145
  доступен из чата;
146
- скачайте файл и проверьте его содержимое после расшифровки.
147 3 Redmine Admin
148 5 Redmine Admin
Ошибки загрузки, повреждённый скачанный файл, вложение в неправильном канале
149
или зависшая подготовка файла считаются багами.
150 3 Redmine Admin
151 5 Redmine Admin
### 7. Сохранённые сообщения и загрузки (новое в 0.2.0)
152 3 Redmine Admin
153 5 Redmine Admin
- Сохраните сообщения из разных каналов через контекстное меню.
154
- Откройте раздел **Saved**, перейдите из него к исходному сообщению и удалите
155
  закладку.
156
- При наличии второго устройства проверьте, что список сохранённых сообщений
157
  синхронизировался.
158
- Скачайте несколько файлов и откройте раздел **Downloads**.
159
- Проверьте действия **Open file**, **Show in folder** и
160
  **Remove from history**.
161 3 Redmine Admin
162 5 Redmine Admin
Сохранённые сообщения синхронизируются между устройствами и видны только
163
владельцу аккаунта. История загрузок хранится только на конкретном устройстве.
164
Удаление записи из Downloads не удаляет сам файл с диска. Файлы, скачанные до
165
установки 0.2.0, в историю автоматически не добавляются.
166 3 Redmine Admin
167 5 Redmine Admin
### 8. Уведомления и звук (изменено в 0.2.2)
168 3 Redmine Admin
169 5 Redmine Admin
- Перед проверкой убедитесь, что в **Settings → Notifications** выключен
170
  **Pause all notifications**: включённый тумблер намеренно отключает попапы
171
  и звук, при этом сообщения и счётчики продолжают приходить. Кнопка
172
  **Send test** проверяет только доставку до операционной системы и работает
173
  даже при включённой паузе.
174
- В **Settings → Notifications** нажмите **Send test**.
175
- Оставьте окно приложения без фокуса и попросите другого тестера отправить
176
  DM — должен появиться системный попап и прозвучать звук.
177
- Полностью сверните окно или скройте его в tray и попросите отправить ещё
178
  один DM: попап и звук должны прийти, не открывая окно, а после открытия
179
  счётчики и сами сообщения должны уже быть на месте без ручного обновления.
180
- Проверьте `@mention` в канале. Обычное сообщение без упоминания по умолчанию
181
  не показывает попап.
182
- Отключите звук в настройках и убедитесь, что новые сообщения приходят без
183
  звукового сигнала.
184
- Проверьте DND, mute канала и quiet hours.
185
- Полностью закройте приложение через tray → **Quit**, отправьте на аккаунт
186
  DM и проверьте email-уведомление, если SMTP включён на сервере.
187 4 Redmine Admin
188 5 Redmine Admin
Попапы показывает запущенное приложение. После полного выхода через **Quit**
189
desktop-клиент не может показать системное уведомление; в этом случае для DM
190
может прийти только email.
191 4 Redmine Admin
192 5 Redmine Admin
### 9. Несколько устройств
193 1 Redmine Admin
194 5 Redmine Admin
- Войдите на второе устройство по паролю или привяжите его по QR-коду.
195
- Создайте приватный канал и пригласите пользователя с несколькими активными
196
  устройствами.
197
- Убедитесь, что канал, его название и новые сообщения появились на всех
198
  устройствах приглашённого.
199
- Проверьте синхронизацию прочитанности, черновиков, сохранённых сообщений и
200
  скрытых чатов.
201
- Измените аватар и убедитесь, что он обновился на других клиентах.
202
- Закройте одно устройство, продолжите работу на втором, затем верните первое
203
  в сеть и проверьте восстановление состояния.
204 4 Redmine Admin
205 5 Redmine Admin
### 10. Выход со всех устройств (новое в 0.2.0)
206 4 Redmine Admin
207 5 Redmine Admin
Этот сценарий выполняйте только на специально созданном тестовом аккаунте.
208
Перед выходом убедитесь, что клиент подключён к серверу.
209 4 Redmine Admin
210 5 Redmine Admin
1. Выйдите из аккаунта на последнем активном устройстве и подтвердите
211
   предупреждение об удалении истории.
212
2. У другого пользователя аккаунт должен получить отметку **Logged out** в
213
   списке DM, профиле, панели участников и выборе пользователя.
214
3. В существующем DM история должна остаться читаемой, но поле отправки должно
215
   замениться предупреждением.
216
4. Создание нового DM с вышедшим пользователем должно быть заблокировано.
217
5. Отправьте в канал сообщение с его персональным `@mention`: сообщение
218
   должно отправиться остальным участникам, а автор должен увидеть
219
   предупреждение о недоставке упомянутому пользователю.
220
6. Снова войдите этим аккаунтом. Отметка Logged out должна исчезнуть у других
221
   пользователей.
222 4 Redmine Admin
223 5 Redmine Admin
Повторный вход создаёт новое активное устройство, но не возвращает историю,
224
уничтоженную при logout.
225 4 Redmine Admin
226 5 Redmine Admin
## Что обязательно считать багом
227
228
- Падение, зависание или бесконечная загрузка приложения.
229
- Потеря уже отправленного сообщения или его появление в неправильном чате.
230
- Ошибка расшифровки, нечитаемый текст или повреждённый файл.
231
- Получение доступа к чужому каналу, профилю или данным без разрешения.
232
- Возможность обычного участника выполнить действие owner/moderator.
233
- Доступ исключённого участника к новым сообщениям приватного канала.
234
- Расхождение каналов, ролей, сохранённых сообщений или прочитанности между
235
  устройствами, которое не исправляется после переподключения.
236
- Отсутствие DM или `@mention`-уведомления при выполненных условиях доставки.
237
- Неправильный адресат, канал или тред у вложения.
238
- Неработающая кнопка, обрезанный интерфейс или нечитаемый текст, особенно в
239
  тёмной теме.
240
241
Проблемы безопасности, потерю данных и воспроизводимые падения отмечайте
242
приоритетом **High**.
243
244
## Известные ограничения беты
245
246
- Вход обычно доступен только по приглашению; вкладки создания свободного
247
  аккаунта может не быть.
248
- Автоматического обновления нет — новую версию нужно устанавливать вручную.
249
- Windows может показать SmartScreen с предупреждением о неизвестном
250
  издателе.
251
- Неподписанная macOS-сборка может быть заблокирована Gatekeeper. После
252
  переноса приложения в `/Applications` выполните:
253
254
  ```sh
255
  xattr -cr "/Applications/Green Chat.app"
256
  ```
257
258
- На macOS системные попапы бета-сборки могут отображаться от имени
259
  **Script Editor**.
260
- На части серверов отправка файлов и email-уведомления могут быть отключены.
261
- Числовой бейдж учитывает DM и упоминания; обычное непрочитанное сообщение в
262
  канале отображается точкой.
263
- Сообщение `SPKI pin mismatch` после плановой смены серверного ключа требует
264
  повторного входа. Клиент намеренно не принимает новый ключ молча.
265
266
Если поведение не перечислено здесь и выглядит неправильным, лучше отправить
267
репорт.
268
269
## Как оставить баг-репорт
270
271
Трекер:
272
<https://bug.green-lab.space/projects/greenchat/issues/new>. Регистрация не
273
нужна, репорт можно отправить анонимно.
274
275
### Что указать
276
277
```text
278
Краткое название: что сломалось и где
279
280
Шаги:
281
1. …
282
2. …
283
3. …
284
285
Ожидал: …
286
Получил: …
287
288
Окружение:
289
- Green Chat 0.2.2
290
- ОС и версия
291
- один или несколько аккаунтов/устройств
292
- название канала или DM
293
- точное время события и часовой пояс
294
295
Воспроизводится: всегда / иногда / один раз
296
Дополнительно: скриншот или короткое видео
297
```
298
299
Для проблем синхронизации укажите ОС и версию клиента **на каждой стороне**,
300
а также какое устройство было офлайн.
301
302
Трекер публичный. Не прикладывайте пароли, invite-коды, ключи, приватные
303
логи или скриншоты с конфиденциальной перепиской. Перед отправкой замажьте
304
лишние данные.
305
306
### Приоритет
307
308
| Приоритет | Когда использовать |
309
|---|---|
310
| `Normal` | Большинство ошибок интерфейса и поведения |
311
| `High` | Падение, потеря данных, недоставка сообщений, нарушение прав или безопасности |
312
| `Urgent` / `Immediate` | Не выбирайте без отдельной просьбы команды |
313
314
## Быстрая диагностика уведомлений
315
316
1. Нажмите **Settings → Notifications → Send test**.
317
2. Если тест пришёл, проверьте **Pause all notifications**, DND, mute,
318
   quiet hours и фокус окна: Send test обходит эти настройки, а обычные
319
   уведомления — нет.
320
3. Для канала используйте персональный `@mention`; обычное сообщение может не
321
   создавать попап.
322
4. Если приложение было закрыто через tray → Quit, системного попапа быть не
323
   должно.
324
5. Если Send test не работает при разрешённых уведомлениях ОС, создайте
325
   баг-репорт и обязательно укажите операционную систему.