Playdate crashing when requesting network access permission box should appear

Platform: Playdate OS 2.7.5
Built the reproduction app using SDK 2.7.5 on MacOS.

I am attempting to build an app that makes use of network features. When developing the app in the simulator it is all fine. But when trying to use it on my device it failed every time I tried to make a network request. After some tinkering, I found out that it all works fine if I go into my settings and change the Network permission from "ask" to "always."

So, in my simulator, if I prompt the pop-up to ask for network permissions, it works fine. But on my device, the same program causes a crash when instead it should be asking for permission to use the network. I can bypass this issue on my device by changing the system-level permission option for network to always allow without prompting. Network requests themselves work fine on the device.

Here is the console output from uploading the example to my device through to when it crashes and I reboot to the menu. Everything other than "Waiting for Playdate disk..." is in blue from the device.

Waiting for Playdate disk…
echo off
target=dvt1
build=095f3cda-2.7.5-release.187685-buildbot-250626
boot_build=095f3cda-2.7.5-release.187685-buildbot
SDK=2.7.5
pdxversion=20703
serial#=PDU1-Y021098
cc=9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
pcbver=0x01
time and date set
echo off
target=dvt1
build=095f3cda-2.7.5-release.187685-buildbot-250626
boot_build=095f3cda-2.7.5-release.187685-buildbot
SDK=2.7.5
pdxversion=20703
serial#=PDU1-Y021098
cc=9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
crashed=1
pcbver=0x01
time and date set

errorlog.txt on the Playdate disk is empty, and this is the only crash in crashlog.txt

--- crash at 2025/07/14 14:15:36---
build:095f3cda-2.7.5-release.187685-buildbot
   r0:00000000    r1:00000000     r2:ffffffff    r3: 20009974
  r12:0000000a    lr:080b75a1     pc:080b6522   psr: a10f0000
 cfsr:00000082  hfsr:00000000  mmfar:00000000  bfar: 00000000
rcccsr:00000000
heap allocated: 83232
Lua totalbytes=127637507 GCdebt=-127575081 GCestimate=62227 stacksize=42

I also sent this crash report and gathered diagnostics using the option in the settings menu shortly after the time listed above, if that helps. My device metrics reporting option has also been enabled during this.

And here is the main.lua file that I used to generate this crash:

local network <const> = playdate.network

function playdate.update()

    if playdate.buttonJustPressed(playdate.kButtonDown) then
        network.http.requestAccess("google.com", nil, true)
    end

end
1 Like

Thanks to the Playdate Squad discord, I found out that the bundleID is necessary for prompting on the device. It wasn't a problem on the simulator as it just shows "(null)" is requesting access but that doesn't fly on the device itself.

So, after adding a pdxinfo file that most importantly has a bundleID, it works fine.

2 Likes

This took me a while to figure out as I wasn’t sure what exactly was crashing, because network access was requested implicitly and lazily when an HTTP request is sent. Is it possible to just always require pdxinfo? Currently it’s possible to build & upload a game to device without pdxinfo in nova.