Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot upload GCODE files on iOS #1117

Closed
Stooovie opened this issue Oct 10, 2022 · 10 comments · Fixed by #1152
Closed

Cannot upload GCODE files on iOS #1117

Stooovie opened this issue Oct 10, 2022 · 10 comments · Fixed by #1152
Assignees
Labels
⚡ Type: Bug Something isn't working
Milestone

Comments

@Stooovie
Copy link

Stooovie commented Oct 10, 2022

Mainsail Version:

2.3.1

Browser:

Other (Please tell us below)

Device:

Mobile device (Phone, Tablet or similar)

Operating System:

iOS

What happened?

I am unable to upload gcode files from any iOS 16 device (I don't have anything on older iOS versions). The files are greyed out and cannot be selected.

What did you expect to happen instead?

To be able to select and upload the .gcode files.

How to reproduce this bug?

Press Upload&Print button on iOS
Try to select a gcode file

Additional information:

User u/via-via-gekregen at reddit investigated this and says this: debugged it, the input element for the file has an attribute called "accept" which has a comma delimited string of allowed file types, currently it has ".gcode, .g, .gco, .ufp, .nc" as accepted file types, if you change that to just ".gcode" it works fine. (And also lets you upload any file type you want, I just noticed)

@Stooovie Stooovie added the ⚡ Type: Bug Something isn't working label Oct 10, 2022
@grunscga
Copy link

grunscga commented Oct 20, 2022

I have not tested this, but based on a quick search, it looks like Safari for iOS only supports the mime-type format for <input accept=“” />, not the file extension format. Source

The problem is that gcode files don’t have an official mime-type, so there is no actual “official” solution, although some sources suggest using text/x-gcode.

@meteyou
Copy link
Member

meteyou commented Oct 22, 2022

I have not tested this, but based on a quick search, it looks like Safari for iOS only supports the mime-type format for <input accept=“” />, not the file extension format. Source

The problem is that gcode files don’t have an official mime-type, so there is no actual “official” solution, although some sources suggest using text/x-gcode.

This could be possible. I have to check it this way. I hope I can find all other possible mime-types.

@meteyou meteyou added this to the vNext milestone Oct 26, 2022
@lixxbox
Copy link
Contributor

lixxbox commented Nov 2, 2022

Offtopic: May I ask what your workflow looks like, that you want to upload gcode from iOS devices? I am not aware of a slicer for iOS devices.

Ontopic: I have tested the workaround and unfortunately gcode files remain grayed out for me.

@grunscga
Copy link

grunscga commented Nov 2, 2022

Offtopic: May I ask what your workflow looks like, that you want to upload gcode from iOS devices? I am not aware of a slicer for iOS devices.

It’s a matter of convenience / minimum annoyance. There are a multitude of cloud services that are available from iOS, including google drive, iCloud, OneDrive, etc. Normally, I would “pre-load” the gcode files from the computer I sliced them on, but if I’m doing anything with a printer, I probably have the mainsail interface pulled up on my iPad and sitting next to the printer. So if I change my mind about what I want to print, I could (in theory) with the iPad pull the gcode off OneDrive, (for example), upload it directly to the printer and start the print while I’m standing there watching it. Total process: about 4-6 taps and maybe 10 seconds. However, since I can’t upload via iOS, instead I have to walk to a different room, wake up the 1500W energy hog workstation, browse to mainsail just to upload (but not print) the single gcode file I missed, walk back to the printer, and then use the iPad to start the print (if the printer is having issues, I don’t use Upload & Print because I don’t want it to do anything while I don’t have access to the emergency stop). It ends up being about 95% as annoying as the stock Creality “copy the file to an SD card and physically carry it around” solution.

First world problem? Absolutely. Maximum annoyance? Almost certainly.

Also, I would not make the assumption that you will never be able to run a slicer in iOS. The M1 SoC is more than powerful enough for it, so it’s just a matter of software limitations / blocks. These could be resolved either by Apple opening things up (unlikely but possible) or some group deciding to port a slicer to Swift. It would be a lot of work, but there is no technical reason why it can’t be done.

@Stooovie
Copy link
Author

Stooovie commented Nov 3, 2022

Same as me: I have lots of sliced gcode files in my shared iCloud folder. I just want to toss them into the printer using my phone or tablet. I am aware I can just upload everything into Klipper directly, but that would be messy and inconvenient.

@Stooovie
Copy link
Author

Stooovie commented Nov 3, 2022

BTW I've found out that it's possible to drag&drop gcode files from Files (not Google Drive sadly) to klipper (both Mainsail and Fluidd) on iOS (16 anyway)! Working on both iPhone and iPad.

That's a way for sure, but doing it with the Upload button would be even more convenient.

@meteyou
Copy link
Member

meteyou commented Nov 3, 2022

i'm working on it... i just cannot test it, because i have no iOS device, so i have to send each testbuild to @lixxbox or other crew members...

i also dont know why desktop safari on my mac just work. it is only a issue in the mobile safari version...

@Stooovie
Copy link
Author

Stooovie commented Nov 3, 2022

The folks over at grid.space (devs of kiri:moto, the web-based slicer) are facing the same issue, so maybe they have something on their Github. One of their web apps (mesh:Tool) DOES support uploading of .gcode files from mobile Safari, so it definitely should be possible.

@meteyou
Copy link
Member

meteyou commented Nov 3, 2022

https://grid.space/mesh/ has just no filter and allow to upload all file types

@Stooovie
Copy link
Author

Stooovie commented Nov 4, 2022

I'd be fine with that, I think when someone uses Klipper, they're tech literate enough they won't be uploading JPEGs into it :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚡ Type: Bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants