andrew-codes / playnite-web

Self-hosted Playnite companion web app; offering remote control, automation and sharing your library with friends.
GNU Affero General Public License v3.0
38 stars 7 forks source link

ApolloError: Cannot return null for non-nullable field Game.releases. #610

Open 2600box opened 3 weeks ago

2600box commented 3 weeks ago

Hello,

Tried with the latest docker and plugin. Removed old database from docker. Sync runs, but the web interface doesn't show any games. Log shows this ApolloError: Cannot return null for non-nullable field Game.releases.

Please let me know if I am doing something wrong, or if you need a longer extract from the log, etc.

Thanks!

After first sync:

playnite_web_app-1  | 2024-11-04T21:47:19.470Z playnite-web/game-db-updater/handler/persistAssets Persisting game entity asset, cover, Release with id 2f7910e6-bfca-4f4f-983d-df3837e51074. Original filename: ab2f0876-fb19-49da-9af4-1aa579218dbd.jpg. New asset ID ab2f0876-fb19-49da-9af4-1aa579218dbd.webp
playnite_web_app-1  | 2024-11-04T21:47:19.473Z playnite-web/game-db-updater/handler/persistAssets Persisting game entity asset, cover, Release with id 03fc376e-fdeb-4b8a-ac9a-d60d72886776. Original filename: 7c29fe72-9c08-432f-9e8d-eddc195cf614.jpg. New asset ID 7c29fe72-9c08-432f-9e8d-eddc195cf614.webp
playnite_web_app-1  | 2024-11-04T21:47:19.474Z playnite-web/game-db-updater/handler/persistAssets Persisting game entity asset, cover, Release with id 3708cd67-6625-4447-ab6f-8e90c7cebc7f. Original filename: c6120306-9579-437f-8e5d-5d89f17b82f5.jpg. New asset ID c6120306-9579-437f-8e5d-5d89f17b82f5.webp
playnite_web_app-1  | 2024-11-05T08:10:46.075Z playnite-web/graphql/mongo Existing DB client not found; creating one with the provided URL: mongodb://mongo_db:27017
playnite_web_app-1  | 2024-11-05T08:10:46.075Z playnite-web/graphql/mongo No username or password provided; connecting without auth
playnite_web_app-1  | 2024-11-05T08:10:46.088Z playnite-web/graphql/mongo Connecting database client.
playnite_web_app-1  | GraphQLWsLink connected
playnite_web_app-1  | ERR Error: Cannot return null for non-nullable field Game.releases.
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34675)
playnite_web_app-1  |     at GE1 (/opt/playnite-web-app/server.production.js:372:36429)
playnite_web_app-1  |     at vlc (/opt/playnite-web-app/server.production.js:372:36284)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34830)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34632)
playnite_web_app-1  |     at /opt/playnite-web-app/server.production.js:372:34022
playnite_web_app-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
playnite_web_app-1  |     at async /opt/playnite-web-app/server.production.js:372:30183
playnite_web_app-1  |     at async Promise.all (index 4) {
playnite_web_app-1  |   path: [ 'games', 63, 'releases', 0 ],
playnite_web_app-1  |   locations: [ { line: 10, column: 5 } ],
playnite_web_app-1  |   extensions: [Object: null prototype] {}
playnite_web_app-1  | }
playnite_web_app-1  | ERR Error: Cannot return null for non-nullable field Game.releases.
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34675)
playnite_web_app-1  |     at GE1 (/opt/playnite-web-app/server.production.js:372:36429)
playnite_web_app-1  |     at vlc (/opt/playnite-web-app/server.production.js:372:36284)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34830)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34632)
playnite_web_app-1  |     at /opt/playnite-web-app/server.production.js:372:34022
playnite_web_app-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
playnite_web_app-1  |     at async /opt/playnite-web-app/server.production.js:372:30183
playnite_web_app-1  |     at async Promise.all (index 4) {
playnite_web_app-1  |   path: [ 'games', 63, 'releases', 0 ],
playnite_web_app-1  |   locations: [ { line: 10, column: 5 } ],
playnite_web_app-1  |   extensions: [Object: null prototype] {}
playnite_web_app-1  | }

After second sync:

