Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SteamGridDB/steam-rom-manager
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.3.40
Choose a base ref
...
head repository: SteamGridDB/steam-rom-manager
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing 2,710 changed files with 239,849 additions and 104,067 deletions.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Bug report
about: Create a bug report
title: "[BUG]"
labels:
assignees: ""
---

<!-- Before creating a bug report, make sure you are using the latest version of Steam Rom Manager. -->
<!-- Nobody wants to try and figure out an issue on an old version where something may have already been fixed, and as such outdated versions are unsupported. -->

<!-- Support for usage of Steam Rom Manager and creating/using parsers do not belong here, support can be obtained via Discord. -->
<!-- Likewise if you are using SRM via Emudeck, seek support via their Discord as they ship their own preconfigured parsers with Steam Rom Manager that we do not provide support for. -->

- **Describe the bug**
<!-- A clear and concise description of what the bug is. -->

- **Steps to reproduce the behavior**
<!-- A clear and concise set of steps to reproduce the behaviour -->

- **Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->

- **Screenshots**
<!-- If applicable, add screenshots to help explain your problem. -->
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: Feature request
about: Suggest an improvement or added feature
title: "[REQUEST]"
labels:
assignees: ""
---

<!-- Before creating a feature request, make sure you are using the latest version of Steam Rom Manager and that it isn't already implemented. -->

- **Feature information**
<!-- A clear and concise description of what the improvement or feature entails -->

- **Additional context**
<!-- Add any other context or screenshots that help depict what the feature would be like here -->
6 changes: 3 additions & 3 deletions .github/workflows/discord_release_hook.yml
Original file line number Diff line number Diff line change
@@ -9,12 +9,12 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4.1.6

- name: Setup Node.js environment
uses: actions/setup-node@v2.4.1
uses: actions/setup-node@v4.0.2
with:
node-version: 14.18.1
node-version: 22.2.0
check-latest: true

- name: Execute Discord webhook script
49 changes: 38 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ name: CI
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
branches: [master]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -17,39 +17,66 @@ jobs:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/checkout@v4.1.6

- name: Setup Python environment
uses: actions/setup-python@v5.1.0
with:
python-version: "3.10"

- name: Setup Node.js environment
uses: actions/setup-node@v2.4.1
uses: actions/setup-node@v4.0.2
with:
node-version: 14.18.1
node-version: 22.2.0
check-latest: true

- name: Install dependencies
run: |
npm install -g npm@latest
npm ci
npm install -g yarn@1.22
yarn install --frozen-lockfile
- name: Build Distribution
run: |
git lfs pull
npm run validate-files
npm run build:dist
yarn run presets:validate
yarn run build:dist
env:
SENTRY_AUTH: ${{ secrets.SENTRY_AUTH }}
- name: Build Linux
if: ${{ matrix.os == 'ubuntu-latest' }}
run: npm run build:linux -- --publish=onTagOrDraft
run: yarn run build:linux --publish=onTagOrDraft
env:
GH_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
- name: Build Windows
if: ${{ matrix.os == 'windows-latest' }}
run: npm run build:win -- --publish=onTagOrDraft
run: yarn run build:win --publish=onTagOrDraft
env:
GH_TOKEN: ${{ secrets.DEPLOY_TOKEN }}

