slapperwan / gh4a

Github client for Android
Apache License 2.0
1.72k stars 221 forks source link

Missing support for issue form templates #1159

Open Fs00 opened 2 years ago

Fs00 commented 2 years ago

Recently, GitHub introduced a new type of issue templates called "issue forms" that are being increasingly used by repo maintainers. Those templates are YAML files (instead of traditional Markdown files) that are used to generate a form that the user fills when creating a new issue. Currently, the app ignores this kind of templates.

Implementing them in the app seems a pretty challenging task. We would probably need to parse the YAML file in order to generate the UI for the form and then, upon send, convert the filled form into a Markdown issue body that can be submitted via API. Obviously it would be easier if GitHub exposed some dedicated APIs for issue forms, but there aren't any at the moment.

KaKi87 commented 1 year ago

Hello,

Since this doesn't seem to be happening anytime soon, would it be possible for OctoDroid, at least, to redirect users to the browser when trying to create an issue on a repo than uses forms, preventing them to create empty ones, and then getting rejected, or worse, judged for using a third-party client ?

Thanks

KaKi87 commented 1 year ago

@maniac103 :pray:

Cwpute commented 4 months ago

This is thoroughly needed. Contributing to projects you're not accustomed with through Octodroid curently make it seem like they don't use templates, so when you are required to use ones on these repositories, you can get turned down for not using them. Not mentioning the maintainers themselves having to deal with contributors not using templates, while having the best intentions.

Cwpute commented 2 months ago

At least a warning saying this features isn't yet implementel would be useful ! i just fell for it and an issue i opened through Octodroid got closed due to not following template guidelines.

ccuser44 commented 1 week ago

Bump!

ccuser44 commented 1 week ago

At the very least the issue form should be converted to markdown so you can at least somewhat edit it!

KaKi87 commented 6 days ago

That would be functionally nice yes, but the very least, as I suggested, is to redirect to the browser.

ccuser44 commented 6 days ago

That would be functionally nice yes, but the very least, as I suggested, is to redirect to the browser.

Yes. Also the functionality that I provided is extremely simple to implement too.

maniac103 commented 6 days ago

Also the functionality that I provided is extremely simple to implement too.

Sorry to be blunt, but: if that's the case, we're extremely happy about a pull request!

Fs00 commented 3 days ago

Yeah, a contribution from someone else would be much appreciated. I don't plan to work on this. @KaKi87's suggestion looks the most reasonable way forward IMO, I think that an issue form transformed into Markdown would offer a worse UX than compiling the same form via browser. Not to mention that there are issue form elements like dropdowns that don't map well to Markdown.

ccuser44 commented 3 days ago

Yeah, a contribution from someone else would be much appreciated. I don't plan to work on this. @KaKi87's suggestion looks the most reasonable way forward IMO, I think that an issue form transformed into Markdown would offer a worse UX than compiling the same form via browser. Not to mention that there are issue form elements like dropdowns that don't map well to Markdown.

Maybe a popup should appear to choose between opening it as a markdown file and opening it as a link?

Octodroid already has popups so the code for a choosing popup is quite east

KaKi87 commented 3 days ago

a contribution from someone else would be much appreciated

I would if only I tolerated typed languages 😅

I don't plan to work on this

May I ask then, how do you handle this issue on your side ? Do you always open repo issues in browser instead of your app ? Or always only on desktop ?

Fs00 commented 2 days ago

I rarely open issues using the app, most of the time I do it on a PC. I understand though that for other people - who use the app differently than I do - this issue can be frustrating. However, given the limited time I have to contribute to the app, I'd rather not spend it in fixing bugs that don't affect me that much and aren't straightforward to address (like this one). By the way, the code is there so anyone that is more motivated can try to go ahead to implement a solution.