* Tighten mod check severity and selectivity for unit-producing triggered Uniques
* Prettify display of mod check results by suppressing dupes and hiding conditionals from tr()
* Extra confirmation to play with errors, colors, improved handling of mod checkboxes
* Tweaks to improved mod checking in new game
* Added new ktor dependency for developing multiplayer API v2
* Added the api package, including endpoint implementations, cookie helpers, serializers and structs
* Fixed a bunch of problems related to error handling
* Fixed some API incompatibilities, added getFriends() method
Rename the Api class to ApiV2Wrapper, added a chat room screen
Replaced logging dependency, renamed the endpoint implementations
* Dropped the extra logger to remove dependencies, added the APIv2 class
* Restructured the project to make ApiV2 class the center
* Improved chat handling, added server game detail caching
Added a generic HTTP request wrapper that can retry requests easily
Added a default handler to retry requests after session refreshing
* Updated the API structs based on the new OpenAPI specifications
Switched endpoint implementations to use the new 'request', updated WebSocket structs
* Updated the auth helper, added the UncivNetworkException
Fixed some more issues due to refactoring APIv2 handler
Fixed some issues and some minor incompatibilities with the new API
* Implemented the LobbyBrowserTable, added missing API endpoint
Fixed login and auth issues in the main menu screen
* Added new WebSocket structs for handling invites and friends
Updated the API reference implementation
* Added GET cache, allowed all WS messages to be Events, added missing endpoints
Added func to dispose and refresh OnlineMultiplayer, only show set username for APIv2
* Reworked the ApiV2 class to improve WebSocket handling for every login
Added small game fetch, fixed lobby start, some smaller fixes
* Change the user ID after logging in to fix later in-game issues
Attention: Afterwards, there is restoration of the
previous player ID. Therefore, it won't be possible to
revert back to APIv0 or APIv1 behavior easily (i.e., without
saving the player ID before logging in the first time).
Added serializer class for WebSocket's FriendshipEvent enum
Fixed chat room access and cancelling friendships
* Fixed WebSocket re-connecting, outsourced configs
Updated the RegisterLoginPopup to ask if the user wants to use the new servers
Implemented a self-contained API version check with side-effects
Fixed various problems with WebSocket connections
Don't show kick button for lobby owner, handle network issues during login
* Added English translations for ApiStatusCode, fixed broken APIv1 games for uncivserver.xyz
Fixed subpaths in baseUrl, added server settings button
* Added WS-based Android turn checker, added a new event channel, fixed APIWrapper
Added a logout hook, implemented ensureConnectedWebSocket
Merge branch 'master' into dev
* Throttle auto-reconnect for WS on Android in background, added reload notice for your turn popup
Implemented real pinging with awaiting responses, fixed ping-related problems
* Adapted new getAllChats API, added outstanding friend request list, improved styling
* Added the ApiVersion enum and the ApiV2 storage emulator
* Updated the APIv2 file storage emulator
* Replaced all wildcard imports with named imports
- use existing map for building resource check, instead of iterating over uniques
- remove one retrieval for UniqueMap.addUnique
Idea for future improvement: setTerrainFeatures currently populates a UniqueMap for each tile. MANY tiles share the same set of features...
- improvementFilter checks map instead of array for textual match
- forCityGetMatchingUniques does not string-serialize conditionals - revealed by flame chart to be significant
* Dynamic mod categories from online query
* Move Working string to Constants
* Move Mod categories to json
* Move Mod categories to json - UI
* Move Mod categories to json - initial json
* Refactor input-related components into own package
* Unified input event system with common routing for keys and gestures
* Minor Linting
* Apply input system to World map right-click
* Replace UnitActionsTable Upgrade info tooltip with UnitUpgradeMenu
* Optimize ShortcutListener's full-stage scan
* Post-merge fixes