Related to fix for bug 70993
Short Description
Mod update feature does not work if some of the mods on the portal have no dependencies, not even "base". One such mod is Klonan's KS_Power.
Expected Behavior
As such mods are supported by the game itself, the mod updater should also support them. Moreover, it should not fail the entire operation of parsing the response JSON, but should preserve the data that it can parse, meaning mods that do have dependencies and have updates, should show the update option.
Replication Steps
- Ensure KS_Power is installed
- Launch game
- Choose Mods from the menu -> Navigate to Updates tab
- Observe that there is a warning sign and the message "Unable to check for updates". See the attached log for the full URL query and the error message.
Code: Select all
695.863 Info HttpSharedState.cpp:54: Downloading https://mods.factorio.com/api/mods?page_size=max&full=True&namelist=5dim_core&namelist=5dim_energy&namelist=5dim_resources&namelist=5dim_transport&namelist=A%20Sea%20Block%20Config&namelist=Achiever&namelist=add-loader&namelist=additional_aligned_underground_belts&namelist=air-filtering&namelist=alien-biomes&namelist=alien-biomes-hr-terrain&namelist=angelsaddons-oresilos&namelist=angelsaddons-warehouses&namelist=AngelsAddons-WarehouseSiloFix&namelist=angelsbioprocessing&namelist=angelsindustries&namelist=angelspetrochem&namelist=angelsrefining&namelist=angelssmelting&namelist=arumbalights&namelist=auto-research&namelist=bobassembly&namelist=bobelectronics&namelist=bobenemies&namelist=bobequipment&namelist=bobgreenhouse&namelist=bobinserters&namelist=boblibrary&namelist=boblogistics&namelist=bobmining&namelist=bobmodules&namelist=bobores&namelist=bobplates&namelist=bobpower&namelist=bobrevamp&namelist=bobtech&namelist=bobwarfare&namelist=BurnerLeech&namelist=ChangeMapSettings&namelist=CharcoalBurner&namelist=clmp_library&namelist=clmp_placeholder_entities&namelist=clmp_recipes&namelist=ClosestFirst&namelist=Clowns-Extended-Minerals&namelist=Clowns-Processing&namelist=CompressedFluids&namelist=Compression%20Chests&namelist=crafting_combinator&namelist=Crafting_Speed_Research&namelist=CreativeItems&namelist=deadlock-beltboxes-loaders&namelist=deadlock-integrations&namelist=deadlock-stacking-crating-bobs&namelist=DeadlockCrating&namelist=DeepMine&namelist=DeleteEmptyChunks&namelist=even-distribution&namelist=EvoGUI&namelist=Expanded_Robot_Tech&namelist=factorio-reach&namelist=FARL&namelist=Fluid%20Void&namelist=FluidFilter&namelist=FNEI&namelist=GreaterItemStacks&namelist=helmod&namelist=InitialScan&namelist=KS_Power&namelist=Landfill&namelist=LandfillPainting&namelist=LessUnplugged&namelist=LoaderRedux&namelist=long-reach&namelist=longer-belts-redux&namelist=manifold-pumps&namelist=mapgen-presets-fixes&namelist=MiningTools&namelist=ModuleInserter&namelist=mod_bridges&namelist=mod_fixes_5dim&namelist=mod_fixes_bob&namelist=mod_tweaks_angelsaddons_warehouses&namelist=mod_tweaks_angelsbioprocessing&namelist=mod_tweaks_angelspetrochem&namelist=mod_tweaks_angelsrefining&namelist=mod_tweaks_angelssmelting&namelist=mod_tweaks_bobsmods&namelist=mod_tweaks_CompressedFluids&namelist=mod_tweaks_DeadlockStacking&namelist=mod_tweaks_KS_Power&namelist=multi-product-recipe-details&namelist=nicefill&namelist=nixie-tubes&namelist=Noxys_Extra_Settings_Info&namelist=Noxys_QuickerStumpFade&namelist=Nuclear%20Fuel&namelist=OpteraLib&namelist=Orphan%20Finder&namelist=PCP&namelist=PickerAtheneum&namelist=PickerBeltTools&namelist=PickerBlueprinter&namelist=PickerCheats&namelist=PickerDollies&namelist=PickerInventoryTools&namelist=PickerTweaks&namelist=PickerVehicles&namelist=ProgressiveRunning&namelist=ResourceLabels&namelist=reverse-factory&namelist=Robot_Battery_Research&namelist=Robot_Cleanup&namelist=rso-mod&namelist=RSORadar&namelist=salvaged-kit&namelist=ScienceCostTweakerM&namelist=SeaBlock&namelist=ShinyBobGFX&namelist=SilentBelts-clampi&namelist=SmartTrains&namelist=SpaceMod&namelist=Squeak%20Through&namelist=stdlib&namelist=StupidAchievements&namelist=textplates&namelist=TheFatController&namelist=TimeTools&namelist=Todo-List&namelist=tree_collision&namelist=upgrade-planner&namelist=upgrade-planner-next&namelist=vanilla-loaders-hd&namelist=VisionRadar&namelist=VoidChestInstant&namelist=Waterfill&namelist=YARM&namelist=zero-fluid-info&namelist=Zoom&lang=e
698.139 Error ModInfo.cpp:130: Value must be a list or dictionary in property tree at ROOT.results[67].releases[0].info_json.dependencies
698.150 Error UpdateModsPane.cpp:91: Failed to fetch mod update information: Failed to parse the mod portal API response: Value must be a list or dictionary in property tree at ROOT.results[67].releases[0].info_json.dependencies