Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

deps: replace vendored refresh_rate 1.0.2 with upstream 2.0.1

Abierto
#1,584 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
dart, flutter
Área
desktop, devtools

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Dart
Estrellas
23
Forks
1
Merge medio
31 min
PR fusionados (30 d)
570

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de QueryaHub/Querya-Desktop

Todos los issues de QueryaHub/Querya-Desktop

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.