Commit Graph

125 Commits

Author SHA1 Message Date
SkyratBot
3bd053791c [MIRROR] Puts dynamic logging into its own file [MDB IGNORE] (#15135)
* Puts dynamic logging into its own file

* Fixes the conflicts in there

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-07-27 13:23:07 +01:00
Zonespace
15a223ff2d [MIRROR] Admin lua scripting (#65635) (#15118)
[Ready for Review] Admin lua scripting (#65635)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-07-24 19:55:53 +01:00
SkyratBot
ea83b1444c [MIRROR] Fixes world status runtiming during initialize [MDB IGNORE] (#14939)
* Fixes world status runtiming during initialize

* Update world.dm

resolve a code conflict

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2022-07-17 14:34:57 -04:00
SkyratBot
c0cb54ae26 [MIRROR] Removes useless colon in hub entry [MDB IGNORE] (#14875)
* Removes useless colon in hub entry (#68347)

Removes unnecessary colon in hub entry.

* Removes useless colon in hub entry

Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
2022-07-12 22:04:58 +01:00
SkyratBot
7ab028e0a5 [MIRROR] Shortens Hub Entry Descriptors [MDB IGNORE] (#14849)
* Shortens Hub Entry Descriptors (#68186)

* Shortens Hub Entry Descriptors

Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
2022-07-11 11:38:14 -04:00
SkyratBot
08d5511688 [MIRROR] Adds Current Map To Hub Entry [MDB IGNORE] (#14538)
* Adds Current Map To Hub Entry (#67986)

* Adds Current Map To Hub Entry

Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
2022-06-27 18:14:59 -04:00
SkyratBot
48ac7b572d [MIRROR] Security Level Datums [MDB IGNORE] (#14504)
* Security Level Datums

* wew

* Update security_level_datums.dm

Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-25 02:04:50 +01:00
SkyratBot
51936d03e1 [MIRROR] Adds Round Time and Alert Level to Hub entry [MDB IGNORE] (#14400)
* Adds Round Time and Alert Level to Hub entry (#67607)

You can already see the round time on the TG website and on TGMC
I added the alert level too
Why?

It's useful being able to see the round time and alert level, it helps players make informed decisions when joining the server

Another thing is that these are dynamic elements of the hub entry, they'll never always be the same
in tandem with the round time the alert level also makes people intrigued like "round time 0:20 and red alert? shit must be going down" or "round time 2:00 and green alert? they probably have all the cool endgame stuff lets check it out"

I know TG might not be on the hub but when it is, it's useful to have these

* Adds Round Time and Alert Level to Hub entry

Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
2022-06-19 10:10:00 -07:00
SkyratBot
7a653adfbb [MIRROR] TGUI Say: Upgrades chat input with modern features [MDB IGNORE] (#14375)
* TGUI Say: Upgrades chat input with modern features

* yes

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-17 02:12:42 +01:00
Gandalf
f29b48987e Event voting system, prelude to event planner (#11270)
* wooo

* Update event_vote.dm

* fixes

* Update event_vote.dm

* wrrr

* allows admins to host a player vote.

* weeee

* Update event_vote.dm

* href

* Update event_vote.dm

* EEE

* finishing touches

* Update event_vote.dm

* R_SERVER > R_PERMISSIONS, ties, reschedule

* Update event_vote.dm

* fun > events category

* redundant code removal

* Update tgstation.dme

* Update events.dm

* publik event vote

* llogging

* llogging

* Update configuration.dm

* Update event_vote.dm

* code review and votable

* round two review

* one little thing kills the world

* Update event_vote.dm

* woop

* Update event_vote.dm

* Better event weighting system

* Even chaos system

* EEE

* Update event_chaos_system.dm

* Update event_vote.dm

* Update event_vote.dm

* wweeee

* fixes

* low chaos event system,

* Update event_vote.dm

* Update event_chaos_system.dm

* vote button QOL

* www

* stop overlapping

* Update event_vote.dm

* Update EventPanel.js

* Update EventPanel.js

* e

* e

* Update event_vote.dm

* data

* Update event_vote.dm

* Update event_vote.dm

* Update event_vote.dm

* Update tgstation.dme

* Update tgstation.dme

* wew

* Update skyrat_config.txt

* No consecutive high chaos events

* Update event_chaos_system.dm

* Update sunbeam.dm

* more config

* no

* vote log

* Update event_vote.dm

* wew

* better handling of low chaos events

* wew

* Update ticker.dm
2022-05-04 10:29:00 +01:00
Gandalf
ba7c15aee2 More fixes (#12702)
* wew

* Update preferences.dm

* Update logging.dm

* Update preferences.dm

* Update preferences.dm
2022-04-19 23:48:56 +01:00
SkyratBot
fd91b9929b [MIRROR] Log filters better, including the message [MDB IGNORE] (#12233)
* Log filters better (#65539)

* Log filters better, including the message

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-03-22 20:47:13 -07:00
Tom
b3f03c7c14 https://github.com/tgstation/tgstation/pull/64417 (#11309) 2022-02-06 21:21:34 +01:00
SkyratBot
43c74b2818 Adds a config toggle for granting admin server profile access (#11263)
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2022-02-04 19:37:44 +00:00
SkyratBot
105f0cc610 [MIRROR] Add config entries for PR_ANNOUNCEMENTS_PER_ROUND and STATION_GOAL_BUDGET [MDB IGNORE] (#11145)
* Add config entries for PR_ANNOUNCEMENTS_PER_ROUND and STATION_GOAL_BUDGET (#64368)

Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>

* Add config entries for PR_ANNOUNCEMENTS_PER_ROUND and STATION_GOAL_BUDGET

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>
2022-02-01 01:31:19 +00:00
SkyratBot
958a9d632d [MIRROR] Logs tool usage [MDB IGNORE] (#11055)
* Logs tool usage

* fix conflict

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2022-01-28 01:57:27 -05:00
SkyratBot
ec6ddbe758 [MIRROR] Remove code/__DEFINES/misc.dm [MDB IGNORE] (#10945)
* Remove code/__DEFINES/misc.dm

* agagagagagaga

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-27 02:40:25 +00:00
SkyratBot
65b8082678 [MIRROR] Harddel Fix Pack #42 + Better Live Reftracking Support [MDB IGNORE] (#10639)
* Harddel Fix Pack #42 + Better Live Reftracking Support

* awooga

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 21:57:49 +00:00
SkyratBot
df350f0977 [MIRROR] Add config entry to hide the station name in the hub entry [MDB IGNORE] (#10380)
* Add config entry to hide the station name in the hub entry

* Fixing the merge conflicts, I'll update this again once the PR right before is merged.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-01-03 22:05:45 +00:00
SkyratBot
ad008ecfa6 [MIRROR] Adds logging for all Silicon rather than just Laws [MDB IGNORE] (#9346)
* Adds logging for all Silicon rather than just Laws (#62500)

I find stuffing everything in game.log is a real problem when you need to actually find useful information about what happened to a specific Silicon. It's hard to tell what happened to Silicon throughout a round, even when crossreferencing attack/game logs, so having a Silicon log for all the information related to them would be really useful.
For example, a Cyborg can spawn unlinked on Robocop, go Janitor and crowbar someone to death with a Robodoctor AI. When looking through logs, an Admin can easily assume it was a rogue Engineering cyborg who disobeyed their laws to kill someone.
This also isn't adding a whole new log file, more than it is just renaming the law log file to silicon and adding more useful things into it, so it isn't logging bloat (if that's even a concern)

* Adds logging for all Silicon rather than just Laws

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-11-09 14:16:27 -05:00
SkyratBot
5170b9ecda The Failsafe can now recover from an deleted MC (#60846) (#7664)
* The Failsafe can now recover from an deleted MC
Its also more reliable and can handle a situation where its main Loop runtimes and the MC is stuck

* Reset defcon level correctly
Oops left that in from debugging the levels

* Correctly recover SSasset

* Only decrease defcon if MC creation failed
Also add some sort sleep between emergency loops

* Makes the last two emergency actions manual procs
Since they are kinda unstantable its probalby best
if only admins call these manually

Its also more reliable and can handle a situation where its main Loop runtimes and the MC is stuck
You can also now debug Master/New()

While there will most likely never be any situation where the MC is just gone its still good to know that the game can recover from such a situation
For example maybe someone messed up a SDQL query or maybe someone wanted to delete the MC to create a new one hoping the Failsafe would do so for him

Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
2021-08-20 18:53:14 +01:00
SkyratBot
839a703c5e [MIRROR] Adds new config flag to mirror logging of suspicious failed logins to its own file. (#7538)
* Adds new config flag to mirror logging of suspicious failed logins to its own file.

* Update IsBanned.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-15 22:59:50 +01:00
SkyratBot
083768c2bc [MIRROR] Adds logging for mob numbers (#7399)
* add logging to mob numbers (#60695)

* Adds logging for mob numbers

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
2021-08-05 13:16:31 +01:00
SkyratBot
df651808d4 [MIRROR] Drastic Lag Mitigation Subsystem: SSlag_switch (#6786)
* Drastic Lag Mitigation Subsystem: SSlag_switch (#59717)

Requested by oranges and inspired by the upcoming event. A new subsyetem, non-processing (for now), aimed at providing some toggle switches that can be flipped as a last ditch effort to save some CPU cycles by sacrificing some non-critical mechanics. Below you can see each individual toggle.

Screenshot of the admin panel:
image
Surely there are more opportunities for toggles I missed, but adding new ones is not very difficult at all.
Why It's Good For The Game

Better performance during extreme pop, I hope.
Changelog

cl
code: Introduces the Lag Switch subsystem for when a smoother experience is worth trading a few bells and whistles for. Performance enhancement measures can be togged by admins with the Show Lag Switches admin verb or enabled automatically at a pop amount set via config.
config: Added a new config var: number/auto_lag_switch_pop

* Drastic Lag Mitigation Subsystem: SSlag_switch

* mirrored the changes to the modular file

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:24:16 +02:00
Gandalf
84fcf3b429 Byond minimum version is now 514.1557 (#6626)
* 514.1557

* a
2021-07-01 00:06:33 +01:00
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
04abb98894 [MIRROR] Remove a bunch of old gamemode code (#6025)
* Remove a bunch of old gamemode code

* Mirror!

* Woopsie, modular game modes!

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-01 12:36:59 +12:00
Gandalf
c437a34fe0 TGUI hardset (#5252)
* FFFF

* AAA

* FUCK WE MISSED THIS PR

* Update interface.dm
2021-04-27 17:13:22 +01:00
SkyratBot
2ab15aecb5 [MIRROR] Remove all gamemodes except Dynamic (#5173)
* Remove all gamemodes except Dynamic

* qaaaaaaaa

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-04-25 21:20:30 +01:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
ea7677aedb [MIRROR] Enables 514 testing on master, Removes all reliance on extools outside of maptick (#3224)
* Enables 514 testing on master, Removes all reliance on extools outside of maptick (#56724)

* Uses 514's map_cpu var when it's available

* Uses auxtools for the debugger, to supply cross verison compatibility

* Nukes extools reference tracking, reinstates the old ref tracking system

* Enables 514 testing on master, Removes all reliance on extools outside of maptick

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-02-09 09:46:34 +00:00
SkyratBot
7f7252d855 [MIRROR] Adds logging to uplinks, spellbooks, and the codex ciatrix (#2937)
* Adds logging to uplinks, spellbooks, and the codex ciatrix (#56450)

* Initial logging

* Bugfix and adds uplink logging to config file

* Another bugfix

* Adds logging to uplinks, spellbooks, and the codex ciatrix

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-01-29 14:12:01 +00:00
SkyratBot
b0f90a2af0 [MIRROR] Try to not do anything after calling TgsReboot() (#2716)
* Try to not do anything after calling TgsReboot() (#56161)

We want to use the script TGS executes when calling this to do ops stuff

* Try to not do anything after calling TgsReboot()

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2021-01-16 00:48:32 +01:00
Miss Fox
fee16a7f34 surprisingly load_mentor() never works if YOU DONT CALL IT :3 (#2672)
someone forgot to put load_mentor() :3

Co-authored-by: MissFox <github@aesir.org.uk>
2021-01-12 20:51:03 +00:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
Gandalf
6ef0e46849 Server tagline [SEMI-MODULAR] (#1835)
* aaaaaaa

* Update world.dm

* aaa

* Update config.txt
2020-11-25 15:32:14 -06:00
SkyratBot
f53f3c88b7 [MIRROR] Performance Logging no longer produces broken csv files (#1665)
* Performance Logging no longer produces broken csv files (#54894)

Also better file names so it's easier to mass scrape them.

* Performance Logging no longer produces broken csv files

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-11-11 02:50:02 +00:00
SkyratBot
0572d30cb0 [MIRROR] performance logging (#1629)
* performance logging (#54809)

Dumps a bunch of perf info to a csv every 10 seconds.

Currently this info is only stored in blackbox where it's effectively useless.
csv is a very easy to parse format and is natively supported by a lot of data analysis tools

* performance logging

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-11-08 05:03:16 +00:00
SkyratBot
41788d096e [MIRROR] Overhauls discord verification system (#588)
* Overhauls discord verification system (#53289)

This completely replaces the previous verification system, for one that
will interoperate with a discord redbot instance that uses the cogs
located at you github.com/optimumtact/orangescogs

This cuts out several steps in the system, but it also leaves alone the
existing notify system (which just uses a file list of discord ids) as a
record of who to notify

SQL changes required for the new database system

Version 5.10, 7 August 2020, by oranges

Changes how the discord verification process works.
Adds the discord_links table, and migrates discord id entries from
player table to the discord links table in a once off operation and then
removes the discord id on the player table

The user connects to any tg server, and uses the "Verify Discord
Account" verb, this generates a six word one time use token, with a 4
hour time validity period (defined as 4 hours from the timestamp value)
in the discord links table.

This one time token, and the ckey of the user are stored in
discord_links

At this point the entire DM side is done, this is all it does

* Overhauls discord verification system

Co-authored-by: oranges <email@oranges.net.nz>
2020-09-02 02:47:22 +02:00
SkyratBot
e28b80eca2 [MIRROR] The profiler now starts earlier into the init process. + Documents the initialization order and pipeline (#319)
* The profiler now starts earlier into the init process. + Documents the initialization order and pipeline (#52662)

* The profiler now starts earlier into the init process.
Also documents the init pipeline and order in world/New()'s codedoc.

* better early profiler

* NEWMAN!

* The profiler now starts earlier into the init process. + Documents the initialization order and pipeline

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-08-13 00:19:33 +02: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
Ryll Ryll
98221771b7 Running unit tests no longer requires a launch parameter (#52529)
* for once i actually AM pushing _compile_options.dm

* cool, i get to touch travis
2020-08-01 13:13:59 -04:00
SkyratBot
2afc8586e6 Add check timer sources debug command (#108)
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-07-28 19:10:17 +01:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
MCHSL
331365b422 Adds reference tracking (#51467)
About The Pull Request

Adds extools-powered reference tracking. Includes a couple procs that retrieve the back and forward references of a datum - Back references let you see what is referencing your object and potentially preventing it from garbage collecting, and forward ones show you what your object in turn references. Also made a cool GUI to inspect and follow these references.

The tracking adds some overhead to all variable sets and list operations. Init time is increased by ~15%. I haven't actually benched it so it might impact the actual game less.
Why It's Good For The Game

no lagging caused by hard dels scanning the entire planet (once coders fix them)
2020-06-25 11:26:59 +12:00
ArcaneMusic
000a7fbefb I did myself dirty. (#51342) 2020-05-31 01:57:45 +08:00
Jordan Brown
b1417bc994 Fix unit test logging (#51354) 2020-05-31 01:46:01 +08:00
Tad Hardesty
fce52112b9 Fix attempting to load extools .dll on Linux 2020-05-15 00:47:12 -07:00
Jordie
248a6fd50c Datum based poll creation and vote handling update (#50843)
An almost complete rework of how creating polls, their data and voting on them is handled.

Instead of repeatedly querying for poll data, running polls are loaded at runtime into poll_question and poll_option datums that stores all the needed variables for both. This datum is then used for creating, editing and accessing poll data. The database is only contacted when saving changes or votes.

Creating polls and options is now done with a html window instead of a series of popups akin to how the banning panel works. The form data is parsed and error-checked before passing to be saved.
This is done in two stages, first time a poll's details are entered and it must be initialized (created as a datum) before options can be added and all of both are saved to the database. Instructions about how this work are shown on the poll creation window.

A new field for polls has been added, subtitles, which is text only shown when a poll is opened by a player instead of on the list of polls. Intended so the actual question text can be kept to only a name and important information about a poll goes in a subtitle.
All polls can now have revoting enabled on them.
Polls can have a starting datetime specified, this can be in the past but why would you do that?
Polls and options can be edited once created, excluding the type of a poll. Doing so will by default clear all existing poll votes. Votes can also be cleared by a button.

The handling of how votes are processed has been adapted for the datum system but is on the whole not functionally that different aside from poll validation not being roughly copypasted across each poll type's vote proc

All poll tables now have a deleted column for retaining 'deleted' data.
poll_question has also gained the columns created_datetime, subtitle, allow_revoting, their function explained above, and a change of idx_pquest_time_admin to idx_pquest_time_deleted_id.

A stored procedure set_poll_deleted has been added. This is called when setting a poll as deleted to avoid needing 4 separate queries from the server or one fairly long 4-way joined 

Create Poll verb is renamed to Server Poll Management
2020-05-11 14:34:51 +12:00
Jordan Brown
ad8a75e332 Patching the DMAPI (#50862) 2020-05-05 17:33:13 -07:00