playnite_web_app-1  | 2024-11-05T08:16:32.624Z playnite-web/game-db-updater/handler/persistAssets Persisting game entity asset, cover, Release with id 2f7910e6-bfca-4f4f-983d-df3837e51074. Original filename: ab2f0876-fb19-49da-9af4-1aa579218dbd.jpg. New asset ID ab2f0876-fb19-49da-9af4-1aa579218dbd.webp
playnite_web_app-1  | 2024-11-05T08:16:32.633Z playnite-web/game-db-updater/handler/persistAssets Persisting game entity asset, cover, Release with id ff89d21f-9ade-4ee8-b2a7-818799c63299. Original filename: b0053512-4fc5-462f-90ca-361bc6ca63b4.jpg. New asset ID b0053512-4fc5-462f-90ca-361bc6ca63b4.webp
playnite_web_app-1  | 2024-11-05T08:16:32.638Z playnite-web/game-db-updater/handler/persistAssets Persisting game entity asset, cover, Release with id 3708cd67-6625-4447-ab6f-8e90c7cebc7f. Original filename: c6120306-9579-437f-8e5d-5d89f17b82f5.jpg. New asset ID c6120306-9579-437f-8e5d-5d89f17b82f5.webp
mongo_db-1          | {"t":{"$date":"2024-11-05T08:17:27.402+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"10.10.9.4:49400","uuid":"7dc5a267-717d-4d07-9b22-ce6c17e18ad7","connectionId":27,"connectionCount":27}}
mongo_db-1          | {"t":{"$date":"2024-11-05T08:17:27.403+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn27","msg":"client metadata","attr":{"remote":"10.10.9.4:49400","client":"conn27","doc":{"driver":{"name":"nodejs","version":"6.8.0"},"platform":"Node.js v22.10.0, LE","os":{"name":"linux","architecture":"x64","version":"5.15.0-124-generic","type":"Linux"},"env":{"container":{"runtime":"docker"}}}}}
playnite_web_app-1  | r [ApolloError]: Cannot return null for non-nullable field Game.releases.
playnite_web_app-1  |     at new r (/opt/playnite-web-app/server.production.js:429:162)
playnite_web_app-1  |     at /opt/playnite-web-app/server.production.js:433:78940
playnite_web_app-1  |     at m (/opt/playnite-web-app/server.production.js:428:21204)
playnite_web_app-1  |     at /opt/playnite-web-app/server.production.js:428:21119
playnite_web_app-1  |     at new Promise (<anonymous>)
playnite_web_app-1  |     at Object.then (/opt/playnite-web-app/server.production.js:428:21086)
playnite_web_app-1  |     at Object.next (/opt/playnite-web-app/server.production.js:428:21214)
playnite_web_app-1  |     at jX1 (/opt/playnite-web-app/server.production.js:426:200851)
playnite_web_app-1  |     at aBu (/opt/playnite-web-app/server.production.js:426:201267)
playnite_web_app-1  |     at e.value (/opt/playnite-web-app/server.production.js:426:201809) {
playnite_web_app-1  |   graphQLErrors: [
playnite_web_app-1  |     Error: Cannot return null for non-nullable field Game.releases.
playnite_web_app-1  |         at BH (/opt/playnite-web-app/server.production.js:189:5905)
playnite_web_app-1  |         at /opt/playnite-web-app/server.production.js:189:6630
playnite_web_app-1  |         at Function.from (<anonymous>)
playnite_web_app-1  |         at Rtc (/opt/playnite-web-app/server.production.js:189:6515)
playnite_web_app-1  |         at BH (/opt/playnite-web-app/server.production.js:189:6060)
playnite_web_app-1  |         at BH (/opt/playnite-web-app/server.production.js:189:5864)
playnite_web_app-1  |         at /opt/playnite-web-app/server.production.js:189:5251
playnite_web_app-1  |         at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
playnite_web_app-1  |         at async Promise.all (index 4)
playnite_web_app-1  |         at async Promise.all (index 238) {
playnite_web_app-1  |       path: [Array],
playnite_web_app-1  |       locations: undefined,
playnite_web_app-1  |       extensions: [Object: null prototype] {}
playnite_web_app-1  |     }
playnite_web_app-1  |   ],
playnite_web_app-1  |   protocolErrors: [],
playnite_web_app-1  |   clientErrors: [],
playnite_web_app-1  |   networkError: null,
playnite_web_app-1  |   extraInfo: undefined
playnite_web_app-1  | } undefined
playnite_web_app-1  | ERR Error: Cannot return null for non-nullable field Game.releases.
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34675)
playnite_web_app-1  |     at GE1 (/opt/playnite-web-app/server.production.js:372:36429)
playnite_web_app-1  |     at vlc (/opt/playnite-web-app/server.production.js:372:36284)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34830)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34632)
playnite_web_app-1  |     at /opt/playnite-web-app/server.production.js:372:34022
playnite_web_app-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
playnite_web_app-1  |     at async /opt/playnite-web-app/server.production.js:372:30183
playnite_web_app-1  |     at async Promise.all (index 4) {
playnite_web_app-1  |   path: [ 'games', 238, 'releases', 0 ],
playnite_web_app-1  |   locations: [ { line: 10, column: 5 } ],
playnite_web_app-1  |   extensions: [Object: null prototype] {}
playnite_web_app-1  | }
andrew-codes commented 2 weeks ago

