diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index e65b9e86..021c21bc 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -33,7 +33,7 @@ jobs: - uses: golangci/golangci-lint-action@v9 with: - version: v2.6 + version: v2.6.2 only-new-issues: true lint-frontend: diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md index f8ace30e..ee613996 100644 --- a/DEPLOYMENT.md +++ b/DEPLOYMENT.md @@ -9,7 +9,7 @@ Since the build action is triggered on every push to any branch, non developers can obtain testing builds easily from [GitHub Actions](https://github.com/satisfactorymodding/SatisfactoryModManager/actions/workflows/push.yml) artifact output. You need to be signed into GitHub to download them, and they expire after some time. -TODO how to point dev builds to ficsit.dev (staging) instead? +To point development builds to ficsit.dev instead of production, see the [Readme's configuration section](./README.md#Configuration). ## Releases diff --git a/README.md b/README.md index 88ac8662..fc88e232 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,14 @@ If you want to point to the SMR staging API instead of production, edit: * `main.go` to set `api-base` to the staging api (`https://api.ficsit.dev`) * `frontend\.graphqlrc.yml` to set `schema` to the staging api (`https://api.ficsit.dev/v2/query`) +If you want to use a local build of [ficsit-cli](https://github.com/satisfactorymodding/ficsit-cli), +use the [Go `replace` directive](https://go.dev/wiki/Modules#when-should-i-use-the-replace-directive) (and do not commit the change), +for example: + +```ps1 +go mod edit -replace github.com/satisfactorymodding/ficsit-cli=C:\Git\ficsit-cli +``` + ### Development Server The development server will hot reload whenever you make changes to the Go or Typescript code. diff --git a/backend/installfinders/launchers/epic/epic.go b/backend/installfinders/launchers/epic/epic.go index 3b20124f..667b5f90 100644 --- a/backend/installfinders/launchers/epic/epic.go +++ b/backend/installfinders/launchers/epic/epic.go @@ -13,6 +13,7 @@ type Manifest struct { CatalogNamespace string `json:"CatalogNamespace"` CatalogItemID string `json:"CatalogItemID"` MainGameAppName string `json:"MainGameAppName"` + AppName string `json:"AppName"` AppVersionString string `json:"AppVersionString"` InstallLocation string `json:"InstallLocation"` } @@ -35,7 +36,7 @@ func GetEpicBranch(appName string) (common.GameBranch, error) { case ExperimentalDedicatedServerAppName: return common.BranchExperimental, nil default: - return "", fmt.Errorf("unknown branch for %s", appName) + return "", fmt.Errorf("unknown branch for '%s'", appName) } } @@ -103,6 +104,10 @@ func FindInstallationsEpic(epicManifestsPath string, launcher string, platform c } branch, err := GetEpicBranch(epicManifest.MainGameAppName) + if err != nil { + // Some Epic installs appear to come in with a null MainGameAppName; fall back to AppName + branch, err = GetEpicBranch(epicManifest.AppName) + } if err != nil { findErrors = append(findErrors, common.InstallFindError{ Path: installLocation,