fix(admin): кнопка «Проверить документацию» возвращает на /admin/news + браузерный UA для nsd.ru
Три бага в Doc-watcher / Новостях, всплывшие при первом ручном прогоне:
1. setupFlash после POST в /admin/news/check-docs редиректил на
/admin/setup, а не на /admin/news, и оператор «выпадал» с ленты.
Теперь setupFlash смотрит Referer и возвращает на любой из
/admin/wizard, /admin/news, /admin/setup — на ту страницу с которой
пришёл POST.
2. http.DefaultClient в news.go и cacerts.go подхватывал HTTPS_PROXY
из окружения и шёл через корпоративный zetit, который блокирует
nsd.ru (CONNECT 403). Заменил на noProxyClient с явно отключённой
проксификацией (Transport.Proxy = nil) — doc-watcher всегда идёт
напрямую, независимо от ENV.
3. nsd.ru отдаёт 403 на запросы с UA «bj-server/1.0» (антибот). Заменил
на стандартный Chrome User-Agent + браузерные Accept/Accept-Language.
После этого moex-most-dlya-m2m.pdf найден и скачан, новость
«Обновлена документация» опубликована.
Кроме того, по запросу — убрана форма «Добавить вручную» с /admin/news.
В UI остался только мониторинг: автоматическая лента событий +
ручная кнопка «🔄 Проверить обновления документации сейчас».
Handler /admin/news/add сохранён в коде на случай ручного ввода
инцидентов в будущем.
This commit is contained in:
@@ -45,41 +45,6 @@
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>Добавить вручную</h2>
|
||||
<form method="post" action="/admin/news/add" style="display:grid;gap:8px;grid-template-columns:1fr 1fr;align-items:end">
|
||||
<div style="grid-column:1 / 3">
|
||||
<label class="muted" style="font-size:12px">Заголовок</label>
|
||||
<input type="text" name="title" required placeholder="Например: TEST3 будет недоступен 01.06—03.06" style="width:100%;padding:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px">
|
||||
</div>
|
||||
<div style="grid-column:1 / 3">
|
||||
<label class="muted" style="font-size:12px">Тело (опционально)</label>
|
||||
<textarea name="body" rows="2" placeholder="Подробности, ссылка на письмо, контакт" style="width:100%;padding:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;font-family:inherit"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<label class="muted" style="font-size:12px">Тип</label>
|
||||
<select name="kind" style="padding:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;width:100%">
|
||||
<option value="manual">manual — ручная заметка</option>
|
||||
<option value="maintenance">maintenance — окно техработ</option>
|
||||
<option value="feature">feature — новая возможность</option>
|
||||
<option value="system">system — внимание</option>
|
||||
</select>
|
||||
</div>
|
||||
<div></div>
|
||||
<div>
|
||||
<label class="muted" style="font-size:12px">Действует с (опц.)</label>
|
||||
<input type="date" name="valid_from" style="padding:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;width:100%">
|
||||
</div>
|
||||
<div>
|
||||
<label class="muted" style="font-size:12px">Действует по (опц.)</label>
|
||||
<input type="date" name="valid_to" style="padding:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;width:100%">
|
||||
</div>
|
||||
<div style="grid-column:1 / 3">
|
||||
<button type="submit" class="btn">Добавить</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<h2 style="margin:24px 0 12px 0">Лента ({{len .Settings.News.Items}})</h2>
|
||||
|
||||
{{if not .Settings.News.Items}}
|
||||
|
||||
Reference in New Issue
Block a user