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.5.1
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 1,605 changed files with 169,960 additions and 165,847 deletions.
7 changes: 2 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -3,9 +3,9 @@ name: Bug report
about: Create a bug report
title: "[BUG]"
labels:
assignees: ''

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. -->

@@ -15,14 +15,11 @@ assignees: ''
- **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. -->
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -3,9 +3,9 @@ name: Feature request
about: Suggest an improvement or added feature
title: "[REQUEST]"
labels:
assignees: ''

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**
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
30 changes: 15 additions & 15 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,63 +17,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@v3
- uses: actions/checkout@v4.1.6

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

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

- name: Install dependencies
run: |
npm install -g npm@10.8.0
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@v3
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@v3
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@v3
uses: actions/upload-artifact@v4.3.3
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
name: srm-build-linux
39 changes: 26 additions & 13 deletions .github/workflows/pullrequests.yml
Original file line number Diff line number Diff line change
@@ -5,8 +5,8 @@ on:
# Triggers the workflow on push or pull request events but only for the master branch
pull_request:
branches:
- 'master'
- '!l10n_*' # don't run from a crowdin PR
- "master"
- "!l10n_*" # don't run from a crowdin PR

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -19,50 +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@v3
- 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@v3
uses: actions/setup-node@v4.0.2
with:
node-version: 22.2.0
check-latest: true

- name: Install dependencies
run: |
npm install -g npm@10.8.0
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@v3
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@v3
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 .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"
}
33 changes: 10 additions & 23 deletions .todo
Original file line number Diff line number Diff line change
@@ -1,41 +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


That was the old method!

New method:

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) Add the current app version and current app commit (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)
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`

# Fixes
Steam parser only works for steam apps that are in a category

Steam parser only works for steam apps that have been installed at least once.

# Features and Changes
0) Proton Capability
1) Filter by author
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) Separate out appImages data structure into all image source types
4) Add a SteamCDN provider

3) Rework fileParser to make each stage of the title modification process immutable and trackable.

# Parsers (LM - Launcher Mode, EM - Executable Mode)
Amazon Games (LM, EM)
Battle.net (LM)
Battle.net (LM - EM not possible)
EA Desktop (LM, EM)
Epic (LM, EM)
GOG Galaxy (LM, EM)
Legendary (EM)
Legendary (LM, EM)
Itch.io (EM - missing fileLaunchOptions)
UPlay (LM, EM - missing fileLaunchOptions)
UWP (LM, EM - missing fileLaunchOptions)
UWP (LM, EM - missing fileLaunchOptions)
96 changes: 43 additions & 53 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,54 +1,44 @@
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug Main",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}/dist",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
},
"runtimeArgs": [
"--remote-debugging-port=9222",
"${workspaceRoot}/dist/main.bundle.js"
],
"outFiles": [
"${workspaceRoot}/dist/**/*.js"
]
},
{
"name": "TS File",
"type": "node",
"request": "launch",
"args": [
"${relativeFile}"
],
"runtimeArgs": [
"-r",
"ts-node/register"
],
"cwd": "${workspaceFolder}"
},
{
"name": "Debug Renderer",
"type": "chrome",
"request": "attach",
"port": 9222,
"webRoot": "${workspaceRoot}/dist/renderer"
}
],
"compounds": [
{
"name": "Debug Electron",
"configurations": [
"Debug Main",
"Debug Renderer"
]
}
]
}
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug Main",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}/dist",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd"
},
"runtimeArgs": [
"--remote-debugging-port=9222",
"${workspaceRoot}/dist/main.bundle.js"
],
"outFiles": ["${workspaceRoot}/dist/**/*.js"]
},
{
"name": "TS File",
"type": "node",
"request": "launch",
"args": ["${relativeFile}"],
"runtimeArgs": ["-r", "ts-node/register"],
"cwd": "${workspaceFolder}"
},
{
"name": "Debug Renderer",
"type": "chrome",
"request": "attach",
"port": 9222,
"webRoot": "${workspaceRoot}/dist/renderer"
}
],
"compounds": [
{
"name": "Debug Electron",
"configurations": ["Debug Main", "Debug Renderer"]
}
]
}
6 changes: 3 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"vsicons.presets.angular": true,
"typescript.enablePromptUseWorkspaceTsdk": true,
"typescript.tsdk": "./node_modules/typescript/lib"
"vsicons.presets.angular": true,
"typescript.enablePromptUseWorkspaceTsdk": true,
"typescript.tsdk": "./node_modules/typescript/lib"
}
Loading