mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-26 17:11:52 +00:00
## About The Pull Request Screenshots slightly outdated, check it out here for the latest: https://github.com/san7890/bruhstation/blob/issue-reporting/.github/ISSUE_TEMPLATE/bug_report_form.yml Gone are the days of copypasting markdowns and people leaving out important information! A much cleaner form is upon us!  First off, the button will now automatically redirect people to the forums for feature requests. No more accidental entries through blank MDs, should be a lot cleaner. If it is a valid issue report, you'll be navigated to this menu. No more having to worry about putting comments in the input field as the important information is fully visible in the form: <details> <summary>Template Image</summary>  </details> This will be the end result of filling in all the fields: <details> <summary>End Result</summary>  ```md ### Client Version 515.1642 ### Issue Summary insert blank here ### Round ID _No response_ ### Test Merges perhaps ### Reproduction steps alirght ``` </details> I updated the BYOND-side code to ensure that this would work just as it did prior, auto-filling the applicable fields that we generate ingame. ## Why It's Good For The Game Far more clarity to people who wish to report issues, no more worrying about comment formatting, can have mandatory fields, just a cleaner experience overall. ## Changelog 🆑 qol: Reporting issues on the Github should now be a far more simpler experience. Hitting the "Report Issue" button in the top-right of your BYOND Client Screen will still autofill in the fields as expected. /🆑 Ignore how dumb the commit history of this branch is. --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
121 lines
4.2 KiB
Plaintext
121 lines
4.2 KiB
Plaintext
//Please use mob or src (not usr) in these procs. This way they can be called in the same fashion as procs.
|
|
/client/verb/wiki(query as text)
|
|
set name = "wiki"
|
|
set desc = "Type what you want to know about. This will open the wiki in your web browser. Type nothing to go to the main page."
|
|
set hidden = TRUE
|
|
var/wikiurl = CONFIG_GET(string/wikiurl)
|
|
if(wikiurl)
|
|
if(query)
|
|
var/output = wikiurl + "/index.php?title=Special%3ASearch&profile=default&search=" + query
|
|
src << link(output)
|
|
else if (query != null)
|
|
src << link(wikiurl)
|
|
else
|
|
to_chat(src, span_danger("The wiki URL is not set in the server configuration."))
|
|
return
|
|
|
|
/client/verb/forum()
|
|
set name = "forum"
|
|
set desc = "Visit the forum."
|
|
set hidden = TRUE
|
|
var/forumurl = CONFIG_GET(string/forumurl)
|
|
if(forumurl)
|
|
if(tgui_alert(src, "This will open the forum in your browser. Are you sure?",, list("Yes","No"))!="Yes")
|
|
return
|
|
src << link(forumurl)
|
|
else
|
|
to_chat(src, span_danger("The forum URL is not set in the server configuration."))
|
|
return
|
|
|
|
/client/verb/rules()
|
|
set name = "rules"
|
|
set desc = "Show Server Rules."
|
|
set hidden = TRUE
|
|
var/rulesurl = CONFIG_GET(string/rulesurl)
|
|
if(rulesurl)
|
|
if(tgui_alert(src, "This will open the rules in your browser. Are you sure?",, list("Yes","No"))!="Yes")
|
|
return
|
|
src << link(rulesurl)
|
|
else
|
|
to_chat(src, span_danger("The rules URL is not set in the server configuration."))
|
|
return
|
|
|
|
/client/verb/github()
|
|
set name = "github"
|
|
set desc = "Visit Github"
|
|
set hidden = TRUE
|
|
var/githuburl = CONFIG_GET(string/githuburl)
|
|
if(githuburl)
|
|
if(tgui_alert(src, "This will open the Github repository in your browser. Are you sure?",, list("Yes","No"))!="Yes")
|
|
return
|
|
src << link(githuburl)
|
|
else
|
|
to_chat(src, span_danger("The Github URL is not set in the server configuration."))
|
|
return
|
|
|
|
/client/verb/reportissue()
|
|
set name = "report-issue"
|
|
set desc = "Report an issue"
|
|
set hidden = TRUE
|
|
var/githuburl = CONFIG_GET(string/githuburl)
|
|
if(!githuburl)
|
|
to_chat(src, span_danger("The Github URL is not set in the server configuration."))
|
|
return
|
|
|
|
var/testmerge_data = GLOB.revdata.testmerge
|
|
var/has_testmerge_data = (length(testmerge_data) != 0)
|
|
|
|
var/message = "This will open the Github issue reporter in your browser. Are you sure?"
|
|
if(has_testmerge_data)
|
|
message += "<br>The following experimental changes are active and are probably the cause of any new or sudden issues you may experience. If possible, please try to find a specific thread for your issue instead of posting to the general issue tracker:<br>"
|
|
message += GLOB.revdata.GetTestMergeInfo(FALSE)
|
|
|
|
// We still use tgalert here because some people were concerned that if someone wanted to report that tgui wasn't working
|
|
// then the report issue button being tgui-based would be problematic.
|
|
if(tgalert(src, message, "Report Issue","Yes","No") != "Yes")
|
|
return
|
|
|
|
var/base_link = githuburl + "/issues/new?template=bug_report_form.yml"
|
|
var/list/concatable = list(base_link)
|
|
|
|
var/client_version = "[byond_version].[byond_build]"
|
|
concatable += ("&reporting-version=" + client_version)
|
|
|
|
// the way it works is that we use the ID's that are baked into the template YML and replace them with values that we can collect in game.
|
|
if(GLOB.round_id)
|
|
concatable += ("&round-id=" + GLOB.round_id)
|
|
|
|
// Insert testmerges
|
|
if(has_testmerge_data)
|
|
var/list/all_tms = list()
|
|
for(var/entry in testmerge_data)
|
|
var/datum/tgs_revision_information/test_merge/tm = entry
|
|
all_tms += "- \[[tm.title]\]([githuburl]/pull/[tm.number])"
|
|
var/all_tms_joined = jointext(all_tms, "%0A") // %0A is a newline for URL encoding because i don't trust \n to not break
|
|
|
|
concatable += ("&test-merges=" + all_tms_joined)
|
|
|
|
DIRECT_OUTPUT(src, link(jointext(concatable, "")))
|
|
|
|
|
|
/client/verb/changelog()
|
|
set name = "Changelog"
|
|
set category = "OOC"
|
|
if(!GLOB.changelog_tgui)
|
|
GLOB.changelog_tgui = new /datum/changelog()
|
|
|
|
GLOB.changelog_tgui.ui_interact(mob)
|
|
if(prefs.lastchangelog != GLOB.changelog_hash)
|
|
prefs.lastchangelog = GLOB.changelog_hash
|
|
prefs.save_preferences()
|
|
winset(src, "infowindow.changelog", "font-style=;")
|
|
|
|
/client/verb/hotkeys_help()
|
|
set name = "Hotkeys Help"
|
|
set category = "OOC"
|
|
|
|
if(!GLOB.hotkeys_tgui)
|
|
GLOB.hotkeys_tgui = new /datum/hotkeys_help()
|
|
|
|
GLOB.hotkeys_tgui.ui_interact(mob)
|