Commit Graph

65 Commits

Author SHA1 Message Date
Salad Dais
fd2a4d8dce Remove incorrect comment from JPEG2000 test 2021-06-13 10:23:18 +00:00
Salad Dais
2209ebdd0c Add unit tests for JPEG2000 utils 2021-06-13 10:20:18 +00:00
Salad Dais
41fd67577a Add ability to wait on object-related events 2021-06-12 10:43:16 +00:00
Salad Dais
8347b341f5 Give default values for TextureEntry fields 2021-06-12 10:26:52 +00:00
Salad Dais
1fd6decf91 Add integration tests for addon (un)loading 2021-06-11 19:44:53 +00:00
Salad Dais
ab89f6bc14 Add integration test for asset server wrapper cap 2021-06-11 17:53:55 +00:00
Salad Dais
a21c0439e9 Test for mitmproxy handling HTTPS requests as well 2021-06-10 23:32:38 +00:00
Salad Dais
216ffb3777 Add integration test for mitmproxy interception 2021-06-10 23:22:59 +00:00
Salad Dais
d4c30d998d Allow handling Firestorm Bridge responses, use to guess avatar Z pos 2021-06-09 02:02:09 +00:00
Salad Dais
003f37c3d3 Auto-request unknown objects when an avatar sits on them
We need to know about an avatar's parent to get their exact position
due to the Object.Position field always being relative to the parent.
2021-06-08 23:44:08 +00:00
Salad Dais
5618bcbac1 Add new persistent (Proxy)Settings object, use to pass down settings 2021-06-08 16:55:19 +00:00
Salad Dais
a2d5414691 Add more ObjectManager tests 2021-06-07 08:10:28 +00:00
Salad Dais
135ce06452 Rewrite ObjectManager to have WorldObjectManager own objects
This simplifies a lot of the interdependencies between the
WorldObjectManagers and region ObjectManagers.
2021-06-07 05:31:54 +00:00
Salad Dais
12862fcd02 Keep Avatar wrappers around rather than regenerating them when queried
Allows callers to keep around a reference to an Avatar object and get
updated position and validity information without having to poll the
ObjectManager itself.
2021-06-05 14:23:49 +00:00
Salad Dais
9652261b67 Increase timeouts in transfer tests to reduce flakiness 2021-06-04 09:44:17 +00:00
Salad Dais
84733731fe Add distinct tests for CapsClient and ProxyCapsClient 2021-06-04 09:31:54 +00:00
Salad Dais
49f7ba960f Move tons more things to lib.base and lib.client
Put an abstract session and region implementation in client so things
that could be logically shared between client/proxy can be.

ObjectManager moved to client with proxy-specific details in
ProxyObjectManager.
2021-06-04 09:31:54 +00:00
Salad Dais
9df0224fbf Split CapsClient into proxy and non-proxy version 2021-06-03 08:02:11 +00:00
Salad Dais
59493e021c Move XferManager and TransferManager to base 2021-06-03 07:04:06 +00:00
Salad Dais
7b98c0b261 Split out human str formatting for Messages 2021-06-03 07:03:54 +00:00
Salad Dais
a39d025a04 Move Circuit and Message to lib.base
Fairly invasive, but will help make lib.base useful again. No
more Message / ProxiedMessage split!
2021-06-03 07:00:32 +00:00
Salad Dais
908d7a24f1 Add test for TransferManager 2021-06-02 21:08:27 +00:00
Salad Dais
0bf1e84da4 Make XferManager tests exercise both upload and download paths 2021-06-02 20:02:31 +00:00
Salad Dais
0a45cd3739 Remove XferManager dependency on ProxiedRegion 2021-06-02 11:44:06 +00:00
Salad Dais
960c8aa905 Add test for large xfer payload case 2021-06-02 05:38:55 +00:00
Salad Dais
c1d795e850 Add XferManager tests 2021-06-02 02:48:13 +00:00
Salad Dais
984ac257a5 Rename ensure_ancestors_loaded(), add timeout tests 2021-06-01 22:51:57 +00:00
Salad Dais
9b970f07e5 Add session-level lookup_avatar 2021-06-01 22:35:49 +00:00
Salad Dais
fd747c9615 Switch to importing hippolyzer.lib.base.templates
Should help deal with automatic template reloading issues since
mtime wasn't changing on `lib.proxy.templates`.
2021-06-01 08:24:17 +00:00
Salad Dais
69dd1ca9ce Unpack fixed point coords in particles as vectors 2021-06-01 01:39:42 +00:00
Salad Dais
0d18bc1daa Test for roundtripping of ObjectUpdateCompressed's serializers 2021-05-31 13:53:22 +00:00
Salad Dais
8c614404d8 Improve NameCache implementation, share viewer name cache 2021-05-31 12:24:08 +00:00
Salad Dais
c856b5e7fc Add test for post-filtering logged messages 2021-05-31 10:25:31 +00:00
Salad Dais
ebc02f9a22 Make object handling happen at the world level, fix region handoffs
The previous model didn't really map to how Indra handles objects:
In Indra Local IDs are only really used to look up the FullID, and
that's used to look at a global object list.

