Commit graph

10280 commits

Author SHA1 Message Date
Daniel Johnson 8d6b1a0576 Move all preference panel init to 'populate' methods that are called on selecting them; this leaves the rest of the preferences dialog usable even if one panel crashes when initialized this way.
Should help with #5526
2024-06-30 15:49:06 -04:00
Daniel Johnson 696219fef1 Improved error messages for when trashing fails. Mark them localizable too. 2024-06-29 09:07:21 -04:00
Daniel Johnson 334aecbe77 Improved trashing error reporting; more logging and include the failed paths in the error message.
To help with #5523
2024-06-29 08:16:16 -04:00
Daniel Johnson 5ac77b3fee Also enable multiple auto-generated installers for Itch.IO, just like GOG! 2024-06-26 20:07:25 -04:00
Daniel Johnson 9cd311e9da Enable GOG service to offer more than once auto-generated installer, when GOG has multiple platforms we support.
This way the user can select between Linux or Wine builds of a game.

Resolve #5391
2024-06-26 19:47:14 -04:00
Daniel Johnson 1c1a79c660 Also filter DLCs according to the runner and OS 2024-06-26 17:19:51 -04:00
Daniel Johnson d9ae24254c Filter patches according to the runner of the existing game, and the OS of the patch.
Resolves #5522.
2024-06-26 17:15:52 -04:00
Daniel Johnson c245f6af3e Correct spelling error in log message 2024-06-26 17:05:25 -04:00
Daniel Johnson 98f53221f3 Re-arrange code and add a hack so that wineexec() will work with GE-Proton (Latest)
It needs to recognize that oddball "path" that is not a path, and in that case substitute the proper UMU script and *not* set PROTONPATH, since we don't know what that is. Seems to work, still super ugly though.

Resolves #5519
2024-06-18 16:58:33 -04:00
Daniel Johnson 350305cf86 Tolerate non-UTF8 data found in another processes enviroment.
We don't actually care about this data, we only look for our own environment variable and the command line, and we are looking for ASCII stuff we put there anyway, so these replacements are harmless.

Resolves #5518
2024-06-16 09:31:54 -04:00
Daniel Johnson fea3c44561 Add filtering support for the missing view, so the search bar works and hidden games are hidden.
This is an extension of #5472
2024-06-15 18:52:23 -04:00
Dan Johnson 06a14c605e Add missing 'continue' to avoid repeating Save() call. 2024-06-12 20:43:22 -04:00
Daniel Johnson 713f6191f5 OK, turns out the appName-less game is a subscription, not a game, and we need to skip those.
Resolves #5516
2024-06-12 19:45:06 -04:00
Daniel Johnson 396ed9d752 Add logging for malformed EGS games
For #5516
2024-06-12 18:09:11 -04:00
Daniel Johnson 19ad7149a7 Fix bugged Itch.io patch download; it needs to discard the 'extra' downloads. 2024-06-11 18:15:08 -04:00
Daniel Johnson 27807ce55f If a game has a service, but that service does not know the game, we'll fall back to treating it as a Lutris game in the hope that Lutris will have an installer we can use. 2024-06-11 16:31:13 -04:00
mintymoons 3d143a70b3 Link update
Atari800's dead link changed by the current one.
- MicroM8's insecure or suspicios link changed by the current one.
2024-06-01 17:59:46 -07:00
Daniel Johnson b4a3dab399 Add checks to tolerate blank lines in the output of lspci.
Resolves #5492
2024-06-01 20:25:07 -04:00
Daniel Johnson fc87c68729 Avoid crashing if we have no samples at all, now that this can happen. 2024-05-30 05:04:13 -04:00
Daniel Johnson cb56f64a14 Insert speeds in sorted order so skipping extreme values skips the highest and lowest, not the oldest and newest. 2024-05-30 05:00:50 -04:00
Daniel Johnson fe0d6b2da6 Add protection from division by zero
We don't even use the plain speed, and the average speed can just leave out samples where the elapsed time is zero.

