Merge pull request #2 from efroemling/master

pull 2
This commit is contained in:
EraOSBeta 2023-01-10 00:05:06 +03:30 committed by GitHub
commit a028349e71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 62 additions and 51 deletions

View File

@ -4008,26 +4008,26 @@
"assets/src/ba_data/python/ba/_generated/__init__.py": "https://files.ballistica.net/cache/ba1/ee/e8/cad05aa531c7faf7ff7b96db7f6e",
"assets/src/ba_data/python/ba/_generated/enums.py": "https://files.ballistica.net/cache/ba1/1c/77/ac670a5118abdf8a7687af0e159b",
"ballisticacore-windows/Generic/BallisticaCore.ico": "https://files.ballistica.net/cache/ba1/89/c0/e32c7d2a35dc9aef57cc73b0911a",
"build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/76/00/aadc5cc5fa6a1b47535571f53e0c",
"build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/8a/c5/e18feec0e01cef4f4e95fb0808ec",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/de/73/3238fef727dbe8e13fc01bacccdf",
"build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/e3/16/33500fbc1be37a7ab0beb9ea1353",
"build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/23/75/f18db49e8bf625a4d140cfddc0eb",
"build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/13/92/649fec7372f2cc6513d81df7ac03",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ba/aa/8a853018d236f1f8c70bfd6d830a",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/2e/36/908f74e219d570e16ce72520b0f9",
"build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/75/0a/6bdecafd1f0a1d4613697e1ad71d",
"build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/d1/55/18e339d10407ec858fee58fc9d5a",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/6b/d6/68df4d180d1eb83119a8a1d2cde3",
"build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/b6/51/3f2217d1f0640ec63e7499641001",
"build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/6a/0e/b42051f6e252b278279d2bf0ce65",
"build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/8f/8d/2dcdfbc13d984ea6c62ef5e07600",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/63/32/555ad0de811a0af52f704f215309",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/60/39/8589f26d7619a11c53f452d4a808",
"build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/99/a4/2e40eb7af11d25d889af56fa73dc",
"build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/a5/b1/34cd5f68321e318a18d3bf2a6651",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/ec/8b/b08ad5030780c2554291c5ddf7b4",
"build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/96/ae/28d1c19d92db131315fa2d42d772",
"build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/c5/08/f608b52f5d884782374aa6578ed3",
"build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/cb/cc/b74d5615a34e41f2dea0a6788a95",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/d2/b3/8a50c3dbfba9adbda587b6eed182",
"build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/58/49/359da0ec2144ae8b67ca245fa6fd",
"build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/14/06/b0a2ab347e8b4b4efe6536049c4a",
"build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/04/2c/7813a927c280305cfe6aa56dfd99",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/82/ab/c3d7d1dc70b375c6e2680a9bd7b2",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/1c/46/3ac0c7f5d50d5f6a266b72966bbf",
"build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/50/da/7146aafb6221668e17070029edae",
"build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/f1/7b/8abca0c95379e4ab0692fa3f994f",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ff/c5/5a5b4f20e9787463e370fd53c2de",
"build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/0c/56/2a9a92ea5e3a16ca39f1fc04546b",
"build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/78/63/f5d1347b7afbb15a2a0813f6ab7b",
"build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/57/6c/76fa56be35a356fa1c119ade0f75",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/b0/4b/3d528c6331f6b370f11b913fea00",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/e3/50/a4c6df16326044ce3f42e16289de",
"build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/84/b3/0ea2e8a870fa211e3789b2de56fe",
"build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/7c/f7/a74ada4fb39f57721a4049973b39",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/c4/1d/9c65921602aadc94be03fb3444d8",
"build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/b1/75/c098de6f3660aaa48fa5341e3d44",
"build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/e9/02/eb6c1b076dd366fcdbb69c0aa85a",
"build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ff/2b/5e85ad35d9305d60adbdc53dbb6e",
"build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/5b/fb/074697e51ab8a28604788be2b3bb",
@ -4044,14 +4044,14 @@
"build/prefab/lib/mac_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/62/fc/bbf70a63d29d536d8511474309c6",
"build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/d2/c1/ed8083e560d9466547d1da458118",
"build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/10/8a/534c2c99f6d314631046f0f2afc2",
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/3f/7b/669a2a9f4785ca31c1dec187a2a5",
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/36/7e/5c0a226564142afded25c4b75999",
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/c1/af/624497502e114de73ebac45a9fd4",
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/3c/be/2245d4a6302fd98af97362f2af64",
"build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/0f/6d/ffd0a160ce991e724552a4bde26d",
"build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/0c/d5/172d21269794aa7809fd1c63eec5",
"build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/b2/d9/f3333d9e169a62ae8e1bfc12c1d9",
"build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/d2/e7/ff5143a503539e10470b2e96e3aa",
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/91/b8/9163c5da07e10422148cab48149c",
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/b9/06/a4f144e5f74ca1a4ea10327edfeb",
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/9a/5c/d4623488a53931b97b79dfc32d06",
"build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/b5/4c/f3abc65a6c0de4f07c12bda8d13b",
"build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/06/11/a6827d90020d2c59bdee5e8e7fa2",
"build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/c5/8e/64cd86adca08a9f5f15478fd4080",
"build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/5e/70/104fae0f9f53d4f0dfa1b98596e0",
"build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/81/d6/f0b5f88b8c15fa1ac8cc0de99594",
"src/ballistica/generated/python_embedded/binding.inc": "https://files.ballistica.net/cache/ba1/23/ce/68396b1b7ec6d2f8425902148140",
"src/ballistica/generated/python_embedded/bootstrap.inc": "https://files.ballistica.net/cache/ba1/2d/4f/f4fe67827f36cd59cd5193333a02",
"src/ballistica/generated/python_embedded/bootstrap_monolithic.inc": "https://files.ballistica.net/cache/ba1/ef/c1/aa5f1aa10af89f5c0b1e616355fd"

