Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.6.0 #1248

Open
wants to merge 103 commits into
base: release
Choose a base branch
from
Open

v3.6.0 #1248

wants to merge 103 commits into from

Conversation

adamantike
Copy link
Collaborator

No description provided.

gantoine and others added 30 commits August 26, 2024 15:55
* Initialize `removeCover` as `false` on each dialog render, so previous
  overrides don't affect the initial state.
* Make both file upload and cover online search update `removeCover` to
  false.
* Fix collection update to send `remove_cover` to the API.

Potential fix for #1169.
fix: Correctly update state for cover deletion
If a game is manually unmatched, we update its `name` field to
`file_name` (which includes both tags and extension). After that, if we
go to the Rom list, and click on "Manual match" for that rom, the search
field is populated with that Rom name, which commonly won't retrieve any
results from the metadata providers.

This change makes the "Manual match" search term to use the filename
without tags or extension, when the Rom is currently not matched. It
also triggers the search automatically when a search term was set.

Potential fix for #1167.
…unmatched-rom

fix: Use filename without tags or extension when matching unmatched game
[ROMM-1181] Skip hashing games on desktop platorms
[ROMM-1176] Fetch video ID and place in carousel
@adamantike adamantike changed the title v3.6.0rc1 v3.6.0 Oct 23, 2024
zurdi15 and others added 29 commits October 24, 2024 10:13
misc: Create enum for authorization scopes
…s-from-UI

feat: Enable editable exclusions from webUI
The `tar` decompression function was failing for some users, with error
message:

```
'NoneType' object does not support the context manager protocol
```

As explained in the official documentation [1], the `extractfile` method
returns `None` if the member is not a regular file or a link. This
change skips any member that is not a regular file.

[1] https://docs.python.org/3/library/tarfile.html#tarfile.TarFile.extractfile
Some of the image links for IGDB age ratings were broken. This commit
fixes all of them.
The IGDB API provides screenshots in a 1280x720 resolution, when either
`screenshot_huge` or `720p` size values are used [1]. The
`screenshot_huge` uses `Lfill`, while `720p` uses `Fit` as the resizing
method.

That means that either `screenshot_huge` or `720p` will provide the
correct aspect ratio for 16:9 platforms. However, for platforms with a
different aspect ratio, we need to use the `720p` size value to get the
correct image instead of a cropped one.

Example:
- [`screenshot_huge`](https://images.igdb.com/igdb/image/upload/t_screenshot_huge/c77bodnkwu73gs2jwhw4.jpg)
- [`720p`](https://images.igdb.com/igdb/image/upload/t_720p/c77bodnkwu73gs2jwhw4.jpg)

[1] https://api-docs.igdb.com/#images
The source image was not being shown on the results of the manual match
dialog, because scrapper image names do not match the source names. To
avoid this issue, the `MatchedSource` type was updated to include a
`logo_path` property, which will be used to set the correct image path.
The short-term goal is to completely typehint the IGDB API responses. This
first change adds the base structures and enums RomM currently uses.

The `ExpandableField` type will allow us to model the expansion
mechanism the IGDB API provides, where a field can include either an ID,
or the full nested structure.
…ider-files

fix: Make tar decompression only consider regular files
…e-links

fix: Broken IGDB age rating image links
…ght-aspect-ratio

fix: Download IGDB screenshots with right aspect ratio
fix: Show source image on each result for Manual match
misc: Initial addition of IGDB typehints
Use tini [1] as the container entrypoint to ensure that the container
process is properly reaped when the container is stopped.

This is needed as the main container command is a shell script.

A simple way to test this change is to:

1. Build the container image and run it using `docker compose up`.
2. Within the same terminal, stop the container using `Ctrl+C`.
3. Verify that the container is properly stopped right away.

Without `tini`, the container takes a few seconds to stop, and it makes
one CPU core to be used at 100% during that time.

[1] https://github.com/krallin/tini
…ypoint

misc: Use tini as container entrypoint
fix: Personal tab mobile responsive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants