* Removes the ban on line splitting, adds a note about its proper use (#57112)
* Removes the ban on line splitting, adds a note about its proper use
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Removes tweak and replaces it with a tag for QoL and Atomic prs (#56890)
* Removes tweak and replaces it with a tag for QoL and Atomic prs
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
* Write clear rules on descriptive and obvious names in the contribution guidelines (#56872)
This has more or less been enforced already by me and Rohesie, but puts it into clear writing, as the frequency of these names stays about the same.
Formally bans variables like M, C, and H. Writes an exclusion for `i`, as though I don't like this one, I believe other maintainers disagree. Let me know if I'm misinformed.
Also adds some additional details on negated names, such as `is_not_flying` -> `is_flying`.
* Write clear rules on descriptive and obvious names in the contribution guidelines
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
* Contribution guidelines: type checks in lists (#56761)
* Updates the contribution guidelines to include the `as anything` key to skip checks in lists.
* Reduces the explanation a bit, to make it more succinct.
* Makes the examples use default byond types and vars, and code that actually compiles, instead of pseudo-code. Plus early continues, because they're good.
* Contribution guidelines: type checks in lists
Co-authored-by: Rohesie <rohesie@gmail.com>
* Use draft pull requests instead of the 'Work In Progress' and 'Needs Review' labels. (#56168)
* Use draft pull requests instead of the 'Work In Progress' and 'Needs Review' labels.
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Updates Contribution Guidelines regarding Prior Approval for Station Maps (#56166)
Updates the contribution guidelines to require the addition, removal or replacement of station maps to require prior approval before making the PR.
Ultimately shouldn't change much about how the PRs are handled, but gives an early warning that approval should be sought and should help cut down on lost time mapping if I would reject a PR outright. With how long station maps take to make, prior warning that it outright won't be merged is, in my opinion, good.
* Updates Contribution Guidelines regarding Prior Approval for Station Maps
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
* Update build process in documentation (#56173)
Building tgstation is a bit different nowadays, so I've updated the
docs a bit.
* Update documentation with the new build process
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Use portable Python for map merge hooks, other tools (#55658)
* Add .dmm merge driver (#55699)
This is kind of a prototype. It only fully handles a few situations,
and doesn't produce particularly easy-to-read conflict markers when it
fails. I hope that it can be useful at least some of the time, can be
improved over time, and that the lessons learned can influence a future
interactive GUI conflict resolver (integrated into StrongDMM?). In the
worst case, one can fall back to the tried and true "manually re-do one
side's changes" strategy.
**Automatic use**: In `tools/hooks/`, run `Install.bat`
**Manual use**, for Git GUIs that don't run merge drivers: while a
merge is in progress, in `tools/mapmerge2/`, double-click `Resolve Map
Conflicts.bat`
This PR also removes the error-prone "Prepare Maps.bat" /
"mapmerge.bat" workflow. Those who aren't using the hooks should
instead use `Run Before Committing.bat` before committing. First-time
contributors who opened a PR without map merging can be advised to run
`I Forgot To Map Merge.bat`.
* Fix loose double-quot in tradership_faction.dmm
Co-authored-by: Tad Hardesty <tad@platymuus.com>
* Add testing rule to contribution guidelines (#56147)
Adds a clause to the contributing guidelines that you are expected to have tested your code, which implicitly bans webedited larger PRs. Also updates the wording about changelogs.
* Add testing rule to contribution guidelines
Co-authored-by: Rob Bailey <actioninja@gmail.com>
* Merge pull request #55268 from AutomaticFrenzy/patch/docs-from-github-wiki
Migrate some docs from the GitHub wiki into the repository
* Migrate some docs from the GitHub wiki into the repository
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Remove the hyphen from the default value of the github url string (no longer -tg-station) (#55136)
* Remove the hyphen from the default value of the github url string (no longer -tg-station)
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
* Adds the use of delta-time to the contribution guidelines (#54911)
Delta-time is a concept we added but isn't used a lot yet, I think adding it to the contribution guidelines with an explanation of how to actually use it (As its a concept that only really applies to game dev afaik, and isn't something everyone is familiar with) will increase the amount of people using it.
* Adds the use of delta-time to the contribution guidelines
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Merge pull request #54805 from Jared-Fogle/pay-up
Fix the "payment required" crap CI is failing on
* Fix the "payment required" crap CI is failing on
Co-authored-by: oranges <email@oranges.net.nz>
* Use a more common documentation block standard. (#54623)
* Use a more common documentation block standard.
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Fix git add in DMAPI update action (#54505)
Old command won't add new files. git hard.
* Fix git add in DMAPI update action
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Better script for docker (#54501)
The linux one shot script is not a drop-in for the docker script. Let's separate the two.
* Better script for docker
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Clearing my assignment here (#54449)
Because that'd basically be roundabout self-merging
* Clearing my assignment here
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Getters/setters on the contribution guidelines (#54384)
Adds recommendations about getters and setters to the contribution guidelines.
Does two minor tweaks on other topics, for clarity mostly.
* Getters/setters on the contribution guidelines
Co-authored-by: Rohesie <rohesie@gmail.com>
* Makes changelog compile only fire if CHANGELOG_ENABLER secret is present (#53845)
Not tested yet, so please speak up if you notice anything off.
For any interested downstream/fork maintainers reading this:
You need to add CHANGELOG_ENABLER secret with some nonempty value to your repository if you want this action to continue to work as before.
* Makes changelog compile only fire if CHANGELOG_ENABLER secret is present
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* JATUM (#53831)
Adds the JATUM serialization system. Inspired by @ RemieRichards. Allows for easy serialization and deserialization of trivial datums.
Also adds a missing html_encode.
* JATUM
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Updates the tgs-dmapi-updater action reference (#53777)
* Updates the tgs-dmapi-updater action reference
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Add workflow_dispatch to TGS DMAPI update action for testing (#53775)
* Add workflow_dispatch to TGS DMAPI update action for testing
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Merge pull request #53674 from tgstation/Cyberboss-patch-2
Adds a GitHub action to automatically update the DMAPI
* Adds a GitHub action to automatically update the DMAPI
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Create MAINTAINER_GUIDELINES.md (#53665)
* Create MAINTIAINER_GUIDELINES.md
This is echoing a post I made on the maintainer team page.
* Fix typo in file name
* Create MAINTAINER_GUIDELINES.md
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Adds a requirement to profile optimizations to contributing.md (#53235)
Co-authored-by: TiviPlus <TiviPlus>
* Adds a requirement to profile optimizations to contributing.md
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* tgchat: Hotfixes, Message Annotations (#52947)
This PR changes the message pipeline a little bit to support list-based messages, which can be annotated with custom data. Function signature of to_chat was slightly changed as well:
// Plain text message
to_chat(client,
type = MESSAGE_TYPE_INFO,
text = "foo")
// HTML message
to_chat(client,
type = MESSAGE_TYPE_INFO,
html = "<span class='notice'>foo</span>")
Old to_chat format is still supported, but handle_whitespace, trailing_newline and confidential flags have no effect. confidential flag could still be revived though, if there is enough merit in it, for example to filter out confidential messages when saving a chat log.
The reason for using /list and not /datum, is because lists are plain faster, and there are minimal data transformations - these lists are fed directly to json_encode and sent to tgchat.
Plain text messages do not need to be HTML-escaped, which makes them safer and more performant than HTML messages. Plain text messages can be made interactive (or formatted with CSS) by custom-handling them in javscript based on message type and annotations.
It would be impossible to annotate every single message in the game (at the moment of writing, there are 9447 to_chat calls in the code), but it could be done selectively, for only those messages that are hard to classify by span classes (and there are still A LOT of them).
Please annotate more messages. Thank you.
Fixes#52943Fixes#52908Fixes#52816
Changelog
cl
add: tgchat: Unread message count is now smarter and won't increase on other tabs if you have already read the same message in the active tab.
add: tgchat: Admin PMs are now properly annotated and can be filtered into separate tabs.
fix: tgchat: Fix: Highlighted message overlay no longer blocks clicks. Clicking a highlighted (F) link should work as it should.
fix: tgui: Fixed NTOS bluescreen due to calling .includes() on a stylesheet href which could be null on certain browsers.
code: tgchat: Chat schema bumped to version 5. All chat-related settings were reset to avoid breakage.
/cl
* tgchat: Hotfixes, Message Annotations
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>