Removed the gelf logging infrastructure.
Refactored the various logging procs to be a direct call in light of the
above.
Removed ancilliary UDP related things.
* feat(macros): add meta charset patcher
Added a proc that will add a meta tag to browser
content with the encoding set to Unicode.
Ported from NebulaSS13/Nebula
* feat: replace `ISO-8859-1` with `utf-8`
* feat(newscaster): use `show_browser` macro
* feat(admin): use `show_browser` macro
* feat(player_notes_sql): use `show_browser` macro
* feat(warning): use `show_browser` macro
* feat(paper_bundle): use `show_browser` macro
* feat(photography): use `show_browser` macro
* chore: add changelog for browser changes
* fix(macros): recover the deleted macro
* feat(macro): convert place_meta_charset to macro
* style(macros): use spaces between macross and body
* Apply suggestions from code review
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
Signed-off-by: SidVeld <sidveld@gmail.com>
* fix(macros): change the position of the bracket
---------
Signed-off-by: SidVeld <sidveld@gmail.com>
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
* SSatlas.current_map
* hardsuit spell tab appears to clear correctly
* sdfsa
* from the moment i understood the weakness of my flesh, it disgusted me
* sdf
* SDQL2 update
* fix that verb
* cl
* fix that
* toworld
* this is pointless
* update info
* siiiiick..
* vv edit update
* fix that
* fix editing vars
* fix VV
* Port the /TG/ globals controller.
* part 1
* part 2
* oops
* part 3
* Hollow Purple
* sadas
* bsbsdb
* muda na agaki ta
* ids 1-15
* 16-31
* 41-75
* bring me back to how things used to be before i lost it all
* the strength of mayhem
* final touches
* cl
* protect some vars
* update sdql2 to use glob
* stuff?
* forgot that is not defined there
* whoops
* observ
* but it never gets better
* a
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* Increase error logging to diagnose server conking
* more logging and db retry
* whoops
* rename error() to log_error() to better reflect what it does
Move a bunch of world.log messages to log_error
* Fix compile error
---------
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
The system used to be of complexity O(n^2). Essentially two for loops running per every argument. Which ended up being surprisingly slow (there were instances where I saw the argument parser as using quite a lot of CPU time).
This replaces it with a more linear algorithm. It's somewhere near O(n) where n is the length of the unparsed query. Which is more stable and faaaster. This comes with two changes, however:
Parameters inside the query now have to be delimited from both sides with : (colons). The alternative to this would be to use something like $n or just assume that space marks the end of a marker. Only the former is workable, the latter would break a few queries already.
Arguments in the argument array no longer have to be prefixed by : (colons). So, while in the query you would write :thing:, you'd initialize the array of args as: list("thing" = somevar). It could be made to work without it, but eh, I think this is fine.
Argument validation is slightly weaker. What I mean by this is that with the old system, unused keys would result in an error. This is no longer a thing. Missing keys will still result in an error, however.
One more improvement: double delimiting removes an edge case where if key A partially covers key B, depending on the order, key A would mangle key B.
Updated and tested all queries that I could find. So this should be good.
Both procs are now generalized, and accept a DBConnection object as an argument. Due to this generalization, all instances of `establish_db_connection()` must be renamed to `establish_db_connection(dbcon)`.
Also added variable `failed_connections` to the definition of DBConnection.