canvas.createContext("webgl") returns null in Electron

Looking at the strace, it seems you are running your snap under sudo without the -H option which would explain the ~/.Xauthority denial: the snap is running with uid 0 but the /home/amiller/.Xauthority file is owned by your uid, and appamror is enforcing owner match. What happens if, after adjusting the permissions on ~/.Xauthority as necessary, you run the snap as non-root or you run the snap as root with ‘sudo -H …’?

Also, you should be seeing security denials in the logs, but haven’t posted them. Can you paste the output of journalctl | grep audit for any denials after trying the above (alternatively, you can run sudo journalctl --output=short --follow --all | sudo snappy-debug.security scanlog and paste the output after trying the above).