This moves to a model where the world (Session) owns the object, and
objects can be freely moved between regions without killing the world's
reference to it.

The two ID design for objects was a mistake in my opinion, but whatever.
2021-05-30 14:24:39 +00:00
Salad Dais
f57087bf6c Clear timed-out futures in ObjectManager 2021-05-29 10:47:13 +00:00
Salad Dais
6c6ea66989 Allow awaiting object update / property requests 2021-05-29 08:51:15 +00:00
Salad Dais
9dbb719d52 Add fast path for ObjectUpdateCompressed decoding
Speeds up ObjectUpdateCompressed handling by 25%

Resolves #9
2021-05-28 02:19:51 +00:00
Salad Dais
2608a02d5c Use viewer's object cache to better handle ObjectUpdateCached hits
Without this we end up in weird cases where the viewer gets a cache
hit and never request the object data, creating link heirarchies where
the viewer knows about all the prims but Hippolyzer only knows some
of them and orphans them.

Since we don't know what viewer the user is using, we scan around
the disk for object caches and try to use those. 99% of the time the
connection will be coming from localhost so this is fine.

Fixes #11
2021-05-28 02:18:20 +00:00
Salad Dais
eb2c5b7494 Allow getting coarse location for seated orphaned avatars 2021-05-25 20:29:37 +00:00
Salad Dais
c58d24bd16 Revert "Make it less annoying to pickle messages"
This reverts commit 8af87befbd.

It was breaking take()n messages sometimes.
2021-05-25 01:13:53 +00:00
Salad Dais
935e3ccc40 Add linden character files to repo, parse visual params 2021-05-24 03:28:39 +00:00
Salad Dais
237a409ee0 Move serialization templates and VFS code to lib.base
Not being able to use common enums in code in lib.base was
getting to be really annoying. It always should have been in
base anyways.
2021-05-23 10:44:18 +00:00
Salad Dais
9e035e98ba Fix messages take()n inside addon LLUDP hooks not getting dropped 2021-05-23 06:34:36 +00:00
Salad Dais
c9138b4649 Add wearable asset serialization support 2021-05-23 05:01:37 +00:00
Salad Dais
0caba9da68 Add serialization support for task inventory schema 2021-05-23 04:30:55 +00:00
Salad Dais
4eeac738dc Clean up linter warnings 2021-05-21 19:00:06 +00:00
Salad Dais
58932e585e Add better ObjectUpdate change detection 2021-05-20 20:42:17 +00:00
Salad Dais
67aa5e6bcd Possibly fix for flakey tests 2021-05-19 22:26:18 +00:00
Salad Dais
a97aa88cc9 Add integration tests for MITMProxyEventManager 2021-05-19 22:14:27 +00:00
Salad Dais
febc0793f2 Add more HTTP flow tests 2021-05-19 20:44:28 +00:00