I’m working on an offline browser for Github issues named Bugmatic. The idea is that as Github repositories are to local Git repositories, Github Issues should be to a local Bugmatic checkout.
I have the fundamentals working, but there is one big snag: I want to allow creating issues locally and pushing them to other people’s Bugmatic checkouts, so that e.g. people can collaborate on a plane. Later, I want people to be able to push their changes back to Github Issues.
TL;DR: I need a way to attach a UUID to a Github issue when creating it that will from then on stay unchanging, but will be reported back to me when I query for information about an issue.
Github assigns issue numbers as sequential numbers.
If Jill and Jane locally create an issue (e.g. on an intercontinental flight), and there were 10 issues in the project when they took off, both of them would pick #11 as the unique issue number for their new issues. When they then push their issues to Github when they’re back on the ground, Jill might push a second earlier, so will get #11, then Jane will push her (different) issue, see there already is an Issue #11, and overwrite it. That’s undesired.
Also, if Jane pushed her issue to Jill on the plane, the issue’s number would have to change (as both issues can’t have #11). So Jane would have an Issue #11, and Jill would have a *different* issue #11, and an Issue #12 that should really be #11 to match what Jane has, with no way for someone looking at the repository knowing that Jane.11 and Jill.12 are the same issue, while Jane.11 and Jill.11 are different, not just substantially edited.
So really, since the unique IDs on the Github server *require* a connection to the server to hand out a new, unique ID, they’re inherently not suitable for offline use.
A UUID (like they’re generated by the
uuidgen command line tool, for example) OTOH is reasonably unique as it depends on computer, time/date, and a number of other factors, and is several times larger than a regular number. So if two issues have the same UUID, I can assume that they are the same issue.
But I would need to have a way to attach that UUID to the issue on Github’s server. Otherwise it would again not be possible to tell that Jill’s Issue #12 is Jane’s Issue #11 in above example.
Who do I need to talk to, to get such metadata added to Github Issues?