tkashkin / GameHub

All your games in one place
https://tkashkin.github.io/projects/gamehub
GNU General Public License v3.0
2.23k stars 128 forks source link

Repeated games in Humble Bundle #31

Closed neuromancer closed 6 years ago

neuromancer commented 6 years ago

I tried GameHub 0.8.0 and some of my Humble Bundle games are showed two or even three time:

repeated

(some of these entries have different icons)

tkashkin commented 6 years ago

Probably this games are different entries and have different ids. I don't think it's possible to do something with it.

0.8.0 has merging feature which should be enabled by default. It should merge games with same or similar enough titles into one. However it may not work in this case because all games are from same source. This expression needs to be changed to allow merging games from same source.

tkashkin commented 6 years ago

After allowing merges from same source I've noticed a lot of false-positive merges. Do you have any ideas how to, for example, allow

Merging 'Orwell' (GOG:2076059543) with 'Orwell: Keeping an Eye on You' (Humble Bundle:orwell_drmfree_build_y9m9v)

but skip

Merging 'Half-Life: Opposing Force' (Steam:50) with 'Half-Life' (Steam:70)
Merging 'Half-Life' (Steam:70) with 'Half-Life: Blue Shift' (Steam:130)
Merging 'Half-Life' (Steam:70) with 'Half-Life: Source' (Steam:280)
Merging 'Half-Life 2' (Steam:220) with 'Half-Life 2: Deathmatch' (Steam:320)
Merging 'Half-Life 2' (Steam:220) with 'Half-Life 2: Lost Coast' (Steam:340)
Merging 'Half-Life 2' (Steam:220) with 'Half-Life 2: Episode One' (Steam:380)
Merging 'Half-Life 2' (Steam:220) with 'Half-Life 2: Episode Two' (Steam:420)
Merging 'Half-Life 2' (Steam:220) with 'Half-Life 2: Update' (Steam:290930)

Maybe allow fuzzy match when sources are different, but stick to exact name matching when sources are same? It can still cause false-positives, but most of the time it will probably work correctly.

neuromancer commented 6 years ago

It works better. Still, there are some unexpected effects:

vvvvvv

tkashkin commented 6 years ago

They are different entries. Should only first entry for each source be displayed?

neuromancer commented 6 years ago

I don't know, but the in the latest revision, VVVVVV disappeared! :thinking:

tkashkin commented 6 years ago

Is there something about VVVVVV in log?

neuromancer commented 6 years ago

Nothing in the log:

$ gamehub --debug
Registering Stacktrace 0.9.4
[INFO 22:27:40.899521] Application.vala:154: GameHub version: 0.8.0
[INFO 22:27:40.899552] Application.vala:156: Kernel version: 4.17.11-arch1
[INFO 22:27:41.018165] app.vala:32: Distro: NAME="Arch Linux"
[DEBUG 22:27:41.019549] Settings.vala:163: Loading settings from schema 'com.github.tkashkin.gamehub.ui'
[DEBUG 22:27:41.058215] Settings.vala:163: Loading settings from schema 'com.github.tkashkin.gamehub.auth.steam'
[DEBUG 22:27:41.058537] GOG.vala:136: [Auth] Refreshing GOG access token with refresh token: 
...
[DEBUG 22:27:41.931587] [GdkPixbuf] gdk_pixbuf_from_pixdata() called on:
[DEBUG 22:27:41.931634] [GdkPixbuf]     Encoding raw
[DEBUG 22:27:41.931659] [GdkPixbuf]     Dimensions: 14 x 14
[DEBUG 22:27:41.931677] [GdkPixbuf]     Rowstride: 56, Length: 808
[DEBUG 22:27:41.931699] [GdkPixbuf]     Copy pixels == false
[DEBUG 22:27:43.896797] GOG.vala:205: [GOG] Loading games: page 1 of 3
[DEBUG 22:27:45.391444] GOG.vala:205: [GOG] Loading games: page 2 of 3
[DEBUG 22:27:46.115518] GOG.vala:205: [GOG] Loading games: page 3 of 3
[DEBUG 22:27:54.191702] [GdkPixbuf] gdk_pixbuf_from_pixdata() called on:
[DEBUG 22:27:54.191765] [GdkPixbuf]     Encoding raw
[DEBUG 22:27:54.191807] [GdkPixbuf]     Dimensions: 14 x 14
[DEBUG 22:27:54.191845] [GdkPixbuf]     Rowstride: 56, Length: 808
[DEBUG 22:27:54.191873] [GdkPixbuf]     Copy pixels == false
tkashkin commented 6 years ago

Probably something is wrong in the merges table of database. Check ~/.cache/com.github.tkashkin.gamehub/games.db. You can use http://inloop.github.io/sqlite-viewer/ to view database.

neuromancer commented 6 years ago

Removing the cache and restarting fixes the missing game. It's fixed now.