Remove duplicate Vimeo DI registration; use NimblePros.Vimeo AddVimeoServices and upgrade package
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
Empieza en src/DevBetterWeb.Infrastructure/VimeoServiceCollectionExtensions.cs y Program.cs en la llamada a AddInfrastructureServices(...) (~línea 92) y en AddVimeoServices (~línea 148), además de la fábrica de Autofac comentada en la línea 45. Elimina el archivo de extensión local, quita la llamada a RegisterVimeoServicesDependencies y cualquier parámetro vimeoToken que ya no se use, luego compila y haz una prueba de humo de los flujos de video de administración (carga por bloques, actualización de descripción, eliminación, detalles, oEmbed). Hecho significa una sola ruta de registro y sin clientes nombrados ni encabezados duplicados; la actualización del paquete a 2.2.1 sigue bloqueada por la clave de API de NuGet.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Background
When Autofac was removed (#1358), devBetter added its own IServiceCollection version of RegisterVimeoServicesDependencies in src/DevBetterWeb.Infrastructure/VimeoServiceCollectionExtensions.cs. NimblePros.Vimeo already ships the equivalent registration, services.AddVimeoServices(token). It wasn't documented, which is how NimblePros/NimblePros.Vimeo#16 came about. NimblePros/NimblePros.Vimeo#19 adds the documentation and tests.
devBetter currently runs both registrations:
Program.cs:92→AddInfrastructureServices(...)→ the localservices.RegisterVimeoServicesDependencies(vimeoToken)Program.cs:148→builder.Services.AddVimeoServices(vimeoSettings.Token)
Effects of the duplicate registration
- Named
HttpClients are configured twice.VimeoApi,VimeoOEmbedandVimeoTusApiare each registered by both methods, and both configure actions run. Default headers are added twice:Accepton every client, andTus-Resumableon the Tus client. - Two
ClientApiConfigurationssingletons. The last one registered wins, which is the one fromAddVimeoServices. The local configuration (default JSON settings, token on the Tus client) is effectively dead code. - The tus services are registered twice.
ISleepService,IUploadVideoSessionServiceandIUploadVideoTusServiceare each registered twice with the same implementation. This is harmless, but it's noise. AuthHeaderHandlerinVimeoServiceCollectionExtensions.csis never used. The bearer token is actually added byAddVimeoServices, on theVimeoApiclient only.
AddVimeoServices on its own registers everything devBetter needs:
- every Vimeo service, such as
GetVideoService,GetOEmbedVideoServiceandUploadVideoChunkService; - the NimblePros.ApiClient HTTP services;
- the three named clients, with the token attached to
VimeoApi; - the tus services and logging.
Tasks
- Delete
src/DevBetterWeb.Infrastructure/VimeoServiceCollectionExtensions.cs, including the unusedAuthHeaderHandler. - Remove
services.RegisterVimeoServicesDependencies(vimeoToken);fromAddInfrastructureServices, along with thevimeoTokenparameter if nothing else uses it. KeepAddVimeoServices(vimeoSettings.Token)inProgram.cs. - Remove the commented-out
AutofacServiceProviderFactoryline inProgram.cs:45. - Upgrade
NimblePros.Vimeofrom 2.1.2 to 2.2.1 once it is published (see below). The new version:- adds net10.0 and net11.0 targets (devBetter targets net11.0);
- updates dependencies;
- pins a patched
Microsoft.AspNetCore.WebUtilities(NimblePros.ApiClient 2.2.0 pulls in 9.0.4, which is affected by GHSA-x33c-w48q-qrgc); - makes the
VimeoTusApiclient set its base address andAcceptheader.
- Smoke test the admin video flows: chunked upload (
UploadChunkEndpoint), update description, delete, video details and oEmbed.
Behavior notes
Removing the local registration shouldn't change runtime behavior, apart from dropping the duplicated default headers:
- The JSON settings from
AddVimeoServices(NullValueHandling.Ignore) already win today. - The Tus client already sends no bearer token. Tus upload links are signed, so it isn't needed.
The package still depends on Autofac transitively, because AutofacExtensions ships in NimblePros.Vimeo. That's tracked as a possible follow-up there.
Blocker for the package upgrade
The NimblePros.Vimeo publish workflow is failing. nuget push returns 403: The specified API key is invalid, has expired, or does not have permission, so 2.2.0 was never published and nuget.org still has 2.1.2. The NUGET_API_KEY secret in NimblePros/NimblePros.Vimeo needs to be regenerated before the upgrade task can be done. The registration cleanup tasks don't depend on the upgrade and can be done now.
- Lenguaje dominante
- C#
- Estrellas
- 157
- Forks
- 59
- Merge medio
- 3 h 12 min
- PR fusionados (30 d)
- 4
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DevBetterCom/DevBetterWeb
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
DevBetterCom/DevBetterWeb#1472 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
DevBetterCom/DevBetterWeb#1393 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
DevBetterCom/DevBetterWeb#1392 ·
Los mantenedores suelen responder en 1 día
-
.NET enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
DevBetterCom/DevBetterWeb#1380 ·
Los mantenedores suelen responder en 1 día
-
New Members Subscription Should Not Have End DatePosiblemente ocupada @ShadyNagy la tomó hace 585 días. Abiertobug
DevBetterCom/DevBetterWeb#1334 · 4 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de DevBetterCom/DevBetterWeb
Issues similares
-
[中] 更新器下载缓存从不清理Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NimblePros/eShopOnWeb#333 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Natvs/Nt.Automaton#33 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Remove old asp.net core examplesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100