Hi, thanks for positng the issue! Hopefully, we can figure out a solution. If possible, can you provide the following:

  1. Are there any items in the game collection with a releaseIds of an empty array? Using mongosh to connect to the mongo database, you can then do something like the following:
    
    # Use games database
    use games

Count how many game items have no release Ids associated to them.

db.game.find({releaseIds: []}).count()

Return all game items with no release Ids. Please provide some of this data, preferably the entire game's worth of data.

db.game.find({releaseIds: []})



For any of the games that may come back from the above, please cross reference them in Playnite and let me know what Platform and Source (library source) they are considered.

If you are not familiar or comfortable with this, then another alternative would be to provide all library sources in your Playnite library. Playnite Web ignores unknown platforms (to it) and I haven't yet supported all known platforms from Playnite. I'm happy to add them once I know what they are. Thanks!
2600box commented 2 weeks ago

Those commands do not return any results, not sure if there is some other variation to try?

The sources I have are Amazon, EA app, Epic, GOG, itch.io, RomM, Steam, Ubisoft Connect.

RomM is obviously the odd one out.

docker:~/playnite-web$ docker exec -it playnite-web-mongo_db-1 mongosh
Current Mongosh Log ID: 672dfa0d944d8df02ea02dd6
Connecting to:      mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.6.2
Using MongoDB:      6.0.4
Using Mongosh:      1.6.2

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.

------
   The server generated these startup warnings when booting
   2024-11-04T21:46:27.939+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
   2024-11-04T21:46:30.333+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
   2024-11-04T21:46:30.333+00:00: vm.max_map_count is too low
------

------
   Enable MongoDB's free cloud-based monitoring service, which will then receive and display
   metrics about your deployment (disk utilization, CPU, operation statistics, etc).

   The monitoring data will be available on a MongoDB website with a unique URL accessible to you
   and anyone you share the URL with. MongoDB may use this information to make product
   improvements and to suggest MongoDB products and deployment options to you.

   To enable free monitoring, run the following command: db.enableFreeMonitoring()
   To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
------

test> use games
switched to db games
games> db.game.find({ releaseIds: [] }).count()
0
games> db.game.find({ releaseIds: [] }).pretty()

games> db.game.find({releaseIds: []}).count()
0
games> db.game.find({releaseIds: []})

games> db.game.aggregate([
...   { $unwind: "$releaseIds" },
...   { $count: "totalReleaseIds" }
... ])
[ { totalReleaseIds: 683 } ]
games>

For what it is worth, playnite reports a total of 1089 games, in contrast to the 683 listed in mongodb.

The platforms listed in Playnite are Macintosh, Nintendo GameCube, PC (Linux), PC (Windows).

playnite_web_app-1  | GraphQLWsLink connected
playnite_web_app-1  | ERR Error: Cannot return null for non-nullable field Game.releases.
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34675)
playnite_web_app-1  |     at GE1 (/opt/playnite-web-app/server.production.js:372:36429)
playnite_web_app-1  |     at vlc (/opt/playnite-web-app/server.production.js:372:36284)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34830)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34632)
playnite_web_app-1  |     at /opt/playnite-web-app/server.production.js:372:34022
playnite_web_app-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
playnite_web_app-1  |     at async /opt/playnite-web-app/server.production.js:372:30183
playnite_web_app-1  |     at async Promise.all (index 4) {
playnite_web_app-1  |   path: [ 'games', 154, 'releases', 0 ],
playnite_web_app-1  |   locations: [ { line: 10, column: 5 } ],
playnite_web_app-1  |   extensions: [Object: null prototype] {}
playnite_web_app-1  | }

