Commit Graph

55 Commits

Author SHA1 Message Date
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
ea9aed5554 [MIRROR] Replace alert usage with tgui_alert (#5815)
* Replace alert usage with tgui_alert

* a

* Update observer.dm

Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-21 00:06:09 +01:00
Useroth
faf4762e63 [Mostly non-modular] Stuff to accomodate multiple servers talking to the same database, including local/global bans. (#4032)
* Better accomodation of multiple servers using the same database.

* updated the PR number in readme.md

* Updated the database_changelog description.

* Oopsie.

* Cosmetic touch and sql query fixes.

* Opsie wopsie

* Oopsie x2

* Fugg
2021-03-30 07:50:29 +02:00
SkyratBot
6e76d35d3c [MIRROR] Fix living playtime subquery and display (#2451)
* fix living playtime subquery and display (#55893)

* Fix living playtime subquery and display

Co-authored-by: Jordie <4343468+Jordie0608@users.noreply.github.com>
2021-01-02 16:51:50 +00:00
SkyratBot
9921adcf11 [MIRROR] Add playtime tracking to notes (#2426)
* Add playtime tracking to notes (#55800)

* Added playertime tracking to player notes

* Updated sql change log with revision

* Fixed typo in db_query

* And fixed another typo with query_get...

* Add recomended changes from Jordie0608

* Added missing DEFAULT NULL to sql

Co-authored-by: MissFox <github@ aesir.org.uk>

* Add playtime tracking to notes

Co-authored-by: MissFox0810 <4310446+MissFox0810@users.noreply.github.com>
Co-authored-by: MissFox <github@ aesir.org.uk>
2021-01-01 20:55:56 +01:00
SkyratBot
e8bfe6eb68 [MIRROR] [Ready] CDN browser assets! (#312)
* [Ready] CDN browser assets! (#52681)

Rewrites the asset_cache system to handle sending assets to a CDN via a webroot.

see https://github.com/MrStonedOne/tgstation/blob/asset-cdn/code/modules/asset_cache/readme.md

Fixed a lot of bugs with assets, removed some dead code.

Changes:
    Moved asset cache code to transport datums, the currently loaded one is located at SSassets.transport, asset cache calls made before the config is loaded use the simple browse_rsc transport.
    Added subsystem call for when the config loads or reloads.
    Added a webroot CDN asset transport. assets are saved to a file in a format based on the file's hash (currently md5).
    Assets that don't use get_asset_url or get_url_mappings (such as browser assets referred to by static html files like changelog.html or static css files) can be saved to browse_rsc even when in cdn asset mode by setting legacy to TRUE on the datum returned by register_assets
    Added a system for saving assets on a cdn in a hash based namespace (folder), assets within the same namespace will always be able to refer to each other by relative names. (used to allow cdn'ing font awesome without having to make something that regenerates it's css files.).
    The simple/namespaced asset cache datum helper will handle generating a namespace composed of the combined md5 of everything in the same datum, as well as registering them properly.
    Moved external resource from a snowflake loaded file to a config entry, added it to resources.txt
    To ensure the system breaks in local testing in any situation that wouldn't work in cdn mode, the simple transport will mutate the filenames of non-legacy and non-namespaced assets and return this with get_asset_url.
    Simple transport's passive send of all roundstart assets to all clients is now a config that defaults to off. this is to break race conditions during local testings from devs accidentally relying on this instead of using send() properly.

cl
refactor: Interface assets (js/css/images) can now be managed using an external webserver instead of byond's one at a time file transfer queue.
admin: Adds admin verb toggle-cdn that allows admins to disable the external webserver asset transport and revert to the old system. Useful if the webserver backing this goes down (thanks cloudflare).
config: New config file, resources.txt, (must be loaded by an $include statement from the main config)
server: The external_rsc_urls.txt config has been moved to the main config system.
/cl
Porting notes:

Interface webpages must refer to their assets (css/js/image/etc) by a generated url, or the asset must register itself as a legacy asset. The system is designed to break in localtest (on simple/legacy mode) in most situations that would break in cdn mode.

Requires latest tgui.

The webserver must set the proper CORS headers for font files or font awesome (and other fonts) won't load.

/tg/'s webserver config: https://gist.github.com/MrStonedOne/523388b2f161af832292d98a8aad0eae

* [Ready] CDN browser assets!

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-08-12 11:32:37 +01:00
nemvar
b87f65d95e Converts ALL typepaths to lowercase (#51642)
* Case of lower

* More changes

* Ruins the nice 420 diff, brainfart when doing the second batch of conversions

* More changes

* Next batch. I think

* Converts even more paths

* Restarts bots

* Capital Free Zone

* Come on travis, do something

* Renames areas

* Bots, please stop dying

* Updates CONTRIBUTING.md and updates a few paths I missed.

* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
2020-06-17 20:47:57 -03:00
Jordie
68db4a0c23 fix ban note expiry time (#51636)
Expiry time was being inserted as 0000-00-00 00:00:00 when NULL was expected for non-expiring notes.
2020-06-14 18:34:41 +12:00
Tad Hardesty
829e95896e Replace BSQL with rust-g, paramaterize all queries (#51255)
cl
refactor: BSQL has been replaced with rust-g, improving SQL reliability and safety.
/cl

Queries were parameterized as much as possible. Careful code read by someone else also versed in SQL would be a good idea. Things seemed fine spot-testing roundstart, library, bans, and polls, but more stress-testing may be useful.

Also updates rust-g to v0.4.5:

    Improved Linux .so detection
    Perlin noise functions

Also updates Travis script to bionic.
2020-06-08 16:00:07 +12:00
Jordie
4c7dfbc655 adds recording who deleted a note (#50445)
It came up that this isn't recorded, only logged.

Technically needs syncing merge with schema change but only deleting notes would break from this and tbh that isn't done very often so I think it'd be fine to yolo.
2020-04-18 11:28:34 +12:00
Rob Bailey
c20a04543b Port of Replays from Yogstation (#48579)
* demos (ported from yogstation)

rustg update + write with no format

use external hook for logging

use proper log vars

fix + clarifying comment

don't start the log

release build of rust-g

fix something caught by the lint

Update code/__DEFINES/subsystems.dm

Co-Authored-By: Jordan Brown <Cyberboss@users.noreply.github.com>

Update code/controllers/subsystem/demo.dm

Co-Authored-By: JJRcop <jrubcop@gmail.com>

Update code/controllers/subsystem/demo.dm

Co-Authored-By: JJRcop <jrubcop@gmail.com>

moves hooks out of a dedicated file

len = 0 to Cut(), remove semicolons

untyped loop

* updated rust_g

* 513 updates
2020-04-06 13:15:48 -04:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
Bobbahbrown
0d7ef73b17 Refactors References to IRC to be TGS (#47954)
* TGS updates round 1

* TGS updates round 2
2019-11-30 03:59:42 -08:00
Tad Hardesty
1433e48eba Fix some proc calls with bad keyword arguments 2019-03-09 12:56:19 -08:00
Jordan Brown
bd7c22dda9 Moves TgsInitializationsComplete call to immediately after world/New() (#39771)
* Moves TgsInitializationsComplete call to immediately after world/New()

* Subsystem PreInit data directory audit

* world/New data directory audit

* Needful here too

* Remove SS_NO_INIT from SStitle

* Don't create banlist.bdb for SQL banning

* Stop creating legacy notes file

* Moves iconCache from data to tmp
2018-09-15 21:34:14 +12:00
Jordie0608
d5c42bc79c Merge branch 'master' of https://github.com/tgstation/tgstation into onedayillmakeeveryquerylongenoughtowrapontothenextline 2018-08-26 20:53:05 +10:00
CitrusGender
bb2c82375e Add Note severity and changes UI of administrative notes (#39808)
* Adds note_severity and updates dbconfig. New SQL stuff too.

* whoops please don't hack into my database >:^(

* UI change, changed how it's stored in the DB, removed some queries when it returns, changed stuff to key.

* Update sql_message_system.dm

* this was not defined

* random indent

* wait how did this get here

* okay enough web edits I promise

* just kidding I got u

* Update common.css

* Added buttons, changed UI again, standardized the inputs, added severity for appearance bans, fed the dog

* forgot about the banning panel

* added an asset cache

* corrects asset datum var name
2018-08-26 20:23:29 +10:00
Jordie0608
3f881722e8 adds query safety for getting ckeys not in player table 2018-08-26 01:45:25 +10:00
Jordie0608
46fecfdc99 fix missing ckey to key in edit_meesage_expiry 2018-08-16 20:43:02 +10:00
Ling
73e300d8df Add some missing query qdels (#39726)
* qdel some more queires

* Another one
2018-08-16 03:16:57 +03:00
Jordie
b675aa03db fix adding notes for ckeys without any (#39677) 2018-08-13 22:43:03 +03:00
Jordie0608
17dc011101 fixes messages not having targetckey 2018-08-12 08:12:37 +10:00
Jordie
31f020f3cc Add expiration time for admin messages (#39502)
* add expiration time for messages

* typo

* fix

* src to usr

* allows removing expiry from existing messages

* cancel button
2018-08-12 06:31:14 +10:00
Jordie
0d7ef3ed65 Key instead of ckey for user facing logs and ui (#39009)
* converts to using key instead of ckey for user facing logs and ui

* more key_name for airlock wires

* futureproofing check for if key changes

* --onlyckeymatch script argument and fail/success counter

* fix
2018-08-11 02:15:50 +10:00
Jordan Brown
b1fc23c4c0 Fix undeleted note edit query (#39238) 2018-07-20 19:44:02 -07:00
AnturK
5a13417149 Fixes note deletion logging. (#39060)
* Fixes note deletion logging.

* Ok
2018-07-12 17:27:48 +10:00
Jordan Brown
cf7e8aa9ec Qdels queries, adds sleep safety checks, DBcore checks for leaks (#38363)
* Qdels all queries, adds sleep handling

* DB Core messages admins about undeleted queries

* Compile fixes. Adds missing set waitfor

* Remove world/New shennanigans. Add DBQuery/BlockingExecute()

* Less spammy notifications to admins about undeleted queries

* Increase dbcore fire time to 1 minute

* Upgrade undeleted query warning

* Better place of death

* Fix build

* Remove BlockingExecute, see BSQL PR for why

* Yep, missed that one.

* Psyche, that's the WRONG QUERY!!
2018-06-18 22:48:35 +03:00
MrStonedOne
0814e09bd5 Fix warning. 2018-06-09 11:24:34 -07:00
MrStonedOne
7f323c1dfe Fixes note interface flooding the string tree. 2018-06-08 23:42:57 -07:00
KorPhaeron
a0e1f05519 Watchlist timestamps 2018-01-28 14:25:07 -06:00
Emmett Gaines
25080ff2c4 defines math (#33498) 2017-12-17 11:02:11 -05:00
Emmett Gaines
7c69cdcb8a Revert math (#33059)
* Revert "all this wrapping and it's not even christmas (#33035)"

This reverts commit faaf151580.

* Revert "fuck me for forgetting to graph this one"

This reverts commit 45d7acea2f.

* Revert "defines math"

This reverts commit 2817a1737b.
2017-11-23 20:59:52 -05:00
ninjanomnom
2817a1737b defines math 2017-11-22 17:36:58 -05:00
Jordan Brown
4178c209f1 Configuration datum refactor (#30763)
* Configuration datum refactor

* More WIP

* New easier on the eyes format

* More WIP

* Finished config.txt

* Fucktons more WIP

* The end of conversion draws near...

* Add all this shit

* Done converting entries finally

* Hunting down compile errors

* More WIP

* MORE CONVERSIONS

* More WIP

* More WIP

* Oh shit only 90 errors this time!

* IT COMPILES!!!

* Fixes world start runtimes
2017-09-29 15:36:51 +13:00
Jordan Brown
5f75559540 Fixes missing Href tokens (#30987)
* Fixes missing Href tokens

* Add missing form field. Fixes #30986
2017-09-26 14:26:42 +02:00
ShizCalev
9cd4677eb9 Href tokens 2017-09-23 01:00:52 -04:00
Jordan Brown
0e40bc4f9b Adds more missing href tokens (#30664) 2017-09-14 09:16:06 +02:00
Jordan Brown
84b1e3d71e [s] Adds a security token to all admin hrefs (#29839)
There's a certain issue of people spoofing real byond links to admins. Now all links should come with a generated key that is validated when the Topic is run.

Added DEBUG_ADMIN_HREFS to debug this system while we test it (Allows hrefs without tokens and complains about it in the logs)

Just add [HrefToken()] as a parameter to all admin hrefs. Anything that ends up running through VV or Holder will be verified
2017-09-09 12:15:53 +10:00
MrStonedOne
f3bf3663cc Actually, lets make it say how many are hidden. 2017-08-30 23:34:04 -07:00
MrStonedOne
a27a454c4a Make the fact there are hidden notes more obvious.
We print the first note that would be skipped then pixel shift the show all button over the skipped noted.

The rest after that are not printed
2017-08-30 22:11:08 -07:00
MrStonedOne
ca33ca2e05 Note fading and persistent messages
Player Notes can now fade out over time so admins don't accidentally ban players for 4 year old notes
Deleted messages now remain in the database and are instead just hidden from view.

Two things relating to messages I've been meaning to do for ever.
2017-08-30 22:10:56 -07:00
Jordie0608
b7341a93ae adds more round id tracking 2017-08-25 22:05:32 +10:00
Cyberboss
5d61c5b64e AHelp improvements (#26092)
* Ahelp refactor

* Same ticket nagging

* Remie review

* Dead code

* Require tickets for PMs + other fixes

* Remove full monty redundancy

* Stylesheet

* Listings refresh

* Add ban logs to tickets

* Tickets can stay associated after reconnect

* Don't show active disconnected tickets in the main list

* Ticket titles

* More beautiful + fixes

* Needful

* IC issues close the ticket, feedback, and other stuff

* Move shit around

* IC issue -> resolve. Inline with the meaning of resolve. Documentation

* Classic style + fixes

* Width

* Formatting

* Whoops

* Formatting

* That top note

* That cream

* Pure vanilla

* move to status panel

* Fix the listing

* Sleep checks

* Stay frosty

* Allows close/resolve of disconnected players

* Ban logging will work if the player logs out.

* Sorted closed and resolved lists

* Fixes

* IRC commands

* More feedback

* Small fix

* Unfix

* Just witnessed a memetide of tickets

* Make the timer unique for good measure

* Fix

* Make it use QDEL_LIST

* Fix

* colorful

* Fix

* No more name prompt

* Retitling

* Fix

* Fix

* < CANT CODE

* Phrasing

* The better

* Better linking and stuff

* Language

* Bluh

* This may have broke things, let's back up

* Ticket reopening

* Admin panel verb for viewing a ticket list

* Slightly better refreshing

* Improve reject and IC issue wording

* Log client disconnects and reconnects

* Hopefully fixes the same issue issue

* This should be here

* Almost a terrible idea

* More feedback

* Better timing

* Better timing and logging

* Adding notes

* Improves teleport logging

* saddest commit in history

* Fix feedback counters for reopened tickets

* Fixed
2017-04-19 18:54:26 +02:00
Cyberboss
3c3f7d3b60 Refactors dbcon into a subsystem (#26134)
* Refactors dbcon into a subsystem

* Swear I got that already...
2017-04-17 15:18:17 +10:00
Cyberboss
9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
Cyberboss
34d38f78d3 Changes a bunch of IsConnected()s to Connect() 2017-03-21 14:04:48 -04:00
Leo
4a5cf0ce7d Messages(notes, watchlists, messages) are now sorted by descending instead (#25080)
* Messages(notes, watchlists, messages) are now sorted by the time descending instead of ascending

* Changes so only notes have desc ordering instead of memos and watchlist enties

* how did this even happen
2017-03-16 09:34:29 +11:00
Lzimann
5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
Jordie
63b3699cdd MySQL Execute error handling (#24738)
* wip commit

* mysql execute proc now handles errors itself

* adds log_sql()

* implements log_sql()
2017-03-07 10:55:42 +01:00
Leo
88785f7f86 Changes the button order in the note's menu (#24489)
* Changes the button order in the note's menu

* Fixes spacing
2017-02-28 15:01:52 +11:00