190 Commits

Author SHA1 Message Date
Bob G
9cb88506a1 Handle any separator style when resolving pre-built model asset paths (#132)
prebuilt() only split render_asset on an escaped double backslash and then on
'/', so paths using single backslashes (mesh\ftcommunityitems\x.nif) kept
their directories in the file name. The LXFML lookup then failed and
get_model returned 500. Extract the base name by splitting on any run of
backslashes or forward slashes and lowercasing it. Also return 404 instead
of an unusable string when a LOT has no render asset.

Co-authored-by: bob-g-code <346622190+bob-g-code@users.noreply.github.com>
2026-10-27 15:50:43 -05:00
Bob G
f510931666 Make brick cache unpacking safe across concurrent workers (#133)
With several gunicorn workers and an empty cache, every worker ran the
brickdb unpack at once and workers crashed with FileExistsError on
app/cache/brickprimitives. Serialize it with a file lock, extract to a temp
dir and move into place, and mark completion with a marker file.

Co-authored-by: bob-g-code <bob-g-code@users.noreply.github.com>
2026-10-27 15:48:49 -05:00
Bob G
1c2f07025c Place brick-built (UGC) property models at their saved position/rotation (#131)
UGC LXFML brick transforms are relative to the model's own origin, but the
LDD viewer added the bricks straight to the scene and never applied the
model's properties_contents position/rotation, so the models ended up around
(0,0,0), far below the property ground plane. Properties with only
brick-built models showed just the green ground.

Build each LXFML into its own THREE.Group placed with the saved
position/quaternion (like pre-built models), load each file into a fresh
Scene, and target the single-model camera at the placed model.

Co-authored-by: bob-g-code <346622190+bob-g-code@users.noreply.github.com>
2026-10-27 15:46:14 -05:00
Bob G
6b3a0902c8 Fix account deletion failing on foreign key constraints (#130)
Deleting an account crashed with IntegrityError (ugc.character_id cannot be
null) and left the account half-deleted. Remove all dependent rows explicitly
with bulk deletes in a single transaction, and roll back on failure.

Co-authored-by: bob-g-code <bob-g-code@users.noreply.github.com>
2026-10-27 15:46:04 -05:00
Aaron Kimbrell
79b84db793 make ND db match DLU 2025-10-04 03:18:56 -05:00
David Markowitz
e271a93793 fix: Add correct restrictions to password field (#112) 2025-09-14 19:54:09 -05:00
David Markowitz
7c0127bd1d check item.attrib and not just item (#111) 2025-09-14 18:24:54 -05:00
David Markowitz
246b70ebd9 make reports more efficient (#110) 2025-09-07 20:03:32 -05:00
HailStorm32
7eef06adc5 Enable users to view their own key (#107) 2025-05-12 14:55:54 -05:00
aronwk-aaron
823ec2008f util command to get mission/ach awards that aren't in honor accollade 2024-05-26 22:49:32 -05:00
aronwk-aaron
f3e2254330 fix messed up table 2024-03-11 12:33:33 -05:00
Xiphoseer
ccc793a129 fix: don't break on empty play key 2024-01-07 21:56:56 +01:00
aronwk-aaron
d005b497e6 compress the reports :D 2023-11-18 05:46:50 -06:00
aronwk-aaron
259efc81fd fix: don't show count of 1 on items
fix: tooltips on lazy loaded items
2023-11-18 01:13:05 -06:00
aronwk-aaron
b9fc039a7e LAZY LOADING
updated a bunch of packages
2023-11-18 00:41:35 -06:00
aronwk-aaron
abc8af89c5 update packages 2023-11-17 22:51:12 -06:00
aronwk-aaron
b7e48bb656 extend the recaptha validator to make it optional 2023-11-17 17:40:01 -06:00
aronwk-aaron
7633053490 it works 2023-11-17 16:38:01 -06:00
aronwk-aaron
e6c452d000 feat: add recaptcha support 2023-11-17 00:55:18 -06:00
aronwk-aaron
13376d0c1f maybe fix it 2023-11-11 00:17:59 -06:00
aronwk-aaron
bb63cfb8f5 format xml and mke the warning better 2023-11-11 00:09:34 -06:00
aronwk-aaron
a10b8d7975 fix it 2023-11-10 00:30:03 -06:00
aronwk-aaron
1c9ee91b78 check for null 2023-11-10 00:09:07 -06:00
aronwk-aaron
5c2721cd65 fixt copy/paste error 2023-11-10 00:04:10 -06:00
aronwk-aaron
8ec3803786 include ET 2023-11-10 00:00:18 -06:00
aronwk-aaron
a578f8a53c register test command 2023-11-09 23:56:32 -06:00
aronwk-aaron
7ca62fe478 show clone id on props page 2023-11-09 23:48:28 -06:00
aronwk-aaron
01e304a041 fix last commit 2023-10-28 00:45:37 -05:00
aronwk-aaron
368c0819bd lvl sanity check 2023-10-28 00:38:33 -05:00
aronwk-aaron
ab8119c5b8 more sanity checks 2023-10-28 00:30:23 -05:00
aronwk-aaron
c9ad415f13 add sanity checks for inventory to stop crashing 2023-10-28 00:27:17 -05:00
aronwk-aaron
a7a68d2fe1 fix nav highlight and tooltip rendering 2023-06-15 23:02:47 -05:00
aronwk-aaron
ee65f67fe3 actually fix mail port 2023-02-14 16:13:27 -06:00
aronwk-aaron
5d1b79334a force mail_port to be int
resolves #62
2023-02-14 13:39:44 -06:00
aronwk-aaron
760936a01f f 2022-12-30 22:26:06 -06:00
aronwk-aaron
c96174fcbe fix ldddb location 2022-12-30 22:24:04 -06:00
aronwk-aaron
ae46e6d382 remove analytics
add note about securing it
2022-12-29 15:10:36 -06:00
aronwk-aaron
98c61bcaf1 cap password length at 40 on registration
due to client limitations
2022-12-29 13:12:22 -06:00
aronwk-aaron
b8bd7c6cba make needs rename not show up in unmoderated names 2022-12-19 09:58:26 -06:00
aronwk-aaron
e44872e523 delete temporary imports 2022-12-17 01:55:55 -06:00
aronwk-aaron
535a07425b update entrypioint and settings example 2022-12-17 01:50:25 -06:00
aronwk-aaron
785357475d use cache more modified files
so that the client dir never has to be written to
2022-12-17 01:47:10 -06:00
aronwk-aaron
0fea032938 fix config defaults 2022-12-17 01:21:39 -06:00
aronwk-aaron
3b5b478815 configurable client and sqlite 2022-12-17 01:15:27 -06:00
aronwk-aaron
708fbfb9db fix icon rendering stuff 2022-12-17 00:59:47 -06:00
aronwk-aaron
53dda2fd8a move css to subfolder 2022-12-16 22:57:05 -06:00
aronwk-aaron
24fc6a0826 move logs to folder 2022-12-16 22:50:43 -06:00
aronwk-aaron
19f38b379e make play key perms make sense
adjust GM level 1 name and some related displays
2022-11-28 18:48:28 -06:00
aronwk-aaron
4aff169967 add line break to make it more readable 2022-11-28 14:05:29 -06:00
aronwk-aaron
4d007d66ac display count in tooltip if > 999 2022-11-28 14:01:26 -06:00