fix(test): stale ScrollPosition breaking test
Detected heuristicfix(test): stale ScrollPosition breaking test
Show stored evidence
test/features/chat/presentation/widgets/message_list_scroll_test.dart
Reading the persisted public view.
Development / findings
Structured observations derived from public development activity. Interpretation is labelled separately from the source evidence.
fix(test): stale ScrollPosition breaking test
test/features/chat/presentation/widgets/message_list_scroll_test.dartMerge remote-tracking branch 'origin/canary' into canary
test/features/chat/presentation/widgets/message_list_scroll_test.dartfix(app): expose the guild id on guild list items again (#1778)
fluxer_app/src/features/app/components/layout/sidebar_nav/GuildListItemPresentation.tsxchore(l10n): gen files
lib/l10n/generated/fluxer_localizations_ar.dartlib/l10n/generated/fluxer_localizations_cs.dartlib/l10n/generated/fluxer_localizations_da.dartlib/l10n/generated/fluxer_localizations_de.dartlib/l10n/generated/fluxer_localizations_el.dartlib/l10n/generated/fluxer_localizations_en.dartlib/l10n/generated/fluxer_localizations_es.dartlib/l10n/generated/fluxer_localizations_fi.dartlib/l10n/generated/fluxer_localizations_fr.dartlib/l10n/generated/fluxer_localizations_hu.dartlib/l10n/generated/fluxer_localizations_it.dartlib/l10n/generated/fluxer_localizations_ja.dartlib/l10n/generated/fluxer_localizations_ko.dartlib/l10n/generated/fluxer_localizations_lt.dartlib/l10n/generated/fluxer_localizations_nb.dartlib/l10n/generated/fluxer_localizations_pl.dartlib/l10n/generated/fluxer_localizations_pt.dartlib/l10n/generated/fluxer_localizations_ru.dartMerge remote-tracking branch 'origin/canary' into canary
lib/l10n/generated/fluxer_localizations_ar.dartlib/l10n/generated/fluxer_localizations_cs.dartlib/l10n/generated/fluxer_localizations_da.dartlib/l10n/generated/fluxer_localizations_de.dartlib/l10n/generated/fluxer_localizations_el.dartlib/l10n/generated/fluxer_localizations_en.dartlib/l10n/generated/fluxer_localizations_es.dartlib/l10n/generated/fluxer_localizations_fi.dartlib/l10n/generated/fluxer_localizations_fr.dartlib/l10n/generated/fluxer_localizations_hu.dartlib/l10n/generated/fluxer_localizations_it.dartlib/l10n/generated/fluxer_localizations_ja.dartlib/l10n/generated/fluxer_localizations_ko.dartlib/l10n/generated/fluxer_localizations_lt.dartlib/l10n/generated/fluxer_localizations_nb.dartlib/l10n/generated/fluxer_localizations_pl.dartlib/l10n/generated/fluxer_localizations_pt.dartlib/l10n/generated/fluxer_localizations_ru.dartchore(i18n): update translations from Weblate (#673) Co-authored-by: Weblate <noreply@weblate.org> Co-authored-by: Eyeflame <eyeflamx@gmail.com> Co-authored-by: fluxer-ci[bot] <297508441+fluxer-ci[bot]@users.noreply.github.com>
lib/l10n/fluxer_es_419.arblib/l10n/generated/fluxer_localizations_ar.dartlib/l10n/generated/fluxer_localizations_cs.dartlib/l10n/generated/fluxer_localizations_da.dartlib/l10n/generated/fluxer_localizations_de.dartlib/l10n/generated/fluxer_localizations_el.dartlib/l10n/generated/fluxer_localizations_en.dartlib/l10n/generated/fluxer_localizations_es.dartlib/l10n/generated/fluxer_localizations_fi.dartlib/l10n/generated/fluxer_localizations_fr.dartlib/l10n/generated/fluxer_localizations_hu.dartlib/l10n/generated/fluxer_localizations_it.dartlib/l10n/generated/fluxer_localizations_ja.dartlib/l10n/generated/fluxer_localizations_ko.dartlib/l10n/generated/fluxer_localizations_lt.dartlib/l10n/generated/fluxer_localizations_nb.dartlib/l10n/generated/fluxer_localizations_pl.dartMerge remote-tracking branch 'origin/canary' into canary
lib/l10n/generated/fluxer_localizations_ar.dartlib/l10n/generated/fluxer_localizations_cs.dartlib/l10n/generated/fluxer_localizations_da.dartlib/l10n/generated/fluxer_localizations_de.dartlib/l10n/generated/fluxer_localizations_el.dartlib/l10n/generated/fluxer_localizations_en.dartlib/l10n/generated/fluxer_localizations_es.dartlib/l10n/generated/fluxer_localizations_fi.dartlib/l10n/generated/fluxer_localizations_fr.dartlib/l10n/generated/fluxer_localizations_hu.dartlib/l10n/generated/fluxer_localizations_it.dartlib/l10n/generated/fluxer_localizations_ja.dartlib/l10n/generated/fluxer_localizations_ko.dartlib/l10n/generated/fluxer_localizations_lt.dartlib/l10n/generated/fluxer_localizations_nb.dartlib/l10n/generated/fluxer_localizations_pl.dartlib/l10n/generated/fluxer_localizations_pt.dartlib/l10n/generated/fluxer_localizations_ru.dartfix(fluxer_captcha): dragging test with hCaptcha
packages/fluxer_captcha/lib/src/widget/captcha_content_size.dartpackages/fluxer_captcha/lib/src/widget/impl/captcha_widget_native.dartpackages/fluxer_captcha/lib/src/widget/impl/captcha_widget_web.dartMerge remote-tracking branch 'origin/canary' into canary
packages/fluxer_captcha/lib/src/widget/captcha_content_size.dartpackages/fluxer_captcha/lib/src/widget/impl/captcha_widget_native.dartpackages/fluxer_captcha/lib/src/widget/impl/captcha_widget_web.dartfix(composer): fade surface color
lib/features/chat/presentation/widgets/channel/channel_chat_panel.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/chat/presentation/widgets/channel/channel_chat_panel.dartfix(voice): dm call eligibility checks
lib/features/voice/presentation/widgets/voice_call_join_empty_state.dartlib/features/voice/providers/voice_join_eligibility_provider.dartlib/features/voice/providers/voice_session_provider.dartlib/features/voice/voice_session_errors.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/voice/presentation/widgets/voice_call_join_empty_state.dartlib/features/voice/providers/voice_join_eligibility_provider.dartlib/features/voice/providers/voice_session_provider.dartlib/features/voice/voice_session_errors.dartfix(chat): improved new message divider positioning
lib/features/chat/presentation/widgets/messages/message_list.dartlib/features/chat/presentation/widgets/messages/message_list_viewport.dartlib/features/chat/providers/core/chat_view_model.darttest/features/chat/presentation/widgets/message_list_scroll_test.dartMerge remote-tracking branch 'origin/canary' into canary
lib/features/chat/presentation/widgets/messages/message_list.dartlib/features/chat/presentation/widgets/messages/message_list_viewport.dartlib/features/chat/providers/core/chat_view_model.darttest/features/chat/presentation/widgets/message_list_scroll_test.dartfix(app): keep search results in server order instead of per channel (#1777)
fluxer_app/src/features/channel/components/ChannelSearchResults.tsxfluxer_app/src/features/channel/components/SearchResultGrouping.test.tsfluxer_app/src/features/channel/components/SearchResultGrouping.tsfluxer_app/src/features/channel/components/bottomsheets/ChannelSearchBottomSheet.tsxfix(app): keep search results in server order instead of per channel
fluxer_app/src/features/channel/components/ChannelSearchResults.tsxfluxer_app/src/features/channel/components/SearchResultGrouping.test.tsfluxer_app/src/features/channel/components/SearchResultGrouping.tsfluxer_app/src/features/channel/components/bottomsheets/ChannelSearchBottomSheet.tsxfix(app): restore the mobile voice message recorder (#1776)
fluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsxfluxer_app/src/features/channel/components/VoiceMessageRecorder.module.cssfluxer_app/src/features/channel/components/VoiceMessageRecorder.tsxfluxer_app/src/features/channel/components/textarea/HoldToRecordButton.tsxfluxer_app/src/features/channel/components/textarea/MobileTextareaLayout.module.cssfluxer_app/src/features/channel/components/textarea/MobileTextareaLayout.tsxfluxer_app/src/features/channel/components/textarea/TextareaButtons.module.cssfluxer_app/src/features/channel/components/textarea/TextareaButtons.tsxfix(app): scale embed and attachment width caps with zoom (#1775)
fluxer_app/src/features/app/components/shared/SpoilerOverlay.tsxfluxer_app/src/features/channel/components/MessageAttachmentUtils.tsfluxer_app/src/features/channel/components/MessageAttachments.module.cssfluxer_app/src/features/channel/components/MessageAttachments.tsxfluxer_app/src/features/channel/components/MessageUploadProgress.tsxfluxer_app/src/features/channel/components/embeds/EmbedRenderUtils.test.tsfluxer_app/src/features/channel/components/embeds/EmbedRenderUtils.tsfluxer_app/src/features/channel/components/embeds/attachments/AttachmentFile.tsxfluxer_app/src/features/channel/components/embeds/channel_embed/RichEmbed.tsxfluxer_app/src/features/channel/components/embeds/media/EmbedAudio.tsxfluxer_app/src/features/channel/components/embeds/media/EmbedYouTube.tsxfix(app): scale tooltip max-width with app zoom (#1774)
fluxer_app/src/features/ui/tooltip/Tooltip.tsxlib/l10n/generated/fluxer_localizations_sv.dartlib/l10n/generated/fluxer_localizations_th.dartlib/l10n/generated/fluxer_localizations_tr.dartlib/l10n/generated/fluxer_localizations_uk.dartlib/l10n/generated/fluxer_localizations_zh.dartlib/l10n/generated/fluxer_localizations_sv.dartlib/l10n/generated/fluxer_localizations_th.dartlib/l10n/generated/fluxer_localizations_tr.dartlib/l10n/generated/fluxer_localizations_uk.dartlib/l10n/generated/fluxer_localizations_zh.dartlib/l10n/generated/fluxer_localizations_pt.dartlib/l10n/generated/fluxer_localizations_ru.dartlib/l10n/generated/fluxer_localizations_sv.dartlib/l10n/generated/fluxer_localizations_th.dartlib/l10n/generated/fluxer_localizations_tr.dartlib/l10n/generated/fluxer_localizations_uk.dartlib/l10n/generated/fluxer_localizations_zh.dartlib/l10n/generated/fluxer_localizations_sv.dartlib/l10n/generated/fluxer_localizations_th.dartlib/l10n/generated/fluxer_localizations_tr.dartlib/l10n/generated/fluxer_localizations_uk.dartlib/l10n/generated/fluxer_localizations_zh.dart