Resolves #5493
2024-05-30 04:58:05 -04:00
Daniel Johnson dde4d71f9c Remove position-only parameter list to restore compatibility with Python 3.7
Resolves #5491
2024-05-29 16:43:15 -04:00
Daniel Johnson dbdb841edc Remove the old path from the cache when moving a game, so we don't get a spurious 'missing' listing 2024-05-25 15:20:33 -04:00
Daniel Johnson 696863bee4 Use path_contains to see if one path is 'inside' another, rather than a startswith.
Also resolves #5223 some more
2024-05-25 15:08:31 -04:00
Daniel Johnson 9c7f04138f Correct error handling for move game errors, so it displays the proper error.
Resolves #5223
2024-05-25 15:08:31 -04:00
Eric Eastwood 6dffaa6394 Fix missing quote syntax error in bug report issue template
```
There is a problem with this template

YAML syntax error: (): did not find expected key while parsing a block mapping at line 20 column 7. Learn more about this error.
```
2024-05-24 23:24:53 -07:00
Mathieu Comandon 672caf45ab Log out and log back in when Ubisoft credentials fail 2024-05-22 17:34:51 -07:00
Daniel Johnson 0fcffef9ed Revert "Consolidate AuthTokenExpiredError and AuthenticationError."
This reverts commit 10f7e52cff.
2024-05-19 16:13:35 -04:00
Daniel Johnson c1ea6191c8 Revert "Add the service ID to AuthenticationError."
This reverts commit 1274401c3d.
2024-05-19 16:13:35 -04:00
Daniel Johnson 7b7305c555 Revert "Add a backstop handler for AuthenticationError that just logs out and logs back in; that's the handling we do on reload, and it should be appropriate for failures at other times."
This reverts commit e2d3e6be3a.
2024-05-19 16:13:35 -04:00
Daniel Johnson e05ba61ede Revert "Raise AuthenticationError from the service load() method if not authenticated."
This reverts commit f4d1e1a99f.
2024-05-19 16:13:35 -04:00
Daniel Johnson e77298ee83 Revert "Hook up the special exception backstops up in LutrisWindow.__init__."
This reverts commit b0c0e295fc.
2024-05-19 16:13:35 -04:00
Daniel Johnson b0c0e295fc Hook up the special exception backstops up in LutrisWindow.__init__.
It's better not to change state like this just because we *import* lutriswindow.py.
2024-05-19 10:42:53 -04:00
Daniel Johnson f4d1e1a99f Raise AuthenticationError from the service load() method if not authenticated.
Some services have odd errors that I don't understand, and I've just left those alone for now.
2024-05-19 08:37:40 -04:00
Daniel Johnson e2d3e6be3a Add a backstop handler for AuthenticationError that just logs out and logs back in; that's the handling we do on reload, and it should be appropriate for failures at other times.
Should help with #5406
2024-05-19 08:30:37 -04:00
Daniel Johnson 1274401c3d Add the service ID to AuthenticationError.
This should allow us to do a relogin in a more general way.
2024-05-19 08:18:28 -04:00
Daniel Johnson 10f7e52cff Consolidate AuthTokenExpiredError and AuthenticationError.
Most uses of AuthenticationError actually say "please log in again" which is the handling for AuthTokenExpiredError- and my read is the few others could generally be addressed that way too.
2024-05-19 08:09:42 -04:00
Daniel Johnson f8468e120d Add handling in case the playtime in the config .yml for a game is garbage; this will log and reset the playtime to 0.
Resolves #5476
2024-05-14 19:08:45 -04:00
Daniel Johnson 87b18f2fa0 Add exception handling so that if we can't parse the icon from an EXE, we log and continue. It's okay not to have an icon; all the cool kids use banners.
Resolves #5475
2024-05-14 19:03:03 -04:00
Daniel Johnson 52fb949ff5 Do a slightly better job of keeping the view up to date when a game is hidden by the user. 2024-05-14 18:58:34 -04:00
Daniel Johnson 655301cf03 Enforce the 'hidden' setting even in the recent items.
Resolves #5472
2024-05-14 18:49:25 -04:00
Daniel Johnson 5959768f8a Add exception handling so a malformed media file does nto crash Lutris, and does not prevent you from setting a new media.
Resolves #5474
2024-05-13 04:35:00 -04:00
Daniel Johnson 075b531080 Fix various merge messes 2024-05-12 17:36:06 -07:00
Daniel Johnson 5c32bacf71 Fix some ruff gruffness. 2024-05-12 17:36:06 -07:00
Daniel Johnson 23d18390ee Fixes for the search tooltip. 2024-05-12 17:36:06 -07:00
Daniel Johnson b9ddd740d2 Smarter handling of "-"
It will not be  stop token, so a search for "Ex-Zodiac" finds just that even without quotes; '-' must be at the start to count as negation. You can write Ex AND -Zodiac or "Ex" -Zodiac to override this.
2024-05-12 17:36:06 -07:00
Daniel Johnson 7f5b259419 Fix buggy stop handling; we need to stop before the tag, not before the ':'. 2024-05-12 17:36:06 -07:00
Daniel Johnson c0b10867ed Change the special tags to use 'contains' instead of '=='
Thus, platform:win finds Windows, and runner:win finds Wine, and so on.

This should be more forgiving for messy carbon based life forms.
2024-05-12 17:36:06 -07:00
Daniel Johnson 4386663709 Expand runner search to search runner human names 2024-05-12 17:36:06 -07:00
Daniel Johnson 5f1c135cdb Add a "source:" tag that matches service names, and also "service:" as an alias. 2024-05-12 17:36:06 -07:00