8020912448
AsyncPool: add phpstan array type information to all fields
2020-04-15 12:40:54 +01:00
5571ae05b5
AsyncPool: silence a warning about wrong key type
...
getTaskId() returns int|null, although it won't happen after the ID has been set.
2020-04-15 12:40:23 +01:00
bc985198a0
Config: do not expect string keys on parseProperties(), because of key casting (PHP sucks)
2020-04-15 12:20:23 +01:00
27b2710c56
Config: make phpstan happy for load()
...
currently this will never be reached if the regular exception handler has been set, but it might not be set if the class is used on its own.
2020-04-15 12:18:22 +01:00
1755b25808
Utils: make explicit assumption about result of scandir() in recursiveUnlink()
...
TODO: this assumption might be flawed in the case of threading...
2020-04-15 12:13:26 +01:00
a78133d0e3
Utils: provide phpstan type information for testValidInstance()
2020-04-15 12:12:18 +01:00
a51a16a55c
Utils: silence PHPStan warning about array_combine() result
...
phpstan doesn't account for having 2 arrays of the same size, and even if it did, the size cannot be inferred easily here.
2020-04-15 12:11:13 +01:00
099562d582
Utils: assume explicitly that ob_get_contents() will not return false in getReferenceCount() based on context
2020-04-15 12:10:21 +01:00
ae76e8f08f
Utils: fix some implicit casts to boolean on result of preg_match_all()
2020-04-15 12:09:10 +01:00
42a08e7e4a
Utils: don't assume that callable is only array|string implicitly
...
this should really support closures too, but since it's not used anywhere, I feel OK with this change.
2020-04-15 12:08:33 +01:00
b193d9f919
Process: shut up PHPStan about possible float returns on getMemoryUsage and friends
...
this can never actually happen because the given data sources will never have such large numbers, but PHPStan doesn't know this.
2020-04-15 12:07:24 +01:00
24d64eedab
Process: make some assumptions about I/O explicit for type safety
2020-04-15 12:05:13 +01:00
0c9d16f1ef
Internet: explicitly assume return of curl_exec() is string after error checking
...
this is documented as string|bool, but it's actually string|false if CURLOPT_RETURNTRANSFER is set, and bool if not.
2020-04-15 12:02:38 +01:00
d246933e3e
TextFormat: account for failure to encode JSON in toJSON()
2020-04-15 11:29:50 +01:00
41d7b8c0e4
TextFormat: properly handle pcre errors in some cases
...
these would previously just hit type errors.
2020-04-15 11:29:04 +01:00
2622c34542
Terminal: explicitly assume that fopen(stdin) will not fail
2020-04-15 11:12:03 +01:00
5c9419b55c
Timezone: use false checks instead of file existing for static analysis
2020-04-15 10:59:36 +01:00
83c40f4502
Timezone: properly account for failure to read timezone file
2020-04-15 10:23:07 +01:00
372202b3dc
Utils: use type-safe checks to ensure file validity
...
this gives the same results while keeping phpstan happy.
2020-04-15 10:19:51 +01:00
917c744266
Properly handle error conditions in Utils::decodeJWT()
2020-04-15 10:18:02 +01:00
2281fe4e67
Account for reflection filename being false (in the case of classes/functions defined by builtins)
2020-04-15 10:15:38 +01:00
cf538d83bf
Timezone: shut phpstan up about impossible ini_get() errors
2020-04-15 09:48:20 +01:00
7e9c38a9d9
Timezone::parseOffset() returns string|false, not string|bool
2020-04-15 09:47:52 +01:00
ccad97727f
UUID: properly account for garbage inputs which aren't valid hexadecimal
...
this would previously throw a TypeError and crash.
2020-04-15 09:44:14 +01:00
e3ebf8bb61
Internet::getIP() returns string|false, not string|bool
2020-04-15 09:39:38 +01:00
cb6b59a52a
Internet: curl_init() may return false on error (unclear on reasons)
2020-04-15 09:38:39 +01:00
53dbbd5f97
Internet: account for socket_create() maybe failing in getInternalIP()
2020-04-15 09:37:17 +01:00
51908ec45a
Player: allow provision of a custom cooldown duration for items
...
this would be more useful to plugins, so that it's not necessary to extend any item classes for this trivial purpose.
2020-04-15 09:32:48 +01:00
a2543ff80d
Position: add getLevelNonNull()
...
this allows assuming that a position has a valid world in places where it's never expected to not be valid. Since this is the vast majority of usages, it eliminates a lot of possible null-pointer warnings given by static analysers.
TODO: Consider whether we can make Position->getLevel/World use this behaviour out of the box in the next major version.
2020-04-14 11:08:37 +01:00
20f3030709
3.11.8 is next
2020-04-14 02:54:41 +01:00
3aa58f54dc
Release 3.11.7
3.11.7
2020-04-14 02:54:40 +01:00
6e08b622b3
Merge branch 'stable' into next-minor
2020-04-14 01:43:23 +01:00
5c12a95151
phpstan: force static reflection for COM class
...
com_dotnet has crap reflection exports and the class name case doesn't match.
2020-04-14 01:43:02 +01:00
604900d4c5
Merge branch 'stable' into next-minor
2020-04-14 01:38:01 +01:00
5f07c5df1c
Bump irstea/phpunit-shim from 8.5.2 to 8.5.3 ( #3384 )
2020-04-12 03:40:14 +00:00
6422ed7722
Added RakLibInterface::setPacketLimit() ( #3398 )
2020-04-11 23:27:17 +01:00
5f33ef35e3
build: allow providing a git hash
2020-04-09 21:13:54 +01:00
d3a6da1b3a
NetworkSession->getPing() now returns null when no measurement of ping has yet been completed
2020-04-04 23:33:30 +01:00
1d9cb174b6
updated RakLib dependency
2020-04-04 23:30:55 +01:00
ec949840b2
Do not crash on failure to decompress region chunks
...
this could happen when a chunk was partially overwritten with one of the same sector size.
2020-04-01 21:30:25 +01:00
f5bf93455a
update to latest RakLib
2020-04-01 20:16:21 +01:00
f5cd87ac95
MainLogger: implement BufferedLogger
2020-04-01 20:09:42 +01:00
64d5320ac9
update for pthreads-free raklib
2020-03-31 19:41:37 +01:00
37701267f0
Merge branch 'stable'
2020-03-31 19:40:54 +01:00
e45e84b236
Updated composer dependencies
2020-03-31 18:43:30 +01:00
00cc2ee092
one more RakLib update for the day ...
2020-03-30 00:22:45 +01:00
927872ce08
Updated to latest bleeding-edge RakLib
2020-03-29 23:53:00 +01:00
abd1ed7352
RakLibServer: make onRun() protected
2020-03-29 18:45:48 +01:00
d89cdfc18e
Relieve RakLibServer of more responsibilities
...
at this point it's really not much more than just a thread-safe way to transmit parameters from main to thread. Maybe we can ditch it in favour of a generic closure-based thread implementation.
2020-03-29 18:42:15 +01:00
4e54e54421
Updated RakLib dependency
2020-03-29 18:18:39 +01:00