You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: app/js/i18n/en.js
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -210,6 +210,8 @@ var LangEN = {
210
210
chronicle_placeholder: 'Write your words into the World...',
211
211
chronicle_send: 'Inscribe',
212
212
chronicle_empty: 'Chronicle is empty. Be the first to write!',
213
+
chronicle_bless_posts_only_hint: 'Blessings are available only through Chronicle posts. There are no suitable posts from other mages in the feed yet.',
214
+
chronicle_no_bless_targets_hint: 'There are no other mages\' posts to bless right now. Blessings work only on other players\' Chronicle posts.',
213
215
chronicle_narrative_hunt: '{name} set out on a hunt.',
2. Привязать duel UI к canonical duel participants из chain state, а не к устаревшему локальному экранному state.
17
+
3. Добавить безопасную догрузку character/grimoire данных для opponent, если локальный state их ещё не знает.
18
+
4. Проверить blessing flow и явно отразить в UX, что blessing доступен через Chronicle posts других магов.
19
+
5. Прогнать `node --check` для изменённых файлов, затем commit + push в `main`.
18
20
19
21
## Expected files or subsystems
22
+
-`app/js/ui/screens/duel.js`
20
23
-`app/js/ui/screens/chronicle.js`
24
+
-`app/js/i18n/ru.js`
25
+
-`app/js/i18n/en.js`
21
26
22
27
## Implementation tasks
23
-
- Оставить в ленте только `chronicle_post` и voice/publication entries с required tag.
24
-
- Не рендерить blessing/hunt/rest/duel как feed entries.
25
-
- Сохранить локальный optimistic post injection после отправки пользователем.
28
+
- В duel screen вычислять opponent из `duel.challenger/duel.target` при наличии state-дуэли.
29
+
- При отсутствии локального character state для участника пробовать восстановить его из chain grimoire и перерендерить экран.
30
+
- Убрать misleading blessing CTA там, где благословить нельзя (например, свой же пост).
31
+
- Добавить понятное объяснение в Chronicle, когда в ленте нет чужих постов для blessing.
26
32
27
33
## Validation
28
-
- В хронике больше не появляются bless/award/hunt/duel/rest записи.
29
-
- Пользовательские посты по-прежнему видны.
30
-
- Кнопка благословения под постом остаётся рабочей.
31
-
-`node --check` проходит для изменённых JS файлов.
34
+
- Duel pre-screen и active duel показывают корректного opponent и его реальные name/class/level, если данные есть на chain.
35
+
- Экран дуэли больше не зависит от stale `opponent` fallback как от основного источника истины.
36
+
- В коде нет level-based restriction для blessing.
37
+
- Chronicle явно объясняет, что blessing работает через posts, и не предлагает bless на собственных записях.
38
+
-`node --check` проходит для изменённых файлов.
32
39
33
40
## Risks or assumptions
34
-
-Временный optimistic local post живёт в `recentActions`, но фильтруется только как `chronicle_post`.
35
-
-Если потом понадобится activity feed, его лучше делать отдельным экраном/вкладкой, не в основной хронике.
41
+
-Если у opponent нет grimoire на chain или node не вернёт account metadata, UI останется на account fallback, но это будет уже честный degradation path.
42
+
-Chronicle по-прежнему зависит от наличия реальных posts; если никто не пишет, blessable targets не появятся.
36
43
37
44
## Definition of done
38
-
- Хроника снова воспринимается как лента постов.
39
-
- Игровые события больше не засоряют social feed.
45
+
- Duel bug исправлен на уровне источника данных, а не замаскирован.
46
+
- Blessing UX не создаёт ложное ощущение level cap и явно объясняет модель через Chronicle posts.
47
+
- Изменения проверены синтаксически и отправлены в `main`.
0 commit comments