[2026-09-25] eagle: personal/plans/lampac-watchlist-plugin.md personal/tech/lampac-deployment.md
This commit is contained in:
1 parent
e89869b6c1
commit
bbfe0329e2
2 files changed
+147
-1
No files matched your search
@@ -85,6 +85,50 @@ git commit -m "..." && git push origin main
|
||||
рестарт приложения на ТВ через `luna-send`. И **не спать** в ожидании: Alex на паузу
|
||||
`sleep 20` отреагировал резко («Чё нахуй за слип 20?!») — вместо сна опрашивать состояние.
|
||||
|
||||
### 🔴 Форма `Lampa.Activity.active()` — ИЗМЕРЕНО (CDP, 2026-09-25)
|
||||
|
||||
```
|
||||
Lampa.Activity.active() → {url, title, component, source, page, params, activity}
|
||||
Lampa.Activity.active().activity → {component, object, slide, body, is_stopped, is_started}
|
||||
```
|
||||
|
||||
🔴 **`url` лежит НА ВЕРХНЕМ уровне.** Поле `activity.activity` — это СЛАЙД (DOM-обёртка),
|
||||
`url` там НЕТ вообще. Чтение `active().activity.url` даёт вечные `undefined`.
|
||||
|
||||
**Значения по экранам (замерено):**
|
||||
|
||||
| Экран | `component` | `url` | `title` |
|
||||
|---|---|---|---|
|
||||
| **Главная** | **`main`** | **`` (ПУСТОЙ!)** | `Главная - CUB` |
|
||||
| **Фильмы / категория** | **`category_full`** | `movie` | `Фильмы` |
|
||||
|
||||
🔴🔴 **На главной `url` ПУСТОЙ, а не `'main'`.** Поэтому:
|
||||
- проверка `url === 'main'` **не работает вообще** — никогда не срабатывает;
|
||||
- **определять экран надо по `component`**, оно стабильно на обоих экранах.
|
||||
|
||||
### 🔴 Трейс вызовов `partNext` — как узнать, вызывается ли он на переходах
|
||||
|
||||
Обернуть `partNext` своим трейсом, подёргать навигацию, прочитать массив:
|
||||
|
||||
```js
|
||||
var orig = Lampa.Api.partNext;
|
||||
Lampa.Api.partNext = function(parts, limit, ok, empty){
|
||||
var a = Lampa.Activity.active();
|
||||
window.__wl_trace.push(String(a.component||'')+'|url='+String(a.url||'')+'|n='+(parts?parts.length:'?'));
|
||||
return orig.apply(this, arguments);
|
||||
};
|
||||
```
|
||||
|
||||
**Результат на переходе `main → category_full → main`: трейс ПУСТОЙ.** То есть
|
||||
`partNext` на этих переходах **не вызывается вообще** — Lampa переиспользует уже
|
||||
отрисованный пул. Любая логика, висящая ТОЛЬКО на `partNext`, на навигации не сработает;
|
||||
нужен отдельный хук `Lampa.Listener.follow('activity')`.
|
||||
|
||||
🔴 **Питфолл метода:** `Lampa.Router.call('main')` как «вернуться на главную» **не
|
||||
работает** — падает с `Cannot read property 'url' of undefined`. Программно
|
||||
эмулируется только уход В категорию (`Router.call('category_full',{url:'movie',...})`);
|
||||
возврат на главную воспроизводит только Alex пультом.
|
||||
|
||||
🔴 **Правило диагностики:** не читать `curl -w %{size_download}` как «размер фида» —
|
||||
это размер ПОСЛЕ распаковки gzip. Брать `ls -la` или `Accept-Encoding: identity`.
|
||||
Пример: `watchlist-films.json` = 88 КБ несжатых при 347 позициях, а `cards.json` = 548 КБ.
|
||||
|
||||
Reference in new issue
Block a user