View File

@ -16,9 +16,9 @@ jobs:
check_linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
@ -31,9 +31,9 @@ jobs:
compile_linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Compile binary
@ -47,9 +47,9 @@ jobs:
check_and_compile_windows:
runs-on: windows-2019
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v1
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies

View File

@ -1,5 +1,5 @@
### 1.7.17 (build 20982, api 7, 2022-12-22)
- V2 accounts now show a 'Unlink Legacy (V1) Accounts' button in account settings if they have any old v1 links present. This can be used to clear out old links to replace them with V2 links which work correctly with V2 accounts.
### 1.7.17 (build 20983, api 7, 2023-01-09)
- V2 accounts now show a 'Unlink Legacy (V1) Accounts' button in account settings if they have any old V1 links present. This can be used to clear out old links to replace them with V2 links which work correctly with V2 accounts.
- `ba.internal.dump_tracebacks()` is now `ba.internal.dump_app_state()` and `ba.internal.log_dumped_tracebacks()` is now `ba.internal.log_dumped_app_state()`. This reflects the fact that these calls may be expanded to include other app state in the future (C++ layer thread states, etc.).
- Added `ba.app.health_monitor` which will dump app state if the logic thread ever stops responding for 5+ seconds while the app is running (to help diagnose deadlock situations).
- Various extra logging and bug fixes related to V2 accounts and master server communication (trying to get this stuff working as smoothly as possible now that it is feature-complete).

View File

