Skip to content

Do not sending data after document ready#44

Merged
pamellix merged 4 commits into
mainfrom
do-not-sending-data-after-document-ready
May 18, 2026
Merged

Do not sending data after document ready#44
pamellix merged 4 commits into
mainfrom
do-not-sending-data-after-document-ready

Conversation

@pamellix
Copy link
Copy Markdown
Collaborator

@pamellix pamellix commented Apr 15, 2026

📦 Published PR as canary version: 2.0.19--canary.44.26028024953.0

✨ Test out this PR locally via:

npm install @salutejs/web-telemetry@2.0.19--canary.44.26028024953.0
# or 
yarn add @salutejs/web-telemetry@2.0.19--canary.44.26028024953.0

@pamellix pamellix requested a review from SeanSilke April 15, 2026 18:58
@pamellix pamellix force-pushed the do-not-sending-data-after-document-ready branch from 6f91a92 to 429f4ea Compare April 16, 2026 07:22
@pamellix pamellix force-pushed the do-not-sending-data-after-document-ready branch from 4f7eb07 to 7b15440 Compare April 16, 2026 12:36
Copy link
Copy Markdown
Collaborator

@SeanSilke SeanSilke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Необходимые изменения (обновленный план)

  • Выровнять поведение ручной и авто-остановки WebTelemetryResources:
    в end() добавить дочитывание очереди observer (takeRecords()), обработку через processResources(...), затем финальный flushBufferedEvents() и disconnect().

  • Убрать расхождение shutdown-путей:
    выделить единый приватный shutdown-метод и использовать его и в end(), и в finalizeAfterDocumentReady().

  • Синхронизировать async-поведение завершения:
    так как processResources(...) асинхронный, сделать путь остановки явно консистентным (предпочтительно через единый async shutdown с централизованной обработкой ошибок).

  • Переименовать флаг для явной области действия:
    с observeAfterLoad на имя, которое явно говорит про ресурсы (рекомендуемо observeResourcesAfterLoad), чтобы исключить трактовку как “глобальный” флаг всей телеметрии.

  • Обновить тесты под финальную семантику:

    • продолжение сбора ресурсов после load при observeResourcesAfterLoad: true;
    • корректная финальная отправка при ручном end();
    • отсутствие потерь записей из внутренней очереди observer при остановке;

@SeanSilke
Copy link
Copy Markdown
Collaborator

Все описанные выше дополнения реализованы.
Теперь у меня есть вопрос. Нужно ли нам такое поведение телеметрии?
Можно, конечно, убрать под флаг. Сейчас, наоборот, флаг по умолчанию как раз включает это поведение, можно сделать наоборот. Но я сейчас не вижу сценариев, когда мы будем включать новый функционал.

Но в целом работа проделана, давай за флаг тогда уберём. И может быть потом где-то понадобится.

@SeanSilke SeanSilke self-requested a review May 15, 2026 15:46
@pamellix pamellix merged commit 3bfc5d5 into main May 18, 2026
4 checks passed
@pamellix pamellix deleted the do-not-sending-data-after-document-ready branch May 18, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants