From ff142b09abbb2f9540387284222552e6e12639fe Mon Sep 17 00:00:00 2001 From: Jamie Date: Wed, 3 Aug 2022 19:48:33 +0100 Subject: [PATCH 1/8] =?UTF-8?q?fix(translations):=20=F0=9F=8C=90=20New=20t?= =?UTF-8?q?ranslations=20from=20Crowdin=20[skip=20ci]=20(#4713)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Ombi/wwwroot/translations/da.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Ombi/wwwroot/translations/da.json b/src/Ombi/wwwroot/translations/da.json index 4773dc32e..87182d270 100644 --- a/src/Ombi/wwwroot/translations/da.json +++ b/src/Ombi/wwwroot/translations/da.json @@ -65,7 +65,7 @@ }, "ErrorPages": { "NotFound": "Siden blev ikke fundet", - "SomethingWentWrong": "Noget gik galt!" + "SomethingWentWrong": "Something went wrong!" }, "NavigationBar": { "Discover": "Opdag", @@ -212,13 +212,13 @@ "RequestPanel": { "Delete": "Slet Anmodning", "Approve": "Godkend Andmodning", - "Deny": "Afvis Request", + "Deny": "Deny Request", "Approve4K": "Godkend 4K Anmodning", - "Deny4K": "Afvis 4K Request", + "Deny4K": "Deny 4K Request", "ChangeAvailability": "Markér som tilgængelig", "Deleted": "De valgte elementer blev slettet", "Approved": "De valgte elementer blev godkendt", - "Denied": "De valgte elementer blev afvist" + "Denied": "Successfully denied selected items" }, "SuccessfullyApproved": "Godkendt", "SuccessfullyDeleted": "Anmodningen blev slettet", From aa532457f2239a47d0aa5a61845128659240c822 Mon Sep 17 00:00:00 2001 From: Jamie Date: Wed, 3 Aug 2022 20:08:15 +0100 Subject: [PATCH 2/8] build: Run automation tests in docker (#4715) [skip ci] --- .github/workflows/cypress.yml | 32 ++- src/.dockerignore | 285 +++++++++++++++++++++++++++ src/dockerfile | 76 +++++++ tests/cypress.json | 2 +- tests/cypress/config/regression.json | 2 +- 5 files changed, 385 insertions(+), 12 deletions(-) create mode 100644 src/.dockerignore create mode 100644 src/dockerfile diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 9101bdb60..2dc51179e 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -34,16 +34,28 @@ jobs: - name: Install Frontend Deps run: yarn --cwd ./src/Ombi/ClientApp install - - name: Start Frontend - run: | - nohup yarn --cwd ./src/Ombi/ClientApp start & + - name: Build Frontend + run: yarn --cwd ./src/Ombi/ClientApp build - - name: Install Automation Deps - run: yarn --cwd ./tests install + - name: Build Docker Image + run: docker build -t ombi src/ - - name: Start Backend - run: | - nohup dotnet run --project ./src/Ombi -- --host http://*:3577 & + - name: Run Docker Image + run: nohup docker run --rm -p 5000:5000 ombi & + + - name: Sleep for server to start + run: sleep 20 + + # - name: Start Frontend + # run: | + # nohup yarn --cwd ./src/Ombi/ClientApp start & + + # - name: Install Automation Deps + # run: yarn --cwd ./tests install + + # - name: Start Backend + # run: | + # nohup dotnet run --project ./src/Ombi -- --host http://*:3577 & - name: Cypress Tests uses: cypress-io/github-action@v2.8.2 @@ -52,9 +64,9 @@ jobs: browser: chrome headless: true working-directory: tests - wait-on: http://localhost:3577/ + wait-on: http://localhost:5000/ # 10 minutes wait-on-timeout: 600 env: CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/src/.dockerignore b/src/.dockerignore new file mode 100644 index 000000000..252736d92 --- /dev/null +++ b/src/.dockerignore @@ -0,0 +1,285 @@ +**/bin/ +**/obj/ +**/.angular/ +**/node_modules/ +.gitignore +.git/ + + +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ +Properties/launchSettings.json + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/ +tools/Cake.CoreCLR +.vscode +tools +.dotnet +Dockerfile + +# .env file contains default environment variables for docker +.env +.git/ \ No newline at end of file diff --git a/src/dockerfile b/src/dockerfile new file mode 100644 index 000000000..e5a4eaced --- /dev/null +++ b/src/dockerfile @@ -0,0 +1,76 @@ +# build stage +FROM mcr.microsoft.com/dotnet/sdk:6.0-bullseye-slim AS build +LABEL exclaimer-signature-analytics-build=true +ARG VERSION=1.0.0 +WORKDIR /source + +COPY ["Ombi.sln", "."] +COPY ["Ombi/Ombi.csproj", "Ombi/"] +COPY ["Ombi.Api/Ombi.Api.csproj", "Ombi.Api/"] +COPY ["Ombi.Api.CloudService/Ombi.Api.CloudService.csproj", "Ombi.Api.CloudService/"] +COPY ["Ombi.Api.CouchPotato/Ombi.Api.CouchPotato.csproj", "Ombi.Api.CouchPotato/"] +COPY ["Ombi.Api.Discord/Ombi.Api.Discord.csproj", "Ombi.Api.Discord/"] +COPY ["Ombi.Api.DogNzb/Ombi.Api.DogNzb.csproj", "Ombi.Api.DogNzb/"] +COPY ["Ombi.Api.Emby/Ombi.Api.Emby.csproj", "Ombi.Api.Emby/"] +COPY ["Ombi.Api.FanartTv/Ombi.Api.FanartTv.csproj", "Ombi.Api.FanartTv/"] +COPY ["Ombi.Api.Github/Ombi.Api.Github.csproj", "Ombi.Api.Github/"] +COPY ["Ombi.Api.Gotify/Ombi.Api.Gotify.csproj", "Ombi.Api.Gotify/"] +COPY ["Ombi.Api.GroupMe/Ombi.Api.GroupMe.csproj", "Ombi.Api.GroupMe/"] +COPY ["Ombi.Api.Jellyfin/Ombi.Api.Jellyfin.csproj", "Ombi.Api.Jellyfin/"] +COPY ["Ombi.Api.Lidarr/Ombi.Api.Lidarr.csproj", "Ombi.Api.Lidarr/"] +COPY ["Ombi.Api.Mattermost/Ombi.Api.Mattermost.csproj", "Ombi.Api.Mattermost/"] +COPY ["Ombi.Api.MediaServer/Ombi.Api.MediaServer.csproj", "Ombi.Api.MediaServer/"] +COPY ["Ombi.Api.MusicBrainz/Ombi.Api.MusicBrainz.csproj", "Ombi.Api.MusicBrainz/"] +COPY ["Ombi.Api.Notifications/Ombi.Api.Notifications.csproj", "Ombi.Api.Notifications/"] +COPY ["Ombi.Api.Plex/Ombi.Api.Plex.csproj", "Ombi.Api.Plex/"] +COPY ["Ombi.Api.Pushbullet/Ombi.Api.Pushbullet.csproj", "Ombi.Api.Pushbullet/"] +COPY ["Ombi.Api.Pushover/Ombi.Api.Pushover.csproj", "Ombi.Api.Pushover/"] +COPY ["Ombi.Api.Radarr/Ombi.Api.Radarr.csproj", "Ombi.Api.Radarr/"] +COPY ["Ombi.Api.RottenTomatoes/Ombi.Api.RottenTomatoes.csproj", "Ombi.Api.RottenTomatoes/"] +COPY ["Ombi.Api.Service/Ombi.Api.Service.csproj", "Ombi.Api.Service/"] +COPY ["Ombi.Api.SickRage/Ombi.Api.SickRage.csproj", "Ombi.Api.SickRage/"] +COPY ["Ombi.Api.Slack/Ombi.Api.Slack.csproj", "Ombi.Api.Slack/"] +COPY ["Ombi.Api.Sonarr/Ombi.Api.Sonarr.csproj", "Ombi.Api.Sonarr/"] +COPY ["Ombi.Api.Telegram/Ombi.Api.Telegram.csproj", "Ombi.Api.Telegram/"] +COPY ["Ombi.Api.Trakt/Ombi.Api.Trakt.csproj", "Ombi.Api.Trakt/"] +COPY ["Ombi.Api.TvMaze/Ombi.Api.TvMaze.csproj", "Ombi.Api.TvMaze/"] +COPY ["Ombi.Api.Webhook/Ombi.Api.Webhook.csproj", "Ombi.Api.Webhook/"] +COPY ["Ombi.Core/Ombi.Core.csproj", "Ombi.Core/"] +COPY ["Ombi.DependencyInjection/Ombi.DependencyInjection.csproj", "Ombi.DependencyInjection/"] +COPY ["Ombi.HealthChecks/Ombi.HealthChecks.csproj", "Ombi.HealthChecks/"] +COPY ["Ombi.Hubs/Ombi.Hubs.csproj", "Ombi.Hubs/"] +COPY ["Ombi.I18n/Ombi.I18n.csproj", "Ombi.I18n/"] +COPY ["Ombi.Helpers/Ombi.Helpers.csproj", "Ombi.Helpers/"] +COPY ["Ombi.Mapping/Ombi.Mapping.csproj", "Ombi.Mapping/"] +COPY ["Ombi.Notifications/Ombi.Notifications.csproj", "Ombi.Notifications/"] +COPY ["Ombi.Notifications.Templates/Ombi.Notifications.Templates.csproj", "Ombi.Notifications.Templates/"] +COPY ["Ombi.Schedule/Ombi.Schedule.csproj", "Ombi.Schedule/"] +COPY ["Ombi.Settings/Ombi.Settings.csproj", "Ombi.Settings/"] +COPY ["Ombi.Store/Ombi.Store.csproj", "Ombi.Store/"] +COPY ["Ombi.TheMovieDbApi/Ombi.Api.TheMovieDb.csproj", "Ombi.TheMovieDbApi/"] +COPY ["Ombi.Api.Twilio/Ombi.Api.Twilio.csproj", "Ombi.Api.Twilio/"] +COPY ["Ombi.Updater/Ombi.Updater.csproj", "Ombi.Updater/"] +RUN dotnet restore Ombi/Ombi.csproj +COPY . . + +# copy and build app +WORKDIR /source/Ombi +COPY ["Ombi/", "."] +RUN dotnet build "Ombi.csproj" -c release + + +FROM build AS publish + +RUN dotnet publish "Ombi.csproj" -c release --no-restore --no-build -o /app/publish + +FROM mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim as base +WORKDIR /src/Ombi +EXPOSE 5000 + +FROM base AS final +WORKDIR /src/Ombi +COPY --from=publish /app/publish . +COPY ["Ombi/ClientApp/dist", "/src/Ombi/ClientApp/dist/"] +ENTRYPOINT ["dotnet", "Ombi.dll"] + + diff --git a/tests/cypress.json b/tests/cypress.json index 67fd65364..b1042c4fc 100644 --- a/tests/cypress.json +++ b/tests/cypress.json @@ -1,7 +1,7 @@ { "$schema": "https://on.cypress.io/cypress.schema.json", "supportFile": "cypress/support/index.ts", - "baseUrl": "http://localhost:3577", + "baseUrl": "http://localhost:5000", "integrationFolder": "cypress/tests", "testFiles": "**/*.spec.ts*", "watchForFileChanges": true, diff --git a/tests/cypress/config/regression.json b/tests/cypress/config/regression.json index d5ed9941c..d841b9906 100644 --- a/tests/cypress/config/regression.json +++ b/tests/cypress/config/regression.json @@ -1,7 +1,7 @@ { "$schema": "https://on.cypress.io/cypress.schema.json", "supportFile": "cypress/support/index.ts", - "baseUrl": "http://localhost:3577", + "baseUrl": "http://localhost:5000", "integrationFolder": "cypress/tests", "testFiles": "**/*.spec.ts*", "retries": { From f102dcf751c2eb62ebfe30f9f8e4b2ad863c3b0d Mon Sep 17 00:00:00 2001 From: Jamie Date: Thu, 4 Aug 2022 20:55:55 +0100 Subject: [PATCH 3/8] fix: fixed trakt image not loading when base url present (#4711) [skip ci] --- .../src/app/components/image/image.component.html | 2 +- .../shared/social-icons/social-icons.component.scss | 2 ++ .../shared/social-icons/social-icons.component.ts | 10 +++++++++- .../ClientApp/src/app/wizard/plex/plex.component.html | 2 +- .../src/app/wizard/welcome/welcome.component.html | 6 +++--- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/Ombi/ClientApp/src/app/components/image/image.component.html b/src/Ombi/ClientApp/src/app/components/image/image.component.html index 426dd1013..9ee9d7d19 100644 --- a/src/Ombi/ClientApp/src/app/components/image/image.component.html +++ b/src/Ombi/ClientApp/src/app/components/image/image.component.html @@ -1 +1 @@ - + diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.scss b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.scss index fd31c4b6f..35df1d9c5 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.scss +++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.scss @@ -14,6 +14,8 @@ a.media-icons img{ padding: 0; } + + button.admin-cog{ margin-left:40px; color:$ombi-active; diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts index 9215c1464..4b6964b53 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts @@ -1,4 +1,5 @@ -import { Component, Input, Output, EventEmitter } from "@angular/core"; +import { APP_BASE_HREF } from "@angular/common"; +import { Component, Input, Output, EventEmitter, Inject } from "@angular/core"; import { RequestType } from "../../../../interfaces"; @Component({ selector: "social-icons", @@ -31,6 +32,13 @@ export class SocialIconsComponent { @Output() onReProcess4KRequest: EventEmitter = new EventEmitter(); public RequestType = RequestType; + public baseUrl: string = ""; + + constructor (@Inject(APP_BASE_HREF) public href: string) { + if (this.href.length > 1) { + this.baseUrl = this.href; + } + } public openDialog() { diff --git a/src/Ombi/ClientApp/src/app/wizard/plex/plex.component.html b/src/Ombi/ClientApp/src/app/wizard/plex/plex.component.html index 611dc4500..8182385e5 100644 --- a/src/Ombi/ClientApp/src/app/wizard/plex/plex.component.html +++ b/src/Ombi/ClientApp/src/app/wizard/plex/plex.component.html @@ -21,7 +21,7 @@
- +

OR

diff --git a/src/Ombi/ClientApp/src/app/wizard/welcome/welcome.component.html b/src/Ombi/ClientApp/src/app/wizard/welcome/welcome.component.html index 97d027c5d..5d693f834 100644 --- a/src/Ombi/ClientApp/src/app/wizard/welcome/welcome.component.html +++ b/src/Ombi/ClientApp/src/app/wizard/welcome/welcome.component.html @@ -16,9 +16,9 @@
From fcc1eaaa377683dcdc81d62a2a688fb0c4490c7b Mon Sep 17 00:00:00 2001 From: Jamie Date: Thu, 4 Aug 2022 20:56:09 +0100 Subject: [PATCH 4/8] fix: :bug: Fixed missing externals (#4712) --- .github/workflows/chromatic.yml | 2 +- src/Ombi/ClientApp/.storybook/main.js | 5 +- .../ClientApp/.storybook/preview-body.html | 4 + src/Ombi/ClientApp/package.json | 15 +- .../movie/movie-details.component.html | 5 +- .../social-icons/social-icons.component.html | 2 +- .../social-icons.component.stories.ts | 67 ++++++++ .../social-icons/social-icons.component.ts | 10 +- .../components/tv/tv-details.component.html | 10 +- src/Ombi/ClientApp/yarn.lock | 143 +++++++++++++++++- 10 files changed, 233 insertions(+), 30 deletions(-) create mode 100644 src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.stories.ts diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index 47917439c..07f8a1a2b 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -37,7 +37,7 @@ jobs: exitOnceUploaded: true - name: Publish to Chromatic and auto accept changes - if: github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/develop' uses: chromaui/action@v1 with: projectToken: 7c47e1a1a4bd diff --git a/src/Ombi/ClientApp/.storybook/main.js b/src/Ombi/ClientApp/.storybook/main.js index 92bb57a62..3f1f26236 100644 --- a/src/Ombi/ClientApp/.storybook/main.js +++ b/src/Ombi/ClientApp/.storybook/main.js @@ -12,5 +12,8 @@ module.exports = { "core": { "builder": "@storybook/builder-webpack5" }, - "staticDirs": ['../../wwwroot/images'] + "staticDirs": [{from :'../../wwwroot/images', to: 'images'}], + "features": { + interactionsDebugger: true, + } } \ No newline at end of file diff --git a/src/Ombi/ClientApp/.storybook/preview-body.html b/src/Ombi/ClientApp/.storybook/preview-body.html index 2cec56444..b043609bf 100644 --- a/src/Ombi/ClientApp/.storybook/preview-body.html +++ b/src/Ombi/ClientApp/.storybook/preview-body.html @@ -2,4 +2,8 @@ .test-class { background-color: purple; } + + body { + background: #0f171f; + } \ No newline at end of file diff --git a/src/Ombi/ClientApp/package.json b/src/Ombi/ClientApp/package.json index 787bcc23b..a2271f2bc 100644 --- a/src/Ombi/ClientApp/package.json +++ b/src/Ombi/ClientApp/package.json @@ -26,12 +26,12 @@ "@angular/platform-server": "^14.0.0", "@angular/router": "^14.0.0", "@angularclass/hmr": "^3.0.0", - "@microsoft/signalr": "^6.0.7", "@auth0/angular-jwt": "^5.0.2", "@fortawesome/fontawesome-free": "^6.0.0", "@fullcalendar/core": "^4.2.0", "@fullcalendar/daygrid": "^4.4.0", "@fullcalendar/interaction": "^4.2.0", + "@microsoft/signalr": "^6.0.7", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", "@ngxs/devtools-plugin": "^3.7.3", @@ -57,16 +57,16 @@ "popper.js": "^1.14.3", "primeicons": "^5.0.0", "primeng": "^13.2.0", + "protractor": "~5.4.0", "rxjs": "^7.5.4", "sass-recursive-map-merge": "^1.0.1", "store": "^2.0.12", "ts-md5": "^1.2.7", - "tslib": "^1.10.0", - "tslint-angular": "^1.1.2", - "zone.js": "~0.11.4", - "protractor": "~5.4.0", "ts-node": "~5.0.1", - "tslint": "^5.12.0" + "tslib": "^1.10.0", + "tslint": "^5.12.0", + "tslint-angular": "^1.1.2", + "zone.js": "~0.11.4" }, "devDependencies": { "@angular-devkit/build-angular": "^14.0.0", @@ -75,17 +75,18 @@ "@angular/language-service": "^14.0.0", "@babel/core": "^7.18.9", "@compodoc/compodoc": "^1.1.19", - "@types/node": "^16.11.45", "@storybook/addon-actions": "^6.5.9", "@storybook/addon-essentials": "^6.5.9", "@storybook/addon-interactions": "^6.5.9", "@storybook/addon-links": "^6.5.9", "@storybook/angular": "^6.5.9", "@storybook/builder-webpack5": "^6.5.9", + "@storybook/jest": "^0.0.10", "@storybook/manager-webpack5": "^6.5.9", "@storybook/testing-library": "^0.0.13", "@types/jasmine": "~3.6.7", "@types/jasminewd2": "~2.0.8", + "@types/node": "^16.11.45", "babel-loader": "^8.2.5", "chromatic": "^6.7.1", "codelyzer": "^6.0.1", diff --git a/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.html b/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.html index 6659e1ccb..20f5d303b 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.html +++ b/src/Ombi/ClientApp/src/app/media-details/components/movie/movie-details.component.html @@ -10,9 +10,8 @@ diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.html b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.html index d97bb4c02..9b2763b3a 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.html +++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.html @@ -11,7 +11,7 @@ - + diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.stories.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.stories.ts new file mode 100644 index 000000000..c5a48ff94 --- /dev/null +++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.stories.ts @@ -0,0 +1,67 @@ +// also exported from '@storybook/angular' if you can deal with breaking changes in 6.1 +import { APP_BASE_HREF } from '@angular/common'; +import { Story, Meta, moduleMetadata } from '@storybook/angular'; +import { SocialIconsComponent } from './social-icons.component'; +import { MatMenuModule } from "@angular/material/menu"; +import { RequestType } from '../../../../interfaces'; +import { userEvent, waitFor, within } from '@storybook/testing-library'; +import { expect } from '@storybook/jest'; + +// More on default export: https://storybook.js.org/docs/angular/writing-stories/introduction#default-export +export default { + title: 'Social Icons', + component: SocialIconsComponent, + decorators: [ + moduleMetadata({ + providers: [ + { + provide: APP_BASE_HREF, + useValue: "" + }, + ], + imports: [MatMenuModule] + }) + ] +} as Meta; + +// More on component templates: https://storybook.js.org/docs/angular/writing-stories/introduction#using-args +const Template: Story = (args: SocialIconsComponent) => ({ + props: args, +}); + +export const All = Template.bind({}); +// More on args: https://storybook.js.org/docs/angular/writing-stories/args +All.args = { + twitter: "test", + homepage: "test", + theMoviedbId: 1, + hasTrailer: true, + imdbId: "test", + tvdbId: "test", + facebook: "test", + instagram: "test", + available: true, + doNotAppend: false, + type: RequestType.movie, + isAdmin: false, + canShowAdvanced: false, + has4KRequest: false +}; + +export const Admin = Template.bind({}); +Admin.args = { + twitter: "test", + homepage: "test", + theMoviedbId: 1, + hasTrailer: true, + imdbId: "test", + tvdbId: "test", + facebook: "test", + instagram: "test", + available: true, + doNotAppend: false, + type: RequestType.movie, + isAdmin: true, + canShowAdvanced: true, + has4KRequest: true +}; \ No newline at end of file diff --git a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts index 4b6964b53..64e10032f 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/shared/social-icons/social-icons.component.ts @@ -12,13 +12,9 @@ export class SocialIconsComponent { @Input() hasTrailer: boolean; @Input() imdbId: string; @Input() tvdbId: string; - @Input() twitter: string; - @Input() facebook: string; - @Input() instagram: string; - @Input() available: boolean; - @Input() plexUrl: string; - @Input() embyUrl: string; - @Input() jellyfinUrl: string; + @Input() twitter: string|undefined; + @Input() facebook: string|undefined; + @Input() instagram: string|undefined; @Input() doNotAppend: boolean; @Input() type: RequestType; diff --git a/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html index 0ae1ae499..b893af45c 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html +++ b/src/Ombi/ClientApp/src/app/media-details/components/tv/tv-details.component.html @@ -21,15 +21,11 @@ [homepage]="tv.homepage" [theMoviedbId]="tv.id" [hasTrailer]="tv.trailer" - [twitter]="tv.externalIds.twitterId" - [facebook]="tv.externalIds.facebookId" - [instagram]="tv.externalIds.instagramId" + [twitter]="tv.externalIds?.twitterId" + [facebook]="tv.externalIds?.facebookId" + [instagram]="tv.externalIds?.instagramId" (openTrailer)="openDialog()" [imdbId]="tv.imdbId" - [available]="tv.available || tv.partlyAvailable" - [plexUrl]="tv.plexUrl" - [embyUrl]="tv.embyUrl" - [jellyfinUrl]="tv.jellyfinUrl" [isAdmin]="isAdmin" [canShowAdvanced]="showAdvanced && showRequest" [type]="requestType" diff --git a/src/Ombi/ClientApp/yarn.lock b/src/Ombi/ClientApp/yarn.lock index b343db55b..5c3ce4dd2 100644 --- a/src/Ombi/ClientApp/yarn.lock +++ b/src/Ombi/ClientApp/yarn.lock @@ -2418,7 +2418,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.17.8", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.17.8", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0", "@babel/runtime@^7.9.2": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== @@ -2885,6 +2885,13 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== +"@jest/schemas@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" + integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== + dependencies: + "@sinclair/typebox" "^0.24.1" + "@jest/transform@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" @@ -3210,6 +3217,11 @@ "@angular-devkit/schematics" "14.0.0" jsonc-parser "3.0.0" +"@sinclair/typebox@^0.24.1": + version "0.24.26" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.26.tgz#84f9e8c1d93154e734a7947609a1dc7c7a81cc22" + integrity sha512-1ZVIyyS1NXDRVT8GjWD5jULjhDyM3IsIHef2VGUMdnWOlX2tkPjyEX/7K0TGSH2S8EaPhp1ylFdjSjUGQ+gecg== + "@storybook/addon-actions@6.5.9", "@storybook/addon-actions@^6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.5.9.tgz#d50d65631403e1a5b680961429d9c0d7bd383e68" @@ -3876,6 +3888,13 @@ lodash "^4.17.21" regenerator-runtime "^0.13.7" +"@storybook/expect@storybook-jest": + version "27.5.2-0" + resolved "https://registry.yarnpkg.com/@storybook/expect/-/expect-27.5.2-0.tgz#131fc4336106805ccd100809a3c2852d31f1da68" + integrity sha512-cP99mhWN/JeCp7VSIiymvj5tmuMY050iFohvp8Zq+kewKsBSZ6/qpTJAGCCZk6pneTcp4S0Fm5BSqyxzbyJ3gw== + dependencies: + "@types/jest" ">=26.0.0" + "@storybook/instrumenter@6.5.9", "@storybook/instrumenter@^6.4.0": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-6.5.9.tgz#885d9dec31b7b7fa6ea29b446105480450e527b8" @@ -3887,6 +3906,16 @@ core-js "^3.8.2" global "^4.4.0" +"@storybook/jest@^0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@storybook/jest/-/jest-0.0.10.tgz#4fbc43ebc3ae6cce8232d6bd9b56ef710f481e52" + integrity sha512-qeYLIplpcOUQXboJde5pRCjTvkGmF80jEszRUoNYCNcEPfC2sMK68Wq6Ct8EQj3CoEdJqsK54O2YYh+7D9S+ag== + dependencies: + "@storybook/expect" storybook-jest + "@storybook/instrumenter" "^6.4.0" + "@testing-library/jest-dom" "^5.16.2" + jest-mock "^27.3.0" + "@storybook/manager-webpack4@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.9.tgz#c75d2cced4550c8a786f00b0e57b203d613e706c" @@ -4152,6 +4181,21 @@ lz-string "^1.4.4" pretty-format "^27.0.2" +"@testing-library/jest-dom@^5.16.2": + version "5.16.4" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz#938302d7b8b483963a3ae821f1c0808f872245cd" + integrity sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA== + dependencies: + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.9.1" + aria-query "^5.0.0" + chalk "^3.0.0" + css "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" + "@testing-library/user-event@^13.2.1": version "13.5.0" resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" @@ -4339,6 +4383,14 @@ dependencies: "@types/jasmine" "*" +"@types/jest@*", "@types/jest@>=26.0.0": + version "28.1.6" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.6.tgz#d6a9cdd38967d2d746861fb5be6b120e38284dd4" + integrity sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ== + dependencies: + jest-matcher-utils "^28.0.0" + pretty-format "^28.0.0" + "@types/jquery@^3.5.13": version "3.5.13" resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.5.13.tgz#5482d3ee325d5862f77a91c09369ae0a5b082bf3" @@ -4530,6 +4582,13 @@ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== +"@types/testing-library__jest-dom@^5.9.1": + version "5.14.5" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f" + integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ== + dependencies: + "@types/jest" "*" + "@types/uglify-js@*": version "3.16.0" resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.16.0.tgz#2cf74a0e6ebb6cd54c0d48e509d5bd91160a9602" @@ -6338,6 +6397,14 @@ chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + character-entities-legacy@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" @@ -7176,6 +7243,11 @@ css-what@^6.0.1, css-what@^6.1.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== + css@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" @@ -7466,6 +7538,11 @@ dfa@^1.2.0: resolved "https://registry.yarnpkg.com/dfa/-/dfa-1.2.0.tgz#96ac3204e2d29c49ea5b57af8d92c2ae12790657" integrity sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q== +diff-sequences@^28.1.1: + version "28.1.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" + integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== + diff@^3.1.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -7523,7 +7600,7 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.9: +dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: version "0.5.14" resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== @@ -10392,6 +10469,21 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= +jest-diff@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" + integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== + dependencies: + chalk "^4.0.0" + diff-sequences "^28.1.1" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-get-type@^28.0.2: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" + integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== + jest-haste-map@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" @@ -10413,7 +10505,17 @@ jest-haste-map@^26.6.2: optionalDependencies: fsevents "^2.1.2" -jest-mock@^27.0.6: +jest-matcher-utils@^28.0.0: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" + integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== + dependencies: + chalk "^4.0.0" + jest-diff "^28.1.3" + jest-get-type "^28.0.2" + pretty-format "^28.1.3" + +jest-mock@^27.0.6, jest-mock@^27.3.0: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== @@ -11290,6 +11392,11 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + mini-css-extract-plugin@2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e" @@ -13100,6 +13207,16 @@ pretty-format@^27.0.2: ansi-styles "^5.0.0" react-is "^17.0.1" +pretty-format@^28.0.0, pretty-format@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" + integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== + dependencies: + "@jest/schemas" "^28.1.3" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^18.0.0" + pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -13443,6 +13560,11 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + react-merge-refs@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz#73d88b892c6c68cbb7a66e0800faa374f4c38b06" @@ -13575,6 +13697,14 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + reflect-metadata@^0.1.2: version "0.1.13" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" @@ -14967,6 +15097,13 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + style-loader@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" From 3ba4ec33f63d691f2eada4d7453e9a784a0f8827 Mon Sep 17 00:00:00 2001 From: contrib-readme-bot Date: Thu, 4 Aug 2022 19:56:24 +0000 Subject: [PATCH 5/8] chore: :busts_in_silhouette: Updated Contributors [skip ci] --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index f7b2e58ff..c8fde6e73 100644 --- a/README.md +++ b/README.md @@ -809,6 +809,13 @@ Here are some of the features Ombi has: Patrick Weber + + + mkgeeky +
+ Mkgeeky +
+ sir-marv From b07faaef3c5a0f63489b196acf4f74514a92fb19 Mon Sep 17 00:00:00 2001 From: Conventional Changelog Action Date: Thu, 4 Aug 2022 20:03:27 +0000 Subject: [PATCH 6/8] chore(release): :rocket: v4.22.4 [skip ci] --- CHANGELOG.md | 20 +++++++++++--------- version.json | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63ab88463..cce336ad8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +## [4.22.4](https://github.com/Ombi-app/Ombi/compare/v4.22.3...v4.22.4) (2022-08-04) + + +### Bug Fixes + +* :bug: Fixed missing externals ([#4712](https://github.com/Ombi-app/Ombi/issues/4712)) ([fcc1eaa](https://github.com/Ombi-app/Ombi/commit/fcc1eaaa377683dcdc81d62a2a688fb0c4490c7b)) +* fixed trakt image not loading when base url present ([#4711](https://github.com/Ombi-app/Ombi/issues/4711)) ([f102dcf](https://github.com/Ombi-app/Ombi/commit/f102dcf751c2eb62ebfe30f9f8e4b2ad863c3b0d)) +* **translations:** 🌐 New translations from Crowdin [skip ci] ([#4713](https://github.com/Ombi-app/Ombi/issues/4713)) ([ff142b0](https://github.com/Ombi-app/Ombi/commit/ff142b09abbb2f9540387284222552e6e12639fe)) + + + ## [4.22.3](https://github.com/Ombi-app/Ombi/compare/v4.22.2...v4.22.3) (2022-07-28) @@ -350,12 +361,3 @@ -## [4.15.1](https://github.com/Ombi-app/Ombi/compare/v4.15.0...v4.15.1) (2022-03-18) - - -### Bug Fixes - -* **mediaserver:** fixed an issue where we were not detecting available content correctly [#4542](https://github.com/Ombi-app/Ombi/issues/4542) ([9cdd6f4](https://github.com/Ombi-app/Ombi/commit/9cdd6f41cdab8825a984905c089611409c53c753)) - - - diff --git a/version.json b/version.json index e5e478173..938ea688c 100644 --- a/version.json +++ b/version.json @@ -1,3 +1,3 @@ { - "version": "4.22.3" + "version": "4.22.4" } \ No newline at end of file From f044a4325a3d6472fe1492cc388598f94bcf5275 Mon Sep 17 00:00:00 2001 From: tidusjar Date: Fri, 5 Aug 2022 20:17:36 +0100 Subject: [PATCH 7/8] test: fixed automationt tests [skip ci] --- tests/cypress/tests/details/tv/tvdetails-buttons.spec.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/cypress/tests/details/tv/tvdetails-buttons.spec.ts b/tests/cypress/tests/details/tv/tvdetails-buttons.spec.ts index 5830f4794..ad56572ae 100644 --- a/tests/cypress/tests/details/tv/tvdetails-buttons.spec.ts +++ b/tests/cypress/tests/details/tv/tvdetails-buttons.spec.ts @@ -68,15 +68,16 @@ describe("TV Details Buttons", () => { it("Issues Enabled", () => { - cy.intercept("GET", "Settings/issuesenabled", 'true'); + cy.intercept("GET", "**/Settings/issuesenabled", 'true').as('issuesEnabled'); cy.visit("/details/tv/1399"); + cy.wait('@issuesEnabled'); Page.reportIssueButton.should('be.visible'); }); it("Issues Disabled", () => { - cy.intercept("GET", "Settings/issuesenabled", 'false'); + cy.intercept("GET", "**/Settings/issuesenabled", 'false'); Page.visit("1399"); From 26ac75f0c223c2a91e3471797ae46ede3fde89cc Mon Sep 17 00:00:00 2001 From: sephrat <34862846+sephrat@users.noreply.github.com> Date: Mon, 8 Aug 2022 16:52:18 +0200 Subject: [PATCH 8/8] fix: Log Microsoft warnings to log file (#4723) [skip ci] --- src/Ombi/appsettings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Ombi/appsettings.json b/src/Ombi/appsettings.json index b27b627a9..3de3dabad 100644 --- a/src/Ombi/appsettings.json +++ b/src/Ombi/appsettings.json @@ -4,7 +4,7 @@ "LogLevel": { "Default": "Warning", "System": "Warning", - "Microsoft": "None", + "Microsoft": "Warning", "Hangfire": "None", "System.Net.Http.HttpClient.health-checks": "Warning", "HealthChecks": "Warning"