Unveil is good, let’s help it.
OpenBSD uses two pieces of software to stop badly behaving applications taking over your system: unveil and pledge.
Unveil controls how much of the file system an application can see. Firefox can only see the Downloads folder in the users directory structure. It is possible to change the settings in /etc/firefox/unveil.main
Download works fine - the file plops into Downloads. But uploads won’t work because Firefox hasn’t set a default upload directory, where it defaults I know not, but it isn’t somewhere that is unveiled.
To be able to upload files via Firefox I’ve set the default uploads directory to Downloads. If I need to upload anything I’ll simply copy the file there and upload - unless it becomes a pain and I’ll change the unveil file.
In about:config I set dom.input.fallbackUploadDir to my own Downloads directory - and the jobs a good un.