-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix runtime during screen element mouse drag #84071
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
tgstation-server
added
the
Fix
Rewrites a bug so it appears in different circumstances
label
Jun 17, 2024
SyncIt21
changed the title
Fix runtime during mouse screen element drag
Fix runtime during screen element mouse drag
Jun 17, 2024
Finally |
comfyorange
added a commit
that referenced
this pull request
Jun 19, 2024
Absolucy
pushed a commit
to Absolucy/Monkestation
that referenced
this pull request
Jul 2, 2024
## About The Pull Request Fixes this ![Screenshot (424)](https://github.com/tgstation/tgstation/assets/110812394/52825b5e-1af0-490b-9139-7f7747ee998a) When you drag a screen element across empty space that isn't over another screen element - Fixes tgstation#84045 ## Changelog :cl: fix: You can move around ui buttons in your action bar /:cl:
dwasint
pushed a commit
to Monkestation/Monkestation2.0
that referenced
this pull request
Jul 5, 2024
* Abilities with no owner control isnt given to ghosts (tgstation#82037) ## About The Pull Request Actions that don't give the user control (so don't give them an action button) will now no longer give them to ghosts either. Ghosts should see the same information as the player when observing them. They don't need to see guardian's protection mode and bileworm's spitting, for example. ## Why It's Good For The Game Explained in the about the pull request already, ghosts should have the same information as the player they are orbiting, not see the hidden actions. It makes it annoying for contributors to have to manually set every ability meant to not be seen by players to also not be seen by ghosts. ## Changelog :cl: fix: Action abilities hidden from players are now not shown to observers either. /:cl: * Fix runtime during screen element mouse drag (tgstation#84071) ## About The Pull Request Fixes this ![Screenshot (424)](https://github.com/tgstation/tgstation/assets/110812394/52825b5e-1af0-490b-9139-7f7747ee998a) When you drag a screen element across empty space that isn't over another screen element - Fixes tgstation#84045 ## Changelog :cl: fix: You can move around ui buttons in your action bar /:cl: * Fixes emissive blockers sometimes being put in an atom's contents (tgstation#74618) ## About The Pull Request This is a weird one. When `EMISSIVE_BLOCK_UNIQUE` is set for an atom, it causes the emissive blocker to be placed in the atom's `contents`. I don't think this was intended can can potentially cause all kinds of issues like in the linked one. ![dreamseeker_uIA6GGqzFm](https://user-images.githubusercontent.com/13398309/230766059-31c9e36c-95dc-4868-9865-aca0347e7f20.png) @LemonInTheDark what say you? Fixes Skyrat-SS13/Skyrat-tg#20431 ## Why It's Good For The Game Bug fix? ## Changelog :cl: fix: fixes emissive blockers sometimes being put in an atom's contents /:cl: * Fixes runtime when toggling engineering meson scanners (tgstation#75145) ## About The Pull Request Fixes this ![Screenshot (190)](https://user-images.githubusercontent.com/110812394/235924099-df5020bc-0100-4e2e-b7ba-7d44f4969654.png) Caused by the highlighted line ![Screenshot (191)](https://user-images.githubusercontent.com/110812394/235924142-4de0edef-1ec0-47ed-aa07-1a2feadb3a47.png) when switching modes the glasses `color_cutoffs` becomes an empty list, not null When glass color is yellow ![Screenshot (188)](https://user-images.githubusercontent.com/110812394/235924541-4b452c9a-dd5b-4ebc-85c9-f9a4ef7f2128.png) When it's blue or off ![Screenshot (189)](https://user-images.githubusercontent.com/110812394/235924613-bd1ed78d-dd11-4760-9a83-c1f3d1203288.png) So, blending an empty list causes the exception ## Changelog :cl: fix: runtime when toggling engineering meson scanners /:cl: * [NO GBP] Fixes signal override and probably other related runtimes during area editing with station blueprints (tgstation#75146) ## About The Pull Request Fixes a tiny mistake i made in tgstation#73850 which caused a hell a lot of signal override runtimes during area editing with station blueprints. It happens allow it. ## Changelog :cl: fix: signal override & other area sensitive runtimes during area editing with station blueprints /:cl: * adds an error message to movables not being removed from the grid... again (tgstation#75161) <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> ## About The Pull Request I swear i didnt fail at this like 3 times i tested it this time. adds a descriptive error of what spatial grid cells a movable is stuck in, and in what channels. This only runs during unit tests. hopefully this should be enough information to go off of to fix the spurious cockroach error. if its not then i can try tracking all grid cell changes during unit tests. error looks like this: ``` [2023-05-03 04:16:34.009] runtime error: /mob/living/trolls_the_maintainer instance, which is in nullspace, and thus not be within the contents of any spatial grid cell, was in the contents of 2 spatial grid cells when it was only supposed to be in one! within the contents of the following cells: {(221, 119, 11), within channels: hearing}, {coords: (136, 136, 14), within channels: hearing}. (code/controllers/subsystem/spatial_gridmap.dm:581) ``` for something located in nullspace but still in the contents of >0 cells and: ``` runtime error: /mob/living/trolls_the_maintainer instance, which is supposed to only be in the contents of a spatial grid cell at coords: (136, 136, 14), was in the contents of 6 spatial grid cells when it was only supposed to be in one! within the contents of the following cells: {(68, 153, 2), within channels: hearing}, {coords: (221, 170, 3), within channels: hearing}, {coords: (255, 153, 11), within channels: hearing}, {coords: (170, 238, 13), within channels: hearing}, {coords: (204, 119, 14), within channels: hearing}, {coords: (136, 136, 14), within channels: hearing}. ``` if its not in nullspace but its within more than 1 grid cell. the coordinates here are translated from the index of the given cell to world coordinates. ## Why It's Good For The Game mothblocks has been standing outside my house for weeks i am fearing for my life --------- Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> * Don't call `update_gravity` on nullspace when being qdelled (tgstation#75333) ## About The Pull Request There is a check in `Moved` that calls `update_gravity` if the mob is being nullspaced or de-nullspaced. However mobs are nullspaced when being qdeleted. This causes runtimes because mobs that have gone through Destroy and have cleaned up vars (such as DNA and species) are having their gravity updated, and most gravity update logic assumes the mob is in a valid, not qdelling state. ![image](https://github.com/tgstation/tgstation/assets/51863163/36a14209-68cf-4280-b197-9a7b5818f417) So, `update_gravity` is not called if the mob is being qdelled when moving into nullspace. ## Why It's Good For The Game Runtimes ## Changelog :cl: Melbert fix: Runtimes when deleting humans relating to gravity /:cl: Co-authored-by: san7890 <the@san7890.com> * fixes a "Attempted to add a new component of type [/datum/component/rot] to a qdeleting parent of type [/mob/living/carbon/human]" runtime (tgstation#75359) https://github.com/tgstation/tgstation/blob/a1a2b0fa9074069ea1048faa5e503ddb1f63ed04/code/modules/mob/living/carbon/death.dm#L1-L19 The mob can start qdeling @ L12 / in living/death() (if say, for example, they had an explosive implant. ) This is accounted for in human/death(), but someone forgot it here. https://github.com/tgstation/tgstation/blob/a1a2b0fa9074069ea1048faa5e503ddb1f63ed04/code/modules/mob/living/carbon/human/death.dm#L20-L34 * Fixes fines applied via sechud not sending messages / registering (tgstation#75357) ## About The Pull Request Forgot some arguments to this call to `alert_owner`. ## Why It's Good For The Game Runtimes ## Changelog :cl: Melbert fix: Applying fines via sechud apply correctly /:cl: * Air Meters check for a null target (tgstation#75936) ## About The Pull Request Meters can have a null target if the pipe below them is destroyed or removed; or if mappers fuck up. ## Why It's Good For The Game Prevents runtimes ## Changelog * Fix debug code in progressbar.dm (tgstation#76106) ## About The Pull Request exceptions need to be thrown --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> * Add check for illegally formatted unix timestamp for logging (tgstation#76193) This runtiming is bad * Fixes a runtime in atom init management (tgstation#76241) ## About The Pull Request The issue was map verification calling build_cache, which uses the define which enables/disables init values on sleep. We avoid this by using a var on map datums and using that to enable the init value modification only when we are actually loading stuff. Also fixes a bug in clear_tracked_initialize() where it being called with no values lead to bad values/potentially overriding initialized on accident. Also also I forgot how for loops worked so this would not have worked regardless ## Why It's Good For The Game Code should like, function * Fix balloon alert runtime(timer added on deleted object) when spider webs are destroyed by hand (tgstation#76255) ## About The Pull Request **Reproduction** - Spawn a spider web - Try destroying it with a wire cutter or any other object, but it must be by hand - If you are lucky (50% probability as the web uses the prob() proc) at the moment the web is destroyed a balloon alert at the same time "stuck in web" gets called causing the runtime because it added a timer on the deleted spider web **Solution** Use loc for balloon alerts as that does not get deleted. ## Changelog :cl: fix: fixes balloon alert runtime when spider webs are destroyed. /:cl: * Make the server not shit the bed under default compile time settings (tgstation#76275) This being 2 is causing all connected clients to get all generated or runtime created assets (like tts), but it is not set to 2 on prod because the rsc cdn requires setting this to 0 via `server_side_modifications.dm` also causes spritesheet to send resources out to all connected clients every insert mid generation, massively slowing it down as it will FUCKING BLOCK during this. * Fixes flaky language holder failure (tgstation#76477) ## About The Pull Request ![image](https://github.com/tgstation/tgstation/assets/51863163/d4f2fd51-6884-4623-b208-f670b6cdb75d) ## Why It's Good For The Game Flaky failure ## Changelog :cl: Melbert fix: Fixes a runtime from people with aphasia trauma getting deleted /:cl: * Fixes an edge case runtime with the snatcherprod (tgstation#76386) ## About The Pull Request Adds a user check to a line and makes it early return now. ## Why It's Good For The Game Thrown items don't always have a mob throwing them. ## Changelog :cl: fix: Fixed snatcherprods potentially giving held objects a one-way ticket to nullspace if thrown at someone by something that's not a mob. /:cl: * Attempts to fix an issue with gravity generators triggering CI failures (tgstation#76764) bug. EDIT: Just kidding, that turned out to not be it either. The issue: During init, when the gravity generator is being set up and creating its proximity field, a turf can get the `COMSIG_ATOM_HAS_GRAVITY` signal registered to it multiple times. It seems like it shouldn't be possible for this to happen due to the `HAS_TRAIT(TRAIT_FORCED_GRAVITY)` check, but it can. I've only seen this happen during CI and have not been able to reproduce it during runtime, but it comes up often enough to be a nuisance when testing PRs. As seen below, causing CI failures. The problem turf is directly below the `gravity_generator/main` object. ![firefox_D4BgPpRbW6](https://github.com/tgstation/tgstation/assets/13398309/d41355de-d05b-4f9d-8305-524408c93022) I spent too much time trying to figure out the cause of this duped signal when it really does not matter if this signal gets overridden here, since it's always going to be from the same proximity field. Suppressing the warning will stop the CI failures without any ill effects in this case. So let's just do that. Less CI failures for something trivial. :cl: fix: fixes gravity generators causing CI failures from overriding a signal /:cl: * Fixes undeleted SQL queries in `IsBanned()` (tgstation#77105) Discovered while working on tgstation#76663 ## About The Pull Request We were getting undeleted SQL stack traces with the following: `[2023-07-25 19:27:33.832] DEBUG-SQL: Undeleted query: "SELECT 1 FROM player WHERE ckey = :ckey" LA: NextRow LAT: 39397` There's only one spot in the code (which happens to be the newest, introduced in tgstation#74496 / 8fc56cb) where we don't always qdel the query regardless of the path the proc takes (and that seems to match the error per the `LA` field), so let's make sure we always clean that up since it's a drather silly runtime. It's also rather spontaneous, as this code is only executed when servers are bunkered up (which Sybil presently is) This is my first time dealing with SQL Query code, so let me know if I'm missing something critical here. * Fixes runtime relating to hard TGS reboots (PROBABLY WON'T FIX REBOOT CRASHES) (tgstation#77309) ## About The Pull Request Servers are crashing on every round restart and I have absolutely no idea where to start, but I noticed this so I figure I'll throw up a PR to fix it. This is the runtime (only found in dd.log, sorry non-admin/maintainer gamers https://[tgstation13.org/raw-logs/sybil/data/logs/2023/08/01/round-211577/dd.log](https://tgstation13.org/raw-logs/sybil/data/logs/2023/08/01/round-211577/dd.log) ) ```txt [00:07:07] Runtime in code/modules/logging/log_holder.dm,166: Attempted to call shutdown_logging twice! proc name: shutdown logging (/datum/log_holder/proc/shutdown_logging) src: /datum/log_holder (/datum/log_holder) call stack: /datum/log_holder (/datum/log_holder): shutdown logging() shutdown logging() world: Reboot(0, 0) Ticker (/datum/controller/subsystem/ticker): Reboot("Round ended.", "proper completion", 600) ``` This is the full log: ![image](https://github.com/tgstation/tgstation/assets/34697715/af938235-3076-41d5-98b2-02907dedb6d5) This is the code: ![image](https://github.com/tgstation/tgstation/assets/34697715/371b11cb-3bc9-4a99-a17c-73968ded308d) For some reason, even though we invoke `TGSEndProcess`, we still continue on in this `if()` chain. I don't know why we keep executing DM code after TGS is supposed to be shut down (which may be why no one has ever included a `return` here, but let's be safe instead of sorry. If you really want to investigate why TGS is running DM code after we end the process, I am amenable to including a stack trace or crash of this phenomenon instead. ## Why It's Good For The Game Since we aren't invoking `LOG_CLOSE_ALL` to rust-g twice (which seems to be really unwanted per the code I read), hopefully thing no crash? Rust-g had two breaking changes (one with logs, and one with SQL), so I'm presuming that this might be related to the log one (which is why we didn't see this sorta thing happen pre-tgstation#77307)... Worst case scenario less runtimes in the funny runtime log. I hope this wasn't loadbearing either... Likely requires testmerging since TGS and I don't get along on my machine. ## Changelog :cl: server: Added a preventative measure to prevent calling both TGSHardRestart and TGSReboot, as well as potentially invoking sensitive procs that are only meant to be called once. /:cl: TL;DR- I do not definitively know why servers are crashing but I noticed this runtime so I'll put out this open flame while I have the time to do so. * COMSIG_PARENT_QDELETING -> COMSIG_QDELETING --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Bloop <vinylspiders@gmail.com> Co-authored-by: Kylerace <kylerlumpkin1@gmail.com> Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com> Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About The Pull Request
Fixes this
When you drag a screen element across empty space that isn't over another screen element
Changelog
🆑
fix: You can move around ui buttons in your action bar
/:cl: