Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

deps: replace vendored refresh_rate 1.0.2 with upstream 2.0.1

Aberta
#1,584 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
42/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
dart, flutter
Domínio
desktop, devtools

Direção de pesquisa

Start by verifying the refresh_rate publisher transfer and reviewing the native diff from 1.0.2 to 2.0.1, especially the Linux, Windows, and macOS changes. Then inspect pubspec.yaml, third_party/refresh_rate/, third_party/README.md, and lib/core/motion/display_refresh_service.dart; finish by checking CI on Linux, Windows, and macOS and confirming the dependency override and vendored copy are removed.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement motion P3

Summary

third_party/refresh_rate is a vendored copy of refresh_rate 1.0.2 kept only for two build fixes. Upstream 2.0.1 appears to fix both natively, so the fork can likely be dropped in favour of refresh_rate: ^2.0.1.

Why the fork exists vs. 2.0.1

Reason for the fork In 2.0.1
Linux -Werror: uninitialized rates[0] Linux plugin rewritten on generated Pigeon GObject bindings; the hand-rolled rates array is gone
macOS SPM: Package.swift pointed at ../Classes, outside the package root (#555) Package.swift uses path: "Sources/refresh_rate" inside the package

App compatibility

Only lib/core/motion/display_refresh_service.dart uses the package.

  • RefreshRate.enable() now returns Future<RateRequestResult>; we call it unawaited (wrap in unawaited(...) if the lint is on).
  • showHz() and info.{currentRate,maxRate,isVariableRefreshRate} are source-compatible.
  • DisplayRefreshService.currentHz / maxHz have no other callers.

Behaviour changes: on Linux maxRate is 0.0 (was max across monitors) and unknown values no longer fall back to 60 Hz. info is populated asynchronously, so the first debug log may show 0 Hz.

Tasks

  • Verify the package publisher: repository moved from qoder-official/refresh_rate to afewgoodcoders/refresh_rate while the Android package is still in.qoder.refresh_rate. Confirm it is a legitimate transfer and skim the native diff 1.0.2 → 2.0.1 (Windows and macOS changed too).
  • pubspec.yaml: refresh_rate: ^2.0.1, remove the refresh_rate entry from dependency_overrides.
  • Delete third_party/refresh_rate/ and update third_party/README.md if it references it.
  • CI green on Linux (-Werror), Windows and macOS.
  • Follow-up, separate PR: reconsider flutter.config.enable-swift-package-manager: false. It disables SPM for all plugins, not just this one.

Fallback

If the Linux -Werror build or Windows/macOS breaks on upstream 2.0.1, keep the fork and re-vendor 2.0.1 with only the needed patch.

Found during the dependency review.

Linguagem predominante
Dart
Estrelas
23
Forks
1
Merge médio
31min
PRs com merge (30d)
570

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de QueryaHub/Querya-Desktop

Todas as issues de QueryaHub/Querya-Desktop

Issues semelhantes

Mais issues de Dart

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.