- name: Build Mac
if: ${{ matrix.os == 'macOS-latest' }}
run: npm run build:mac -- --publish=onTagOrDraft
run: yarn run build:mac --publish=onTagOrDraft
env:
GH_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
- name: Upload Artifacts Windows
uses: actions/upload-artifact@v4.3.3
if: ${{ matrix.os == 'windows-latest' }}
with:
name: srm-build-windows
path: |
release/*.exe
release/*.msi
- name: Upload Artifacts Mac
uses: actions/upload-artifact@v4.3.3
if: ${{ matrix.os == 'macOS-latest' }}
with:
name: srm-build-mac
path: release/*.dmg
- name: Upload Artifacts Linux
uses: actions/upload-artifact@v4.3.3
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
name: srm-build-linux
path: |
release/*.deb
release/*.AppImage
19 changes: 0 additions & 19 deletions .github/workflows/presets_version.yml

This file was deleted.

54 changes: 43 additions & 11 deletions .github/workflows/pullrequests.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,9 @@ name: CIPR
on:
# Triggers the workflow on push or pull request events but only for the master branch
pull_request:
branches: [ master ]
branches:
- "master"
- "!l10n_*" # don't run from a crowdin PR

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -17,33 +19,63 @@ jobs:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/checkout@v4.1.6

- name: Setup Python environment
uses: actions/setup-python@v5.1.0
with:
python-version: "3.10"

- name: Setup Node.js environment
uses: actions/setup-node@v2.4.1
uses: actions/setup-node@v4.0.2
with:
node-version: 14.18.1
node-version: 22.2.0
check-latest: true

- name: Install dependencies
run: |
npm install -g npm@latest
npm ci
npm install -g yarn@1.22
yarn install --frozen-lockfile
- name: Build
run: |
git lfs pull
npm run validate-files
npm run build:dist
yarn run presets:validate
yarn run build:dist
- name: Build Linux
if: ${{ matrix.os == 'ubuntu-latest' }}
run: npm run build:linux -- --publish=never
run: yarn run build:linux --publish=never

- name: Build Windows
if: ${{ matrix.os == 'windows-latest' }}
run: npm run build:win -- --publish=never
run: yarn run build:win --publish=never

- name: Build Mac
if: ${{ matrix.os == 'macOS-latest' }}
run: npm run build:mac -- --publish=never
run: yarn run build:mac --publish=never

- name: Upload Artifacts Windows
uses: actions/upload-artifact@v4.3.3
if: ${{ matrix.os == 'windows-latest' }}
with:
name: srm-build-windows
path: |
release/*.exe
release/*.msi
- name: Upload Artifacts Linux
uses: actions/upload-artifact@v4.3.3
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
name: srm-build-linux
path: |
release/*.deb
release/*.AppImage
- name: Upload Artifacts Mac
uses: actions/upload-artifact@v4.3.3
if: ${{ matrix.os == 'macOS-latest' }}
with:
name: srm-build-mac
path: |
release/*.dmg
release/*.zip
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -4,3 +4,5 @@ release/
npm-debug.log*
.debug/
electron-builder.yml
/.vs
.DS_Store
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dist
webpack/*.js
3 changes: 3 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"endOfLine": "auto"
}
51 changes: 23 additions & 28 deletions .todo
Original file line number Diff line number Diff line change
@@ -1,33 +1,28 @@
# Notes
To update all the config presets at once I use
1) in WSL:
find . -type f -exec sed -i 's/\"defaultLogoImage\"\:\ \"\"\,/\"defaultLogoI
mage"\:\ \"\"\,\n\"defaultIcon\"\:\ \"\"\,/g' {} \;
2) in VIM:
:args . | argdo execute "normal gg=G" | update

# Fixes
Remove close steam if open warning and replace with something better
Steam parser only works for steam apps that are in a category
To update all the config presets at once:

1) Make a modifier in `src/renderer/modifiers/config-presets.modifier.ts` to make the desired change to the preset files
2) Commit changes.
2) Add the current app version and the commit hash for the last release (or any commit before presets change) to `files/presetsHashes.json`
3) Run `npm run update-files` and ensure the new presets validate (validation comes from the user-configuration schema), if not `git stash; git stash drop;`.
4) Commit changes and `git push`

# Features
Add missing artwork filter (2.4)
Add Parser level to preview (2.4)
Move enable/disable parser to sidebar (2.4)
Custom themes (3.0)
Sync tool (3.0)

# Backend changes
Command Line Interface (3.0)
# Fixes
Steam parser only works for steam apps that have been installed at least once.

# New Image Sources
Google (2.4)
# Features and Changes
0) Proton Capability
1) Filter or prefer certain image creators
2) Assign an sgdbId to sgdb game much earlier (and have fix match alter it as necessary)
3) Rework fileParser to make each stage of the title modification process immutable and trackable.

# New Parsers
Epic (2.4) -- Still has some strange behavior when finalTitle is used instead of fuzzyTitle
Origin (3.0)
Blizzard.net (3.0)
Uplay (3.0)
GOG (2.4)
EXE (3.0)
# Parsers (LM - Launcher Mode, EM - Executable Mode)
Amazon Games (LM, EM)
Battle.net (LM - EM not possible)
EA Desktop (LM, EM)
Epic (LM, EM)
GOG Galaxy (LM, EM)
Legendary (LM, EM)
Itch.io (EM - missing fileLaunchOptions)
UPlay (LM, EM - missing fileLaunchOptions)
UWP (LM, EM - missing fileLaunchOptions)
Loading