Frontender's notes [ru]
Ведущий канал о современном фронтенде: статьи, новости, практики, вайбкодинг и автоматизация фронта ИИ-агентами. Личный блог автора - @just_genych MAX - https://max.ru/frontendnoteschannel_ru По вопросам рекламы или разработки - @g_abashkin
Show more📈 Analytical overview of Telegram channel Frontender's notes [ru]
Channel Frontender's notes [ru] (@frontendnoteschannel_ru) in the Russian language segment is an active participant. Currently, the community unites 31 446 subscribers, ranking 4 129 in the Technologies & Applications category and 20 284 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 31 446 subscribers.
According to the latest data from 15 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -290 over the last 30 days and by -9 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 7.92%. Within the first 24 hours after publication, content typically collects 4.97% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 492 views. Within the first day, a publication typically gains 1 562 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 8.
- Thematic interests: Content is focused on key topics such as браузер, api, css, интерфейс, загрузка.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Ведущий канал о современном фронтенде: статьи, новости, практики, вайбкодинг и автоматизация фронта ИИ-агентами.
Личный блог автора - @just_genych
MAX - https://max.ru/frontendnoteschannel_ru
По вопросам рекламы или разработки - @g_abashkin”
Thanks to the high frequency of updates (latest data received on 16 September, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
document.startViewTransition() прекрасен в демках и разваливается, когда пользователь кликает по ссылкам быстрее, чем заканчивается анимация.
Наложение переходов. Браузер сам скипнет предыдущий переход, начиная новый, но ваш updateCallback уже мог стартовать fetch и записать состояние роутера - получаете гонку, в которой побеждает не последний клик. Лечится явным AbortController на загрузку данных и skipTransition() на активный переход.
Scroll restoration. Браузер делает два снапшота: до и после updateCallback. Если восстанавливать скролл после finished, новый снапшот уже зафиксирован - будет видимый прыжок. Позицию нужно восстанавливать внутри updateCallback, а scroll-behavior: smooth на время перехода отключать, иначе кадр снапшота ловится в середине анимации скролла.
Утечки. view-transition-name должен быть уникален в документе. Имя, оставленное на элементе, который вы «закрыли» (display: none, но узел в DOM), уронит следующий переход ошибкой о дубликате. Плюс до finished живут псевдо-оверлеи ::view-transition-old/new: если держите на них блокировку скролла (overflow: hidden, position: fixed), снимайте в finally, иначе после отмены страница останется «залипшей».
Каркас:
let activeVT: ViewTransition | null = null;
let ac: AbortController | null = null;
async function navigate(to: string) {
activeVT?.skipTransition(); // гасим висящую анимацию
ac?.abort(); // и незавершённый запрос
ac = new AbortController();
const data = await loadPage(to, { signal: ac.signal })
.catch(() => null);
if (!data) return; // aborted
const vt = document.startViewTransition(async () => {
history.replaceState({ y: scrollY }, '', location.pathname);
render(data);
restoreScroll(to); // скролл - ДО снапшота нового состояния
});
activeVT = vt;
document.documentElement.classList.add('vt-lock');
vt.ready.catch(() => {}); // скип реджектит ready, без unhandled
try {
await vt.finished;
} catch {
// переход отменён - это норма
} finally {
document.documentElement.classList.remove('vt-lock');
if (activeVT === vt) activeVT = null;
}
}
Ещё пара мелочей: восстанавливайте фокус (document.activeElement) после перехода, иначе скринридер останется на удалённом узле; в updateCallback не запускайте лишних await - браузер ждёт промис, а старый снапшот всё это время висит мёртвым кадром.
Источники:
- MDN: View Transition API, ViewTransition.skipTransition()
- W3C CSS View Trans