@ -47,7 +47,7 @@ def bootstrap() -> None:
# Give a soft warning if we're being used with a different binary
# version than we expect.
expected_build = 20982
expected_build = 20983
running_build: int = env['build_number']
if running_build != expected_build:
print(

View File

@ -473,7 +473,6 @@ class PlaylistEditGameWindow(ba.Window):
# Ok now wire up the column.
try:
# pylint: disable=unsubscriptable-object
prev_widgets: list[ba.Widget] | None = None
for cwdg in widget_column:
if prev_widgets is not None:

View File

@ -1155,7 +1155,6 @@ class StoreBrowserWindow(ba.Window):
# Wire this button to the equivalent in the
# previous row.
if prev_row_buttons is not None:
# pylint: disable=unsubscriptable-object
if len(prev_row_buttons) > col:
ba.widget(
edit=btn,

View File

@ -32,7 +32,7 @@
namespace ballistica {
// These are set automatically via script; don't modify them here.
const int kAppBuildNumber = 20982;
const int kAppBuildNumber = 20983;
const char* kAppVersion = "1.7.17";
// Our standalone globals.

View File

@ -40,22 +40,22 @@ class PyRequirement:
# as manually-installed bits, pip itself must have some way to allow for
# that, right?...
PY_REQUIREMENTS = [
PyRequirement(modulename='pylint', minversion=[2, 14, 5]),
PyRequirement(modulename='mypy', minversion=[0, 971]),
PyRequirement(modulename='pylint', minversion=[2, 15, 9]),
PyRequirement(modulename='mypy', minversion=[0, 991]),
PyRequirement(modulename='cpplint', minversion=[1, 6, 1]),
PyRequirement(modulename='pytest', minversion=[7, 1, 2]),
PyRequirement(modulename='pytest', minversion=[7, 2, 0]),
PyRequirement(modulename='pytz'),
PyRequirement(modulename='ansiwrap'),
PyRequirement(modulename='yaml', pipname='PyYAML'),
PyRequirement(modulename='requests'),
PyRequirement(modulename='pdoc'),
PyRequirement(pipname='black', minversion=[22, 10, 0]),
PyRequirement(pipname='typing_extensions', minversion=[4, 3, 0]),
PyRequirement(pipname='black', minversion=[22, 12, 0]),
PyRequirement(pipname='typing_extensions', minversion=[4, 4, 0]),
PyRequirement(pipname='types-filelock', minversion=[3, 2, 7]),
PyRequirement(pipname='types-requests', minversion=[2, 28, 9]),
PyRequirement(pipname='types-requests', minversion=[2, 28, 11, 7]),
PyRequirement(pipname='types-pytz', minversion=[2022, 2, 1, 0]),
PyRequirement(pipname='types-PyYAML', minversion=[6, 0, 11]),
PyRequirement(pipname='certifi', minversion=[2022, 6, 15]),
PyRequirement(pipname='types-PyYAML', minversion=[6, 0, 12, 2]),
PyRequirement(pipname='certifi', minversion=[2022, 12, 7]),
PyRequirement(pipname='types-certifi', minversion=[2021, 10, 8, 3]),
]

View File

@ -316,6 +316,7 @@ class MessageReceiver:
"""
assert not self.is_async, "can't call sync handler on async receiver"
msg_decoded: Message | None = None
msgtype: type[Message] | None = None
try:
msg_decoded = self._decode_incoming_message(bound_obj, msg)
msgtype = type(msg_decoded)
@ -335,7 +336,14 @@ class MessageReceiver:
bound_obj, msg_decoded, exc
)
if dolog:
logging.exception('Error in efro.message handling.')
if msgtype is not None:
logging.exception(
'Error handling %s.%s message.',
msgtype.__module__,
msgtype.__qualname__,
)
else:
logging.exception('Error in efro.message handling.')
return rstr
async def handle_raw_message_async(

View File

@ -45,6 +45,10 @@ def ignore_type_check_filter(if_node: nc.NodeNG) -> nc.NodeNG:
and isinstance(if_node.parent, astroid.Module)
):
# Special case: filelock contains a use-case that breaks us.
if if_node.parent.name == 'filelock':
return if_node
module_node = if_node.parent
# Remove any locals getting defined under this if statement.
@ -177,7 +181,7 @@ def var_annotations_filter(node: nc.NodeNG) -> nc.NodeNG:
# Future behavior:
# Annotated assigns under functions are not evaluated.
# Class and module vars are normally not either. However we
# do evaluate if we come across an 'ioprepped' dataclass
# *do* evaluate if we come across an 'ioprepped' dataclass
# decorator. (the 'ioprepped' decorator explicitly evaluates
# dataclass annotations).
@ -230,7 +234,8 @@ def var_annotations_filter(node: nc.NodeNG) -> nc.NodeNG:
break
fnode = fnode.parent
# If this annotation won't be eval'ed, replace it with a dummy string.
# If this annotation won't be eval'ed, replace its annotation with
# a dummy value.
if not willeval:
dummyval = astroid.Const(parent=node, value='dummyval')
node.annotation = dummyval