Guangcong Luo
17ebb805a4
Fix typechecking in punishments.js
...
It turns out the line `let Punishments = module.exports;` makes it into
`any`, and disables nearly all typechecking of anything to do with
`Punishments`. This refactor fixes that, and also fixes a bunch of flaws
newly caught by TypeScript.
I tried my best not to make any changes to actual functionality. These
changes should be effectively purely code cleanup.
2019-04-22 08:39:05 +09:30
Guangcong Luo
e33afd90a2
Rebuild on /updateserver rather than /hotpatch
...
Rebuilding on /updateserver is nicer than needing to do it individually
per hotpatch function, and also makes it apply to restarts (in case
you're manually launching `node server` instead of
`./pokemon-showdown`).
2019-04-21 20:51:38 +09:30
whales
b8799b4ae6
Allow staff to hidetext themselves ( #5452 )
2019-04-20 21:48:16 +09:30
Kirk Scheibelhut
6fea91ee56
Split dev-tools/globals* into sim and server ( #5450 )
2019-04-18 04:17:54 +09:30
JetOU
19d561d76f
Calculator: Support modulos ( #5455 )
2019-04-17 22:22:30 +09:30
Jacob McLemore
454c599b84
Movesearch: Add ability to search for moves in more than one Pokemon's learnset ( #5346 )
2019-04-17 16:44:42 +09:30
Konrad Borowski
f123adf560
Uno: Include card name in aria-label
...
Buttons with content like "S" aren't accessible as it's not obvious
that "S" means Skip, and they don't mention which color the card is,
which before this change was visible only by checking the style
attribute.
Having an aria-label attribute gives an accessible alternative for
screen readers. A screen reader probably won't tell an user a button
is red, and this is somewhat important while playing Uno.
2019-04-16 22:20:13 +02:00
Kirk Scheibelhut
7177f4ddcf
Include diffs of all User settings in |updateuser| ( #5438 )
2019-04-16 06:20:36 +09:30
whales
71c372f7d0
Scavs: Fix reset message ( #5447 )
2019-04-16 05:18:21 +09:30
HoeenHero
820eff0410
Escape HTML in help ticket hover messages
2019-04-14 07:38:46 -04:00
HoeenHero
d6b4705870
Help Tickets: General Improvements
2019-04-13 15:50:23 -04:00
Distrib
2713112c7b
Helptickets: Fix Request a password reset ( #5446 )
...
I just noticed that the link is not up to date. On the room help is another link, so I replaced it.
2019-04-13 13:29:20 +02:00
Kirk Scheibelhut
ceb490adb5
Remove '@' from usernames ( #5440 )
2019-04-12 14:04:38 -04:00
whales
e29df1d09f
Update scavengers ( #5434 )
...
Tie databases to the room so they survive hotpatches, change finish message order
2019-04-11 23:07:11 +09:30
Guangcong Luo
fe9cb57fa5
Support multiline commands in PM ( #5426 )
...
This is a huge hack... :[
2019-04-11 14:17:24 +08:00
Bär Halberkamp
a78b6117a5
Punishments: fix undesired behavior when unlocking users
...
There were a couple of edgecases that caused punishments to be duplicated due to remnants of the old, overly
ambitious, spreading of punishments
Also check all users for potential unlocks, even when the user being unlocked is offline
2019-04-09 12:35:36 -04:00
Kirk Scheibelhut
f9164d4d59
Pull out non-sim code into RoomBattleStream ( #5428 )
2019-04-09 17:58:07 +08:00
Kirk Scheibelhut
e1356c055b
Send blockpms and blockchallenges status in |updateuser| ( #5422 )
2019-04-08 01:43:12 +08:00
asgdf
57cbbf8161
Fix message order for locks ( #5421 )
2019-04-07 16:19:13 +08:00
Guangcong Luo
1eee50788f
Refactor createBattle
2019-04-06 21:40:56 +08:00
whales
770d3e6b50
Typescript tours ( #5323 )
2019-04-06 15:51:32 +08:00
HoeenHero
bc069e4f27
Fix Input Logs
2019-04-05 18:26:52 -04:00
Austin Couturier
706b46cafd
Allow Global Voices and higher to pm /code ( #5411 )
2019-04-06 01:02:49 +08:00
Guangcong Luo
5f8b1b81f1
Improve Help ticket messages
2019-04-05 10:55:03 -04:00
Guangcong Luo
851d1a8fb9
Improve !code's appearance
...
(Also alias /calc to /math)
2019-04-05 10:54:34 -04:00
Guangcong Luo
12f49b20e1
Move /code and /pi to chat-plugins/info.js
...
The two are definitely not core commands.
2019-04-05 09:41:11 -04:00
JetOU
25dd6ffcbc
Improve /sp ( #5309 )
...
* Improve SP
* Remove useless code
which fixes a build error, killing two birds with one stone
* Move sorting code to page
* Increase readability
* Further increase redability
* Remove useless alts filtering
* Add semicolon
* Standardize output in punishments.js
* Remove punishDesc
* Close div tag
* Don't show if they end in 0s
* Improve conditional
This should (hopefully) fix a bug where a roomban showed up as 12 months, which is what happenes when `Chat.toDurationString` gets a negative number, `Chat.toDurationString` doesn't recognize anything below 1000ms anyway.
* Prevent rooms with '-' to use /sp
* Pluralize IP
* Fix mismatched tags
* Fix sort callback
* Remove useless conditional
2019-04-04 18:19:41 -04:00
Kirk Scheibelhut
6c1ab30977
Update dependencies ( #5407 )
2019-04-04 14:39:53 +08:00
Spandan Punwatkar
6856ee9b23
Add sort parameter to /dexsearch ( #5291 )
2019-04-03 14:42:47 +08:00
MacChaeger
28affbc0ce
Prevent a tournament exploit ( #5353 )
2019-03-31 18:19:47 +08:00
JetOU
0976c5f3c3
Helpticket: Use for-of instead of for-in in arrays ( #5385 )
2019-03-30 20:56:41 -05:00
Kirk Scheibelhut
081ce82d15
Revert "Sockets: Refactor event handlers" instead of sockjs. ( #5378 )
...
* Revert "Sockets: Refactor event handlers"
This reverts commit d1242593f3 .
* Revert "Switch back to sockjs 0.3.18 (#5376 )"
This reverts commit 880ded4ed8 .
2019-03-30 00:52:02 +08:00
Lucas-Meijer
c8fe3374e9
Mafia: Shorten Idea Timer and Correct IDEA Rolelists ( #5357 )
2019-03-28 08:54:09 -04:00
HoeenHero
d40c4f9db7
Update language support for /analysis
2019-03-27 13:15:28 -04:00
HoeenHero
8d9af2bb83
Battlesearch: Fix date sorting
2019-03-27 13:15:24 -04:00
JetOU
b396ce9edb
Allow multi-line htmlbox ( #5334 )
2019-03-27 22:06:51 +08:00
Konrad Borowski
073a68bb3b
Always mention subroom status in /roomauth ( #5349 )
...
In particular this allows displaying this information when room has no
roomauth.
2019-03-25 21:32:28 +01:00
Guangcong Luo
c25b152e51
Fix onCreateBattleRoom
...
(And some other issues introduced by 4p refactor.)
2019-03-26 00:47:48 +09:00
Ivo Julca
d4b9b98678
TCG: Refactor net functions
...
- Fix error handling
- Use async-await
2019-03-24 02:24:30 -05:00
whales
b7eca3794d
Send roomid in /cmd roominfo response ( #5339 )
2019-03-23 16:08:43 +09:00
whales
5cbee5d996
Prevent getting info of the global room ( #5328 )
2019-03-20 17:43:16 +09:00
Guangcong Luo
2153f768e1
Fix createBattle logic
2019-03-18 19:49:16 +09:00
Ivo Julca
d1242593f3
Sockets: Refactor event handlers
...
Define them early for better performance
2019-03-18 00:53:09 -05:00
MacChaeger
6ac8266696
Support 4 player battles ( #5266 )
2019-03-18 13:37:27 +09:00
Snaquaza
00fab15ca4
Mafia: Add Themes ( #5305 )
2019-03-17 06:54:29 -04:00
Ben Davies
3204b721b4
Fix bug in /cmd roominfo
...
It was checking whether or not a user was capable of viewing a private
room's info based off the room it was sent in, not the target room.
2019-03-16 08:48:49 -03:00
Ben Davies
665c6e4499
Add autoconfirmed user metadata to /cmd userdetails ( #5306 )
2019-03-12 13:41:51 -07:00
Ivo Julca
3686dcfe46
TS: ModdedDex#generateTeam() returns PokemonSet[]
2019-03-12 00:29:59 -05:00
Ben Davies
29f9c97816
Commands: make /cmd roominfo call secret rooms secret, not private
2019-03-11 19:11:13 -03:00
Ben Davies
80cbca67e5
Make /modjoin false set room modjoin property to null, not undefined
2019-03-11 18:58:55 -03:00
Ben Davies
6809679733
Trivia: allow batch adding/submitting questions
2019-03-11 14:55:02 -03:00
Bär Halberkamp
f46aa55f43
Info: That's supposed to be global mod not roommod...
2019-03-11 17:50:25 +01:00
JetOU
09167da8dc
Fix crash in server/punishments.js ( #5300 )
2019-03-11 17:09:18 +01:00
JetOU
1d70080d02
Fix crash in server/tournaments/index.js
2019-03-11 01:29:45 -05:00
Ben Davies
d8006887e4
Fix typo in server/tournaments/index.js
2019-03-10 23:04:42 -03:00
MacChaeger
489b48c308
Rename most of room-battle.js's exports ( #5289 )
2019-03-09 22:34:17 -06:00
JetOU
708f656873
Info: Add /showpunishments command ( #5223 )
...
* Info: Add /roomstatus command
https://www.smogon.com/forums/threads/3534365/page-81#post-7977912
I'm not a big fan of the approach used here, but I didn't have any better ideas that worked.
* Fix build errors
* Remove response function
* Change command name
* Rewrite
* Use HTML pages
* Reword entries
* Check username map instead of IP map
* Prevent duplicate punishments from appearing.
* Use this.title
* Remove debug code
* Add a check if punishments exists
* Show ip and alts
* Pluralize IP
* Slight refactor in punishDesc
* Add check for Punishments.roomIps existence
* Return an error message for rooms without '-'
More specifically, rooms that aren't public, hidden or private. They couldn't use them anyway. This just handles them correctly.
* Join ip
* Use room.chatRoomData instead of...
checking for '-' in roomids.
* Update help command
* Clarify error message
* Simplify permission check
* Remove muteQueue variable
* Fix punishDesc
Alts would overwrite reason if it existed and punishDesc would always contain undefined due to not being defined empty. This commit fixes both bugs.
* Allow roomstaff to use /sp
* Refactor store iteration to for...of
As per CONTRIBUTING.md
2019-03-09 22:44:30 +01:00
Ben Davies
1f63aa7675
Allow /cmd roominfo to say modjoin is set to true
...
Bots can't differentiate whether or not modjoin's setting is based off
of modchat's or not otherwise.
2019-03-09 03:23:58 -04:00
Ben Davies
6e5b225c74
Fix what /cmd roominfo says modjoin is set to, include modchat
2019-03-09 01:26:29 -04:00
Ben Davies
929471a18f
Implement /cmd roominfo ( #5279 )
2019-03-08 21:15:53 -06:00
JetOU
85533ee3a0
Change forEach to for...of ( #5269 )
2019-03-08 11:24:58 -06:00
Ben Davies
f6db058bd2
Chat-plugins: ignore links when determining room FAQ length ( #5262 )
2019-03-07 13:42:28 -04:00
Bär Halberkamp
c28340714d
Chat monitor: Compare userids in namefilter
2019-03-06 20:54:44 +01:00
TheMezStrikes
387f400a7e
Fix forcerename tracking wrong username ( #5265 )
2019-03-06 13:28:30 -06:00
Bär Halberkamp
cf8cff25b6
Spotlights: disable spotlights in temp rooms
2019-03-06 03:05:05 +01:00
TheMezStrikes
b20daa42cc
Trim FAQ target ( #5252 )
2019-03-05 07:35:01 -06:00
Bär Halberkamp
ac470ec52c
Add a FAQ option for RNG
2019-03-04 20:41:56 +01:00
Konrad Borowski
90dcec5644
Use FS when loading Scavengers' data ( #5238 )
...
This prevents issues with loading old state while hotpatching.
2019-03-03 16:59:33 -06:00
Guangcong Luo
ce5a954ae2
Use array spread instead of Array.from
2019-03-03 08:47:08 -06:00
Kirk Scheibelhut
6e122d5d74
Refactor lib/ to be native Typescript ( #5217 )
2019-03-02 11:12:24 -06:00
asgdf
8c25d8dad6
Fix /dt showing 'undefined' as Zygarde ability ( #5153 )
2019-03-02 10:07:54 -06:00
Kirk Scheibelhut
32704acee1
Pull large avatarTable out into a Set constant. ( #5228 )
2019-03-02 06:14:46 -06:00
The Immortal
075da69253
Update Other Metagames
2019-03-01 17:27:26 +04:00
Konrad Borowski
04fef9e8df
Log long modlog queries
2019-03-01 02:35:39 -06:00
Konrad Borowski
0a9af088ce
Make modlog asynchronous
...
This should prevent issues in which the /modlog takes forever
because it's waiting for previous /modlog command.
2019-03-01 02:35:39 -06:00
Konrad Borowski
42d7f97bc8
Make !rules broadcastable
...
This fixes a regression.
2019-02-27 21:16:21 +01:00
Guangcong Luo
f5a8723f1c
Fix build/hotpatch process
...
Hotpatching and running `./pokemon-showdown` now automatically run
`./build`. There should now mostly not be any reason you'd want to
manually run `./build`, except if you're invoking tests directly.
In addition, a lot of redundant code has been removed.
I'm not 100% sure this works on Windows, but I'm sure I'll get reports
if anything breaks.
2019-02-27 01:47:44 -06:00
Bär Halberkamp
2e4d04d243
Translations: fix missing english strings
2019-02-27 02:11:11 +01:00
Kirk Scheibelhut
b09fd63377
Refactor sim/ to be native Typescript ( #5210 )
2019-02-26 11:03:30 -06:00
HoeenHero
e4c24b3f53
Fix crash with PMs
2019-02-25 11:56:16 -05:00
Kris Johnson
da6f42c5c1
Change Untiered to (DUU) for Doubles ( #5178 )
2019-02-25 07:35:41 +04:00
The Immortal
bc1ff9fac4
Revert "Change (PU) to Untiered ( #5170 )"
...
This reverts commit d40fe510b4 .
2019-02-25 06:26:21 +04:00
Bär Halberkamp
eb67a12ad6
Translation support ( #5167 )
2019-02-23 19:36:42 -06:00
Kris Johnson
d49610fcd7
Datasearch: Fix event Pokemon showing in LC searches ( #5177 )
2019-02-22 18:30:56 -06:00
Kirk Scheibelhut
dc4bfbc4ae
Fix some Typescript related TODOs ( #5198 )
2019-02-22 17:48:16 -06:00
whales
fc2eda1cf7
Mafia: Resolve chat pages properly ( #5192 )
2019-02-21 13:35:44 +01:00
Bär Halberkamp
b3df28035d
Chat monitor: make inap pokemon names weeklock instead of namelock
2019-02-21 01:06:53 +01:00
Guangcong Luo
11f5c007dc
Lower tab size in !code
2019-02-20 16:57:36 -06:00
Jacob McLemore
34f90a9b55
Tours: Fix a forfeit being reported as failed even though it succeeded ( #5188 )
2019-02-20 02:11:43 -06:00
uzelbot
922a4cef95
Remove * from most permissions shown in /help ( #5168 )
2019-02-20 00:59:50 -06:00
Guangcong Luo
64089636dd
Simplify evo data representation
2019-02-19 23:46:55 -06:00
Guangcong Luo
46134ce5f6
Improve data representation of evo method
2019-02-19 23:42:06 -06:00
Jacob McLemore
bad622e1cd
Add evolution method information ( #5179 )
2019-02-19 23:04:20 -06:00
Guangcong Luo
997274cfc5
Use editprivacy permission for /ionext
...
This matches the permission for /ioo
2019-02-18 21:57:45 -05:00
Guangcong Luo
653b303a52
Support custom hideReplay setting
2019-02-18 21:46:26 -05:00
Bär Halberkamp
c2beb8321a
Allow warning users outside the room in all global warn contexts
2019-02-18 16:18:36 +01:00
HoeenHero
c6ed4cedb7
TCG: Update wiki domain
2019-02-18 08:39:53 -05:00
Guangcong Luo
135746cbdc
Fix crash in ghost connection fix
2019-02-17 11:46:28 -06:00
whales
374a1cde5a
Mafia: Fix html room updates ( #5174 )
2019-02-17 11:08:37 -05:00
HoeenHero
68dd4184d8
Add alias for /hidetext
2019-02-16 20:39:39 -05:00
Bär Halberkamp
9ab6bbbf2e
Cafe: Fix path
2019-02-16 23:56:46 +01:00
Kris Johnson
d40fe510b4
Change (PU) to Untiered ( #5170 )
2019-02-16 03:07:51 +04:00
HoeenHero
6d7115dfd5
Support the random battles damage calculator
2019-02-12 14:33:24 -05:00
Bär Halberkamp
8a5eeac84f
This command is not technically deprecated but close enough
2019-02-12 19:07:52 +01:00
Bär Halberkamp
c4301a7c1f
Show deprecated status of commands in the command help
2019-02-12 19:06:35 +01:00
Bär Halberkamp
5fb8b5e954
Add a PageContext for HTML pages and expand html page functionality ( #5160 )
2019-02-12 19:00:14 +01:00
whales
7f2994b4f9
Mafia: Fix starting games through the UI ( #5156 )
2019-02-12 08:44:18 -05:00
Konrad Borowski
bf0ad10a28
Remove deprecated commands from /help
2019-02-12 11:05:14 +01:00
Bär Halberkamp
efa47fc911
Deprecate /redir
2019-02-12 01:24:38 +01:00
Guangcong Luo
b498bb222c
Require object literal method shorthand
2019-02-11 18:14:09 -06:00
Guangcong Luo
a5816ddcbe
Fix math for counting battle turns
...
Turns out, requestCount goes up by 2 every turn, not 1.
In hindsight, this makes sense because we're giving every player their
own request ID.
2019-02-10 19:04:41 -06:00
Bär Halberkamp
33d3691566
Fix an edgecase regarding locks getting removed on guests
...
This caused /unnamelock to leave ghost users in the userlist
2019-02-10 17:20:30 +01:00
Ben Davies
58fd10f6cb
Tweak ghost connection timeout, log their connection status
2019-02-10 01:13:10 -04:00
Guangcong Luo
bd50666e4d
Fix /hotpatch chat
...
Old chat plugin processes weren't getting correctly ended.
2019-02-09 21:52:57 -06:00
Guangcong Luo
b7c252fbd6
Automatically end BattleStreams at end of battle
...
PS prefers to keep battle streams open (for `/evalbattle`) until
manually ended, but this is confusing some other users. We now
automatically end streams unless the `keepAlive` option is set.
Fixes #5157
2019-02-09 21:16:45 -06:00
Guangcong Luo
330892ef72
Remove 7 second limit for multi-laddering
2019-02-09 20:34:28 -06:00
Guangcong Luo
7cac561c27
Fix hotpatching battles/formats
...
Hotpatching battles only is no longer possible - it takes the same
amount of resources as hotpatching formats but is way more error-prone.
2019-02-09 11:38:02 -06:00
Guangcong Luo
f8cc6c2881
Clarify message for multi-laddering
2019-02-09 11:38:02 -06:00
SuddenlyQ
0796613a72
Add in-battle mod detection to /weak and /coverage ( #5144 )
2019-02-09 12:25:45 -05:00
Guangcong Luo
248e7ed767
Fix Help Tickets preview
2019-02-09 00:09:49 -06:00
Guangcong Luo
75dd2f408e
Fix minor typos
2019-02-09 00:03:51 -06:00
Guangcong Luo
55f98af70f
Better support IPv6 in IP checker
2019-02-08 23:52:23 -06:00
Guangcong Luo
f2edf2bd17
Fix crash in /processes
2019-02-08 23:20:23 -06:00
Guangcong Luo
2816b33869
Allow free multi-laddering in first five turns
...
Searching for multiple games in the first five turns is unlikely to be
timerstalling, so we allow it here.
2019-02-08 16:06:08 -06:00
Kris Johnson
39ee0477c1
Movesearch: Account for custom recoil ( #5151 )
2019-02-07 16:50:47 -06:00
HoeenHero
222b4e7454
Fix ticket activation when the creator is staff
2019-02-07 15:43:01 -05:00
HoeenHero
6c3b8b5de5
Help Tickets: Require users to explain their issue before getting help ( #5148 )
2019-02-07 13:07:18 -06:00
Spandan Punwatkar
a041239224
Add Recoil as Move Search Parameter ( #5149 )
2019-02-07 12:10:11 -06:00
Konrad Borowski
f85d523630
Suppress LGTM's URL sanitization warning ( #5147 )
...
This warning is strictly speaking correct, the URL isn't verified
properly. However, in this case, this isn't a practical issue, as
it's possible to use /forcebattleban command anyways.
2019-02-07 12:06:47 -06:00
Konrad Borowski
0a7c37990a
Refactor Emoji regex to use \p syntax ( #5146 )
...
(Increases minimum Node version requirement)
2019-02-07 11:59:16 -06:00
whales
7e8d588f7d
Mafia: Support hiding discards, starting from open signups ( #5142 )
2019-02-06 19:15:09 -05:00
Guangcong Luo
8eba261f0b
Fix crash in /data
2019-02-06 16:24:48 -06:00
Guangcong Luo
21ba77befa
Fix hotpatch uncaching
...
Chat.uncache functions now consistently take a path relative to repo
root, just like FS.
Next step will probably be to have FS handle all text-based databases.
2019-02-06 15:59:28 -06:00
HoeenHero
870d308ee6
Fix modlog search location
2019-02-06 11:59:04 -05:00
Bär Halberkamp
89838d657f
Fix chat plugin file I/O after server/ refactor
2019-02-06 17:54:30 +01:00
HoeenHero
7f68ab7352
Battlesearch improve UI
2019-02-06 11:16:04 -05:00
Marty-D
0cc5649187
Help tickets: Remove timerstalling
2019-02-06 11:07:13 -05:00
DubbleClick
0a864e84d8
Fix some LGTM alerts ( #5139 )
2019-02-05 20:34:32 -06:00
Guangcong Luo
70b3e9a525
Rename channel -> room, subchannel -> channel
...
"channel" is just a fancy way of saying "room, but in sockets".
Renaming them like this should make it clearer exactly what's going
on in sockets.
2019-02-05 16:55:37 -06:00
HoeenHero
e05e41fd9b
Fix the rest of the hotpatches
2019-02-05 12:21:03 -05:00
HoeenHero
879a4462a2
Fix Hotpatch
2019-02-05 11:48:06 -05:00
Guangcong Luo
ffdcff3abc
TypeScript globals
...
A few globals: Monitor, LoginServer, etc weren't being correctly
TypeScripted. This should change that.
2019-02-04 18:04:13 -06:00
HoeenHero
3c2666ec7c
Revert url for chatrooms.json updates
2019-02-04 13:19:36 -05:00
HoeenHero
68131906ca
Fix StaticServer and loading rooms
2019-02-04 11:17:44 -05:00
Guangcong Luo
b15c9a60f9
Fix formatText support for & > etc in URLs
2019-02-04 09:17:48 -06:00
Guangcong Luo
f3e45fbb72
Move server code to server/
...
Also move mods/ to data/mods/
This makes PS more monorepo-like. The intent is to further separate
the sim and the server code, but without fully committing to splitting
the repository itself.
We now support `./pokemon-showdown start` in addition to
`./pokemon-showdown`. I'm not clear which I want to be the default
yet.
2019-02-03 16:07:06 -06:00