Commit Graph
15 Commits
Author SHA1 Message Date
Phantastic-SwanandGitHub d057edd22c fixes view round logs option being visible (though not accessible) to people with the R_DEBUG permission (#95960)
## About The Pull Request

The view round logs panel in the admin section can be clicked on by
people with the `R_ADMIN` and `R_DEBUG` permissions. However, because of
how it's TGUI interaction was implemented, the panel itself only ever
opened for people with the `R_ADMIN` permission. This PR hides the
button from the view of people with the `R_DEBUG`, but no `R_ADMIN`
perms, completely.

<img width="1649" height="183" alt="image"
src="https://github.com/user-attachments/assets/e7512a88-9368-416e-b2dc-0c40d8c11a79"
/>

View Round Log panel button gone despite me having every permission
other than `R_ADMIN`.

## Why It's Good For The Game

Removes a non-functional button from some admins view.
2026-05-19 12:50:05 +02:00
LucyandGitHub 2719ca1866 update rust-g to 3.9.0 and use formatted_timestamp for human_readable_timestamp (#91121) 2025-05-14 14:56:37 -07:00
88c2213f1e Force UTC±0 for time2text logging and IC times (#90347)
## About The Pull Request
This won't actually do anything on live, since those are all set to
UTC±0 currently

Pins logging and IC uses of time2text to UTC±0 instead of using the
system timezone (byond default)
Timezones not being set to utc0 caused issues before (and is again)

All timezones are now passed explicitly to make it more likely it's
cargo culted properly at least

Deletes worldtime2text cus it was gameTimestamp default args

## Why It's Good For The Game
Server timezone changes probably shouldn't affect logging, round times,
file hashes, IC time, when you caught fish, etc

## Changelog
🆑
refactor: Logging and IC timestamps will now always use UTC±0 and not be
affected by server system timezone changes
fix: Station and round times will not longer be incorrect if the system
timezone is not UTC±0
/🆑

---------

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2025-04-01 22:08:15 +02:00
LucyandGitHub d656f0f4ec Refactor GLOB.admin/debug/fun_state into cached /datum/ui_state/admin_state instances (#89417)
## About The Pull Request

So, some admin verbs/tools that used tguis, i.e edit/debug planes, were
available to admins with +DEBUG... but the ui_state used
`GLOB.admin_state`, which checks for +ADMIN - meaning that if they
_only_ had +DEBUG, they would have the verb... but it would do nothing
when they used it.

I've refactored `GLOB.admin_state`, `GLOB.debug_state`, and
`GLOB.fun_state` into a merged `/datum/ui_state/admin_state`, with a var
for which specific permissions are being checked for.

You now use the `ADMIN_STATE(perms)` macro to get the UI state for those
specific perms, i.e `admin_state(R_ADMIN)` or `admin_state(R_DEBUG)`,
and the resulting UI state will check for _those specific perms_.

These are initialized and cached in `GLOB.admin_states` (which should
never be directly accessed).

So, I've went thru every single usage of `GLOB.admin_state`,
`GLOB.fun_state`, and `GLOB.debug_state`, and made them all use
`ADMIN_STATE()` with the actual permission flags needed to use said UI
in the first place.

## Why It's Good For The Game

Kinda dumb for specific admin permissions to be granted verbs that don't
let them use it anyways.

## Changelog
🆑
admin: Certain UI-based tools (plane debugger, filter editor, etc) that
were given to admins with only +VAREDIT or +DEBUG, but refused to open
without +ADMIN, now actually work for admins that have the needed
permission.
/🆑
2025-02-17 00:54:00 +01:00
ZephyrandGitHub 7f8752be14 Admin Verb Datums MkIII | Now with functional command bar (#82511) 2024-04-12 12:27:09 -07:00
_0StevenandGitHub 7f8ea34a0e Makes attempting to refresh the logs not just throw a runtime error (#82432)
## About The Pull Request

Really all this seems to be is a mismatch between the tgui and dm side
of the menu.

https://github.com/tgstation/tgstation/blob/3c71b14df0957749f31fb2e678130daf4cfb3250/tgui/packages/tgui/interfaces/LogViewer.tsx#L71

https://github.com/tgstation/tgstation/blob/3c71b14df0957749f31fb2e678130daf4cfb3250/code/modules/logging/log_holder.dm#L110-L113
Making these line up by renaming `re-render` to `refresh` seems to make
it work just fine, and not just throw an error.
## Why It's Good For The Game

Life tends to be better when refreshing to see new runtimes doesn't just
add its own lovely little runtimes.

![image](https://github.com/tgstation/tgstation/assets/42909981/79bee3db-5c28-409b-9ff5-3a315fb4ed1c)

![image](https://github.com/tgstation/tgstation/assets/42909981/82a25038-ba7a-430a-bb79-f59d5f4b262b)
And then not show them til you re-open the window cause it doesn't
refresh.
## Changelog
🆑
admin: Refresh button on the View Round Logs menu actually works,
instead of just adding a runtime to the logs (and not updating them).
/🆑
2024-04-04 18:57:04 -06:00
MrMelbertandGitHub 79244dc11f Lint with OpenDream (#81892)
## About The Pull Request

Courtesy of https://github.com/ParadiseSS13/Paradise/pull/21099 and
https://github.com/goonstation/goonstation/pull/18127
2024-03-11 19:31:15 -06:00
ZephyrandGitHub f2d9e84f36 Logging fixes and catches (#79621)
THIS IS A REDO BECAUSE GITHUB SUCKS ASS

## About The Pull Request

Hardens logging against sudden and unexpected cases where we try to log
to a category that is not initialized or the file goes missing.

## Why It's Good For The Game

Logging needs to be robust and bullet proof
2023-12-10 02:46:05 +00:00
vvvv-vvvvandGitHub 6aaae2b1b1 Fix refresh button in log viewer (#79520)
## About The Pull Request

`re-render` is a typo?
https://github.com/tgstation/tgstation/blob/137aa7dc607de6e09bc890bddea15b544347f4d1/tgui/packages/tgui/interfaces/LogViewer.tsx#L66

## Changelog

🆑
fix: Fix refresh button in log viewer
/🆑
2023-11-05 22:32:35 -07:00
ZephyrandGitHub 01957bd173 Add check for illegally formatted unix timestamp for logging (#76193)
This runtiming is bad
2023-06-28 14:27:19 +12:00
ZephyrandGitHub 2f26973584 don't infinitely recurse on attempting to log after shutdown (#76229) 2023-06-23 20:13:34 -06:00
c6205dd063 Adds a new front end for viewing logs | fixes the manifest log message too (#75617)
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/12817816/13d5f3c7-c0cc-4930-8119-e6bde66a1f61)

![image](https://github.com/tgstation/tgstation/assets/12817816/034a17d8-c552-4c3a-8e5f-b210fc4231e5)

## Why It's Good For The Game

I promised I would add it; and while it's not as nice as my previous
iteration it is faster and more streamlined.
## Changelog
🆑
admin: new log viewer, try it out. (View Round Logs)
/🆑

Fixes #75605

---------

Co-authored-by: san7890 <the@san7890.com>
2023-05-29 17:56:15 -07:00
fbec9c14e9 JSON Logging Take Two (#73604)
## About The Pull Request

Converts all logging, excluding perf and investigate, to json.
I focused on making the system as easy to use and as easy to add new
categories as possible.

Due to issues related to logging to world at global creation logger is
now a byond real, which is created directly before Master

Log categories support versioning, secret flagging, and sub-category
filtering. Although all of this is entirely optional for coders.
If you ever want to add a new category and use it, all you need to do is
make the barebones category datum and the define.
I've kept existing procs such as log_game, and simply turned them into a
wrapper for Logger.Log(xxx, ...)
## Why It's Good For The Game

Makes processing and filtering logs much easier in the future, while
only minimally downgrading log crawling experience.
I am also working on a log viewer frontend for admin usage however that
will take a little bit longer to finish up.
Also makes special logging and data tracking much easier thanks to a
data list processing implementation and handling
## Changelog
🆑
server: All logs are now formatted in json, excluding perf and
investigations
/🆑

---------

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-05-22 14:51:00 +12:00
3ceee2aab4 World Initialization Refactor (#74808)
- Removes unnecessary real global vars.
- Adds comments pointing to the init order defined in
/code/game/world.dm.
- Prevent people using `GLOBAL_REAL_VAR` and `GLOBAL_REAL` to circumvent
init order.
- Properly type `PROFILE_STORE` real global.
- Refactored `make_datum_references_lists()` and moved the call to it
into `GLOB` init with duct tape.
- Renamed `GLOB.admin_log` to `GLOB.admin_activities` as it wasn't
actually a log file.
- Whitelist loading happens in config.
- Renamed `SSdbcore`'s `SetRoundID()` to `InitializeRound()`. Now
handles calling `CheckSchemaVersion()`.
- Created macro for setting up log `GLOB`s.
- Removed log line for `GLOB` count.
- Moved call to `make_datum_reference_lists()` to
`/datum/controller/global_vars/Initialize()`. I slimmed it down where
possible too.
- Updated comments about world init order.
- Move `load_admins()` call to after log setup.
- Removes unused function `gib_stack_trace()`.
- Removes a bunch of unused log `GLOB`s.
- Unlocks the secrets of the universe by finally making the first
executed line of code deterministic.

No functional changes. Closes #74792
Testmerge thoroughly.

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-04-24 18:38:38 -06:00
18b041bf47 Add logging for manually changing your targeted zone (#72814)
## About The Pull Request

See title.
Surgery hud is exempt from this.
## Why It's Good For The Game

Requested by @Mothblocks 
## Changelog

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
2023-01-23 22:22:24 -08:00