Commit Graph

391 Commits

Author SHA1 Message Date
Aura Dusklight c6f10bfeb3 Convert species, organ_data, and rlimb_data to TG (#19277)
* First test batch bulk change

* remove desync'd old file

* Small change
2026-03-21 04:06:36 -04:00
Kashargul 4d99fe7027 copy slot needs to override (#19299)
* copy slot needs to override

* space

* Delete code/__defines/js_snippets.dm
2026-03-17 20:07:51 +01:00
Kashargul 72628d226c More globals (#19247)
* More globals

* planets

* .

* .

* Update jukebox.dm

* Fix timer callback syntax in jukebox.dm

* .
2026-03-15 02:54:17 -04:00
Kashargul 8a7ed778c3 fix eye color not applying on vanity copy (#19246)
* fix eye color not applying on vanity copy

* .
2026-03-08 23:37:54 +01:00
Aura Dusklight 0964962220 Convert gender and pronoun from bay to TG (#19170)
* Convert gender and pronoun from pay to TG

* Remove HERM from biological gender init_possible_values because it won't work

* fix runtime error

---------

Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2026-02-25 00:00:04 +01:00
Aura Dusklight 311c0117c1 Conversion of realname and nickname from bay (#19120)
* Automatic changelog compile [ci skip]

* replace all bay instances for realname and nickname with tg

* add comments where uncertain of sanitisation needed

* Fix issue from git conflict..

* Fix issue causing setup menu not opening

* Attempt to clean up how name datums are handled

* Remove redundant check

* Fix number issues with character names

---------

Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
2026-02-08 17:34:04 +01:00
Kashargul fdfb49012b some more globals (#19098)
* some more globals

* .
2026-01-29 09:21:58 -08:00
Kashargul 539634682f fix some missing vanity copy traits (#19070)
* fix some missing vanity copy prefs

* fix protean tab flicker
2026-01-20 16:22:27 +01:00
Will 12b13d6b24 Modernizing doors (#18511)
* the agony begins

* fixes

* signaling

* removed remaining attempt_vr

* corrected behaviors

* keep the history

* oop

* wording

* filter for intent here

* oop

* no harm in these either

* Update code/_onclick/item_attack.dm

Co-authored-by: Cameron Lennox <killer65311@gmail.com>

* Get rid of old procs

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-09-23 16:41:15 -04:00
Kashargul 45bd1930ec obj screen to atom movable screen (#18434)
* obj screen to atom movable screen

* .
2025-09-22 00:31:30 +02:00
Selis b0f0f4685f JSON Logging Refactor (#18252)
* First pass

* fixes

* more fixes

* num2hex length changes

* pass 2

* fixed warning

* looc log fix

* .

* update tgui

* .

* .

* .

* .

* perttier

* cleanup

* .

* .

* fix token

* no

* .

* .

* .

* ,

* modsay eventsay

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-09-11 17:28:20 +02:00
Selis f4bf017921 Unit Test rework & Master/Ticker update (#17912)
* Unit Test rework & Master/Ticker update

* Fixes and working unit testing

* Fixes

* Test fixes and FA update

* Fixed runtimes

* Radio subsystem

* move that glob wherever later

* ident

* CIBUILDING compile option

* Fixed runtimes

* Some changes to the workflow

* CI Split

* More split

* Pathing

* Linters and Annotators

* ci dir fix

* Missing undef fixed

* Enable grep checks

* More test conversions

* More split

* Correct file

* Removes unneeded inputs

* oop

* More dependency changes

* More conversions

* Conversion fixes

* Fixes

* Some assert fixes

* Corrects start gate

* Converted some README.dms to README.mds

* Removes duplicate proc

* Removes unused defines

* Example configs

* fix dll access viol by double calling

* Post-rebase fixes

* Cleans up names global list

* Undef restart counter

* More code/game/ cleanup

* Statpanel update

* Skybox

* add

* Fix ticker

* Roundend fix

* Persistence dependency update

* Reordering

* Reordering

* Reordering

* Initstage fix

* .

* .

* Reorder

* Reorder

* Circle

* Mobs

* Air

* Test fix

* CI Script Fix

* Configs

* More ticker stuff

* This is now in 'reboot world'

* Restart world announcements

* no glob in PreInit

* to define

* Update

* Removed old include

* Make this file normal again

* moved

* test

* shared unit testing objects

* Updates batched_spritesheets and universal_icon

* .

* job data debug

* rm that

* init order

* show us

* .

* i wonder

* .

* .

* urg

* do we not have a job ID?

* .

* rm sleep for now

* updated rust-g linux binaries

* binaries update 2

* binaries update 3

* testing something

* change that

* test something

* .

* .

* .

* locavar

* test

* move that

* .

* debug

* don't run this test

* strack trace it

* cleaner

* .

* .

* cras again

* also comment this out

* return to official rust g

* Update robot_icons.dm

* monitor the generation

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-08-10 01:37:23 +02:00
SatinIsle 9eb95ff4bc Transformation fixes (#17953)
* Transformation fixes

Fixes #17943
Fixes #17942

Removed copying of bloodtype from vanity TF procs, as if the user actually has blood it will cause organ failure.
Added secondary ears to copy form ability.

* Makes hanner not get outed by medical scanners

* Preserves bloodtype for resleeving but fixes it for TF
2025-07-14 23:58:26 +02:00
Cameron Lennox 84dc5535dc var/global/list -> GLOB. conversion (#17928)
* These two are easy

* !!!runlevel_flags

the fact it was global.runlevel_flags.len has me a bit...iffy on this.

* !!!json_cache

Same as above. used global.

* player_list & observer_mob_list

* mechas_list

* this wasn't even used

* surgery_steps

* event_triggers

* landmarks_list

* dead_mob_list

* living_mob_list

* ai_list

* cable_list

* cleanbot_reserved_turfs

* listening_objects

* silicon_mob_list

* human_mob_list

* Update global_lists.dm

* joblist

* mob_list

* Update global_lists.dm

* holomap_markers

* mapping_units

* mapping_beacons

* hair_styles_list

* facial_hair_styles_list

* Update global_lists.dm

* facial_hair_styles_male_list

* facial_hair_styles_female_list

* body_marking_styles_list

* body_marking_nopersist_list

* ear_styles_list

* hair_styles_male_list

* tail_styles_list

* wing_styles_list

* escape_list & rune_list & endgame_exits

these were all really small

* endgame_safespawns

* stool_cache

* emotes_by_key

* random_maps & map_count

* item_tf_spawnpoints

* narsie_list

* active_radio_jammers

* unused

* paikeys

* pai_software_by_key & default_pai_software

* plant_seed_sprites

* magazine_icondata_keys  & magazine_icondata_states

* unused

* ashtray_cache

* light_type_cache

* HOLIDAY!!!

this one was annoying

* faction stuff (red?!)

* Update preferences_factions.dm

* vs edit removal

* backbaglist, pdachoicelist, exclude_jobs

* item_digestion_blacklist, edible_tech, blacklisted_artifact_effect, selectable_footstep, hexNums, syndicate_access

* string_slot_flags and hexdigits->hexNums

* possible_changeling_IDs

* vr_mob_tf_options

* vr_mob_spawner_options

* pipe_colors

* vr_mob_spawner_options

* common_tools

* newscaster_standard_feeds

* Update periodic_news.dm

* changeling_fabricated_clothing

* semirandom_mob_spawner_decisions

* id_card_states

* Update syndicate_ids.dm

* overlay_cache & gear_distributed_to

* more

* radio_channels_by_freq

* Update global_lists.dm

* proper

* default_medbay_channels & default_internal_channels

default_internal_channels is weird as it has a mapbased proc() but that proc is never called...

* valid_ringtones

* move this

* possible_plants

* more

* separate these

moves xeno2chemlist from a hook to a new global list.

* tube_dir_list

* valid_bloodreagents & monitor_states

* Junk

* valid_bloodtypes

* breach_burn_descriptors & burn

* more!!

appliance_available_recipes seems uber cursed, re-look at later

* Appliance code is cursed

* wide_chassis & flying_chassis

* allows_eye_color

* all_tooltip_styles

* direction_table

* gun_choices

* severity_to_string

* old event_viruses

* description_icons

* MOVE_KEY_MAPPINGS

* more more

* pai & robot modules

* Update global_lists.dm

* GEOSAMPLES

Also swaps a .len to LAZYLEN()

* shieldgens

* reagent recipies

* global ammo types

* rad collector

* old file and unused global

* nif_look_messages

* FESH

* nifsoft

* chamelion

* the death of sortAtom

* globulins

* lazylen that

* Update global_lists.dm

* LAZY

* Theese too

* quick fix

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-07-14 20:14:31 +02:00
ShadowLarkens 6d854a493e Fix copyslot (#17977) 2025-07-08 20:31:56 +02:00
Selis 355c8ca5f0 DMAPI Update (#17935)
* DMAPI Update

* Fix

* More changes

* InitTgs

* .

* css

* urg

* fix that

* some linux fixes

* .

* .

* .

* update

* .

* pref fixing

* .

* those are already sent

* .

* .

* .

* fully off

* fix that

* New classes & Format

* make this nicer

* CSS Edits

* .

* eh use switch

* .

* Update client procs.dm

* Hard restart counter

* Improved Staffwho style

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-07-02 22:21:14 +02:00
eghughguhhhhhh 195112b1ef Embedded Examine Info (#17863)
* Initial

* Formatting tweaks

* she be themin on my drop til
til im

summary:before

* Convert multilingual to pref

Tested, seems to work. not 200% sure cuz I never use it
2025-06-17 22:52:25 -07:00
Will cbd3f1ea2b Dna, Bodyrecord, Xenochi Revive Refactor (#17732)
* changeling fix

* Move body spawning into BR

* small fix, organization

* replace xeno regen

* Body descriptor system removed

* Revert "Body descriptor system removed"

This reverts commit 04a0aa3ac8.

* massive bodyrecord copy refactor

* this too

* dna copying is now sane

* make a merge easier

* better file for this

* may we ensure peace everlasting

* linter

* oops, missed the test

* fixed up

* furthering the test

* different way to check

* looking promising

* required exclusions

* more test

* another tweak

* setup better

* globin

* test name change

* really mess up that monkey

* gradient style to UI entry

* scramble ignore

* illegal species

* scramble fix

* grad fix, more test fixes

* doing that right

* need these too

* missed defferal

* missed pathing

* documentation wall

* blood color needs a safety

* promethean prep

* this early set isn't needed

* some protections

* fixed waddler nulltest

* failure test

* intensify scan

* second fail test

* noticing

* dna test case

* other dna test case

* Test is bunk

* huge dna cleanup, better signal

* don't edit these

* documentation

* Do not use loc = src.loc

* oops

* Use weakrefs in pods

* remaining weakrefs

* reduce changes in pr

* cloning computer does not rotate itself when used

* moved body design to new BR code, and fixed screen size

* badlinting

* updated

* No instakilling teshari

* jiggles you

* TGUI

* move along

* m ove it

* Update AppearanceChangerMisc.tsx

* this too

* gender is race whoops

* Allow old clonepods too

* xc

* further encapsulation and some fixes

* oops

* misc not race

* separated that

* custom footsteps exchanged

* Custom speech bubble and xenochi stuff

* Update xenochimera.dm

* remove digileg snowflake

* try this

* Update xenochimera.dm

* proper close

* Always update our DNA

* awa

* extremely laggy check removed, actually useless

* explaining

* lower delay time

* slower jigglin

* Revert "slower jigglin"

This reverts commit c801f7d7f5.

* disable appearance editor due to various issues

* Promie love

* xenochi vanity test

* lmao

* earwings

* wording and slot revival

* mobvar?

* Phasing out specific shapeshifter appearances

If you have access to changing your icon, you can change whatever you want.

* saveslot loading

* more

* synth

* Shoot out limbs

* almost ready

* nullcheck

* xenochi revive handles size and weight correctly

* weaver cocoon updated xenochi internal record after tf

* cannot remove from lost limbs

* limbs properly respawn on slot revive

---------

Co-authored-by: C.L. <killer65311@gmail.com>
2025-06-09 08:20:42 -07:00
Will ae718f07e3 Forensics Datum (#17796)
* forensics datum initial work

* typo fix

* glove recursion fix

* missing bloodtype on organ data

* removed frustrating and unneeded b_type var from humans

* no leaky

* listcheck

* documenting

* documentation
2025-06-05 23:30:11 -07:00
Cameron Lennox 6934727f2b Some vanity fixes (#17797) 2025-06-04 05:11:21 -07:00
Cameron Lennox 89328cc9e9 Gets rid of digi_allowed (#17768) 2025-05-30 13:16:37 -07:00
ShadowLarkens 31e8e009db Character Setup Rework (#17576)
* Character Setup Rework

Little tweaks

Species selection done~

Merk randomize body button

Body color and eye color

Merk more replaced code

Convert robolimbs to tgui

Add a warning if flavor text/ooc notes are too short

Custom preview icons for species selector!

A sidequest that only took 8
hours. Also add digitigrade and blood type.

Remove unused body_descriptor system completely

Finish the general tab~

Reorganization to prepare for loadout page creation

* Start of work on the loadout screen

* Only send the data that's actually selected

* Get rid of these ugly ../../../..

* Retype this to avoid conflicts

* Holy shit why did this work this way

* Finish loadout screen

* Add copy loadout function

* Finish occupation page

* Move Special Roles into general tab

* Fix path conflict

* Move size prefs to general tab

* Convert jukebox and volume settings to datum/preference

* Fix a little mergery fuckery in loadout

* Migrate jukebox to new range

* Fix TabbedMenu tabs

* Fix wordwrap for loadout screen

* Kill the vore tab, just traits left to convert

* Convert custom messages

* Convert custom species name

* Convert blood color and reagents

* Move icobase to tgui

* Finished

* This can fuck off too

* Fix a few bugs

* Update index.tsx

* initial for emote sound mode switch

* Make show_roles actually work, hide fluff items

* Fix not being able to select species

* Add emote_sound_mode to body tab

* Fix runtime when no active gear list is present

* Add a save notification to character setup

* Switch to floating

* Add more search bars

* Whoops forgot to add this

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-05-25 03:20:51 +02:00
Will 71cc89be87 Talk Sound Refactor (#17691)
* voices use a unified list

* Move that back

* unneeded file

* use subsystem

* old order

* matching

* matching again

* whitespace

* another whitespace line

* global that's never used

* more cleanup

* little better naming

* lets just use the vars

* oops needed that

* incorrect comment

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-05-15 00:30:52 -07:00
Cameron Lennox a0e9785d0d Kitchen Sink P2 TGUI Prefs (#17579)
* Kitchen Sink V2

* tsx

* Update vorestation.dme

* Update 01_basic.dm

* Update 01_basic.dm

* Deletes the character  directory

* F & M tags

* Flexible

* Update misc.dm

* ICP

* more fixes

* missing sounds
2025-04-26 16:08:58 -04:00
Selis 28e969778c code/global.dm => code/_global_vars/ (#17244)
* 1

* Full conversion

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-21 05:55:25 -04:00
Selis 21dcf0555b Conversion many Globals to Managed Globals (Part 1) (#17121)
* Conversion of some Globals to Managed Globals

* Fix

* for later

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-17 14:16:53 -04:00
Kashargul a97ded5b3b fix runechat offset (#17510)
* don't double this

* .

* urg

* always use if defined

* eh

* tgui window from tg

* skip on char select

* rh

* .

* move to config
2025-04-11 17:10:37 +02:00
Cameron Lennox 1aa1388fc8 Various fixes & tweaks (#17439)
* More tweaks

Moves it up to use diamond and phoron like bluespare crystals use.

* .

* sass update

* Watch fixes

* no

* .

* eaeryl

* fixes that properly

* ...

* .

* No deleting mannequins

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-04-02 21:40:40 +02:00
eghughguhhhhhh 516a07d609 Allow Transparency for Wings, Tails, and Ears (#17283)
* Automatic changelog compile [ci skip]

* Initial work to allow wings to be transparent.

* Revert "Automatic changelog compile [ci skip]"

This reverts commit 8cb19dcdcf.

* * Add ears and tail support

Secondary ears/horns isn't supported atm because it's set up differently and I'd need more than 10% brain power to figure that out

* Add ears/tail alpha support to the appearance changer GUI

* Convert junky button popup to number slider.

Possibly a performance issue to be had here but I'm not really worried about it.

* Add : and " " before previews

* pretty pretty

* fsdfsd

* Secondary Ears. Fsdfsdfsd.

* Yes, Wing Alpha still applies.
Adds caps to species_shapeshift_vr alpha selections, add second ear alpha selection

---------

Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
2025-03-15 14:54:42 +01:00
Cameron Lennox cdafe425a5 Adds Trait Genetics (#16921)
* Adds Trait Genetics from Outpost21

Adds trait genetics from Outpost 21
- Tried to update each file it touched to be equivalent to their Chomp specific variants in order to maintain functionality and make sure no oddities would happen due to code differences. (Some things like the eardeaf loop were left there but commented out)

* Morph trait

* Fixes a server crashing bug with flip

aa

* flip

* Makes morph superpower better

- Makes it use the appearance_changer instead of 1000 different  procs

- Makes cocoon weaver able to change eye and skin color.

I did NOT select you. BAD

* begone

* fix dna modifier

* Fixes massive memory leak

* Brain Runtime Fix

* There was no reason for this to be a spawn(0)

And no I didn't spawn with no blood - https://i.imgur.com/vPizqCD.png

* revert

revert the dna changes there

* Deconf

* gets rid of unused proc vars that did nothing

* expects enough free slots

* glob

* fixed and added two other tests

* another few tests

* this is a list

* fixed bad injector

* lets wrap these for sanity

* better feedback

* wrong name

* don't allow multiple occupants into the dna pod

* future traits will have activation levels instead of binary on/off

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
2025-02-11 02:01:27 -05:00
Cameron Lennox 2e4f1ce642 (Partially) Fixes Out Of Memory crashes (#17043)
* Fixes massive memory leak

* Brain Runtime Fix

* There was no reason for this to be a spawn(0)

And no I didn't spawn with no blood - https://i.imgur.com/vPizqCD.png

* Fixes deadringer not properly deathgasping the right entity

* Wounds properly get delted off destroyed limbs

* Update vorestation.dme

* Runtime fix & DNA lock fix

* More qdels

* qdel

* comment out
2025-02-05 14:02:17 -05:00
Kashargul 7be621e7c3 usr to user part two (#16884)
* usr to user part two

* this can be null

* A few edits

- Gets rid of src. in a few places that were edited
- Gets rid of a few //VORESTATION comments
- Removes an unneeded sanity check in sizegun_vr
- Gets rid of a mind boggling !usr check in mob.dm
- Changes usr to user in sizegun_vr.dm

---------

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: C.L. <killer65311@gmail.com>
2025-01-30 17:17:46 -05:00
Kashargul 7266c4c5dc more missing tags (#16937)
* more missing tags

* only some books have...

* .

* some more

* Update admin.dm

* finish it up
2025-01-21 18:27:01 -05:00
Killian 9a17931d86 default jacket toggle 2025-01-14 18:57:51 +00:00
Kashargul 59b9802628 some istype to macros (#16826) 2025-01-06 06:45:02 +10:00
ShadowLarkens b57023cd11 Convert preferences to /tg/ preferences (#16449)
* Convert all preferences to /tg/ preferences

* Move obfuscate key/job to game options

* Add abstract_type to each of the new subtypes

* Convert ignored players to tg prefs

* Yet another global category list removed

* Fix error, convert client FPS

* Convert UI_style, UI_alpha, and UI_color to tg prefs

* Clean up a little, convert tooltipstyle

* Convert ambience to tg prefs

* Remove chat_timestamp, tgchat can do this internally and gives localized results

* Convert admin ooc color to pref, merk 01_ui.dm

* Convert uplinklocation to a tg pref

* Fixup byond:// links

* Convert name_is_always_random

* Convert spawnpoint

* v16 savefile migration in prep for converting 03_body.dm

* Convert all colors to tg prefs

* Finish converting ooc notes
2025-01-05 13:39:18 +01:00
SatinIsle dce7856bf5 Digitigrade for hanner and replicants (#16795)
Added the option for hanner and replicants to use digitigrade legs.

Changed the total reform ability to account for clothing to match the sprites to the leg type of the new form.

Why not proteans and prommies? Proteans use prosthetic legs that do not change appearance based on the digitigrade option. Prometheans do work with digitigrade legs but they currently do not match the opacity of the rest of the body.
2025-01-01 18:24:48 +10:00
ShadowLarkens 5a47c9b8a1 Check for 516 byond:// hrefs (#16359)
* Add a lint to check for hrefs that don't start with byond://

* Regex convert href links

* Regex convert _src_ as well

* Clean up the last few

* Missed a few
2024-12-11 08:33:17 +10:00
Kashargul 1b8096798b fix those 2 too 2024-12-08 17:08:00 +01:00
Kashargul 2fdde73d3a Merge branch 'master' into protRig 2024-11-27 23:58:52 +01:00
Kashargul ba6a5d4038 dmi port 2024-11-13 22:38:36 +01:00
Kashargul 3e5dfe1ddc . 2024-11-12 21:43:13 +01:00
Kashargul 0fb8005207 chompedit cleanup 2024-11-12 20:55:58 +01:00
Kashargul 607614e217 Merge branch 'master' into protRig 2024-11-12 20:35:51 +01:00
ShadowLarkens d929645c49 Completely merk all traces of the skill system 2024-11-10 00:19:03 -08:00
Killian 2c11b12814 Headset Refactor and Selection (#16568)
* headset refactor and selection

* Update headset.dm

formatting

* Update code/modules/client/preference_setup/general/04_equipment.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/_helpers/global_lists.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/client/preference_setup/general/04_equipment.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/client/preference_setup/general/04_equipment.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/client/preference_setup/general/04_equipment.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/client/preference_setup/general/04_equipment.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2024-11-06 18:49:11 +01:00
Kashargul 0a5742e55b list helper 2024-11-03 02:30:01 +01:00
Kashargul 2e5e6c36a8 protean rigs, no dmis 2024-11-03 02:07:23 +01:00
ShadowLarkens 5470702370 Even more action button updates (#16510)
* Update action buttons up to tgstation/tgstation/pull/29379

* Update action buttons up to tgstation/tgstation/pull/48669

* Some dead signals and stuff
2024-10-22 21:29:42 +02:00
Selis 242fa3a66b Ports over configuration controller (#16484)
* Ports over configuration controller

* Fixes

* Manual path fix

* patch (#16490)

* patch

* .

* SQL Fix

* Post-rebase fix

* Added missing examples

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2024-10-22 19:26:44 +02:00