Please do let me know what other information I can provide. Thanks

andrew-codes commented 2 weeks ago

RomM is problably the issue as it needs to be supported by Playnite Web. I have an open PR to add its support. You can track it here: #613 . Once merged, I'll cut a new release and you can verify if, at least, RomM releases show up in the db.release collection. Please do drop the database before syncing.

It is unclear whether this is the only issue, so please report back if:

  1. RomM games show up in the db.release collection and
  2. if the above problem continues to exist.

Thanks!

2600box commented 2 weeks ago

I tried the latest plugin and docker image, same result.

I don't follow your last message regarding "RomM games show up in the db.release collection". Where would I check for this?

Thanks

playnite_web_app-1  | 2024-11-09T07:35:56.621Z playnite-web/graphql/mongo Existing DB client not found; creating one with the provided URL: mongodb://mongo_db:27017
playnite_web_app-1  | 2024-11-09T07:35:56.622Z playnite-web/graphql/mongo No username or password provided; connecting without auth
playnite_web_app-1  | 2024-11-09T07:35:56.626Z playnite-web/graphql/mongo Connecting database client.
mongo_db-1          | {"t":{"$date":"2024-11-09T07:35:56.637+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"10.10.9.4:51896","uuid":"875e68a7-76ce-4f1c-bda8-43fd7157569a","connectionId":28,"connectionCount":23}}
mongo_db-1          | {"t":{"$date":"2024-11-09T07:35:56.638+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn28","msg":"client metadata","attr":{"remote":"10.10.9.4:51896","client":"conn28","doc":{"driver":{"name":"nodejs","version":"6.8.0"},"platform":"Node.js v22.11.0, LE","os":{"name":"linux","architecture":"x64","version":"5.15.0-124-generic","type":"Linux"},"env":{"container":{"runtime":"docker"}}}}}
mongo_db-1          | {"t":{"$date":"2024-11-09T07:35:56.763+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"10.10.9.4:51900","uuid":"ab0050ce-36f7-47e3-9822-6b2db6226763","connectionId":29,"connectionCount":24}}
mongo_db-1          | {"t":{"$date":"2024-11-09T07:35:56.779+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn29","msg":"client metadata","attr":{"remote":"10.10.9.4:51900","client":"conn29","doc":{"driver":{"name":"nodejs","version":"6.8.0"},"platform":"Node.js v22.11.0, LE","os":{"name":"linux","architecture":"x64","version":"5.15.0-124-generic","type":"Linux"},"env":{"container":{"runtime":"docker"}}}}}
playnite_web_app-1  | GraphQLWsLink connected
playnite_web_app-1  | ERR Error: Cannot return null for non-nullable field Game.releases.
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34675)
playnite_web_app-1  |     at GE1 (/opt/playnite-web-app/server.production.js:372:36429)
playnite_web_app-1  |     at vlc (/opt/playnite-web-app/server.production.js:372:36284)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34830)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34632)
playnite_web_app-1  |     at /opt/playnite-web-app/server.production.js:372:34022
playnite_web_app-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
playnite_web_app-1  |     at async /opt/playnite-web-app/server.production.js:372:30183
playnite_web_app-1  |     at async Promise.all (index 4) {
playnite_web_app-1  |   path: [ 'games', 164, 'releases', 0 ],
playnite_web_app-1  |   locations: [ { line: 10, column: 5 } ],
playnite_web_app-1  |   extensions: [Object: null prototype] {}
playnite_web_app-1  | }
playnite_web_app-1  | ERR Error: Cannot return null for non-nullable field Game.releases.
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34675)
playnite_web_app-1  |     at GE1 (/opt/playnite-web-app/server.production.js:372:36429)
playnite_web_app-1  |     at vlc (/opt/playnite-web-app/server.production.js:372:36284)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34830)
playnite_web_app-1  |     at h6 (/opt/playnite-web-app/server.production.js:372:34632)
playnite_web_app-1  |     at /opt/playnite-web-app/server.production.js:372:34022
playnite_web_app-1  |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
playnite_web_app-1  |     at async /opt/playnite-web-app/server.production.js:372:30183
playnite_web_app-1  |     at async Promise.all (index 4) {
playnite_web_app-1  |   path: [ 'games', 164, 'releases', 0 ],
playnite_web_app-1  |   locations: [ { line: 10, column: 5 } ],
playnite_web_app-1  |   extensions: [Object: null prototype] {}
playnite_web_app-1  | }
mongo_db-1          | {"t":{"$date":"2024-11-09T07:36:07.143+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"10.10.9.4:45972","uuid":"e8f4ced1-50cb-49e7-b371-bf788bc7dcb3","connectionId":30,"connectionCount":25}}
mongo_db-1          | {"t":{"$date":"2024-11-09T07:36:07.144+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn30","msg":"client metadata","attr":{"remote":"10.10.9.4:45972","client":"conn30","doc":{"driver":{"name":"nodejs","version":"6.8.0"},"platform":"Node.js v22.11.0, LE","os":{"name":"linux","architecture":"x64","version":"5.15.0-124-generic","type":"Linux"},"env":{"container":{"runtime":"docker"}}}}}
mongo_db-1          | {"t":{"$date":"2024-11-09T07:37:21.267+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"127.0.0.1:40664","uuid":"576bfef6-dad3-419f-9676-1ba1e200dac1","connectionId":31,"connectionCount":26}}
mongo_db-1          | {"t":{"$date":"2024-11-09T07:37:21.267+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"127.0.0.1:40672","uuid":"b050358b-829e-42cb-a0dd-b13545a1f057","connectionId":32,"connectionCount":27}}
mongo_db-1          | {"t":{"$date":"2024-11-09T07:37:21.269+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn31","msg":"client metadata","attr":{"remote":"127.0.0.1:40664","client":"conn31","doc":{"driver":{"name":"nodejs|mongosh","version":"4.13.0"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.15.0-124-generic"},"platform":"Node.js v16.19.0, LE (unified)","version":"4.13.0|1.6.2","application":{"name":"mongosh 1.6.2"}}}}
mongo_db-1          | {"t":{"$date":"2024-11-09T07:37:21.270+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn32","msg":"client metadata","attr":{"remote":"127.0.0.1:40672","client":"conn32","doc":{"driver":{"name":"nodejs|mongosh","version":"4.13.0"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.15.0-124-generic"},"platform":"Node.js v16.19.0, LE (unified)","version":"4.13.0|1.6.2","application":{"name":"mongosh 1.6.2"}}}}
sloopbun@docker:~/playnite-web$ docker exec -it playnite-web-mongo_db-1 mongosh
Current Mongosh Log ID: 672f106e0c420bbd75e1ed42
Connecting to:          mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.6.2
Using MongoDB:          6.0.4
Using Mongosh:          1.6.2

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

------
   The server generated these startup warnings when booting
   2024-11-09T07:33:29.385+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
   2024-11-09T07:33:31.462+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
   2024-11-09T07:33:31.463+00:00: vm.max_map_count is too low
------

------
   Enable MongoDB's free cloud-based monitoring service, which will then receive and display
   metrics about your deployment (disk utilization, CPU, operation statistics, etc).

   The monitoring data will be available on a MongoDB website with a unique URL accessible to you
   and anyone you share the URL with. MongoDB may use this information to make product
   improvements and to suggest MongoDB products and deployment options to you.

   To enable free monitoring, run the following command: db.enableFreeMonitoring()
   To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
------

test> show dbs;
admin    8.00 KiB
config  12.00 KiB
local    8.00 KiB
test> show dbs;
admin   40.00 KiB
config  12.00 KiB
games    2.36 MiB
local   40.00 KiB
test> use games
switched to db games
games> db.game.find({releaseIds: []}).count()
0
games> db.game.find({releaseIds: []})

games>
andrew-codes commented 2 weeks ago

Hi, sorry for the lack of clarity. There are 2 collections with game information: game and release. The release collection is one to one with Playnite's games and the game collection aggregates games by name across varying platforms.

Can you verify if any of your RomM games from Playnite are in the release database collection? Something like:

use games
db.release.find({ name: "RomM Game Name" })
// or
db.release.find({ id: "Playnite's Game ID" })

Also, can you please provide what sources you have on Playnite Web? I want to ensure the RomM source has been correctly supported by Playnite Web. You can find this information in the source database collection (db.source.find()).

My suspicion is that either the RomM support I added is incorrect or there is a secondary problem happening. The above information will help me find the next course of action. Thanks!