Salad Dais
220d8ddf65
Add confirmation helper for InteractionManager API
2021-06-12 15:15:34 +00:00
Salad Dais
41fd67577a
Add ability to wait on object-related events
2021-06-12 10:43:16 +00:00
Salad Dais
4ddc6aa852
Remove unloaded addon scripts from sys.modules
2021-06-11 19:44:35 +00:00
Salad Dais
cb8c1cfe91
Only generate lowercase hostnames in register_wrapper_cap()
...
Hostnames are case insensitive and passing a URL through urlparse()
will always give you a lowercase domain name.
2021-06-11 17:52:03 +00:00
Salad Dais
52679bf708
HTTPAssetRepo: Don't throw when trying to serve invalid UUID
2021-06-11 17:51:45 +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
b71da8f5a4
Add option to automatically request missing cached objects
2021-06-08 18:41:44 +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
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
3887e0a23c
Add note about VOCache
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
f2ee6f789f
Correct region handle change comments in ObjectManager
2021-06-03 20:51:38 +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
0bf1e84da4
Make XferManager tests exercise both upload and download paths
2021-06-02 20:02:31 +00:00
Salad Dais
3d8da0af65
Remove TransferManager dependency on ProxiedRegion
2021-06-02 20:01:47 +00:00
Salad Dais
0a45cd3739
Remove XferManager dependency on ProxiedRegion
2021-06-02 11:44:06 +00:00
Salad Dais
af17525071
Remove Circuit dependency on parent Region
2021-06-02 11:44:06 +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
d6a6fb4a91
Add ability to send EventQueue messages to message builder
2021-06-01 21:08:22 +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
8c614404d8
Improve NameCache implementation, share viewer name cache
2021-05-31 12:24:08 +00:00
Salad Dais
c0e91273fd
Fix cache location detection case
2021-05-31 10:25:12 +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
6cc25118b9
Faster cap URL lookup
...
Was taking up 15% of proxy time, so worth optimizing.
2021-05-29 06:19:09 +00:00
Salad Dais
bf377ae323
Make using VOCache optional, off by default
2021-05-28 21:53:44 +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
2e869e9219
Add turbo Xfer capabilities to XferManager
2021-05-25 02:32:16 +00:00
Salad Dais
c39db7f130
Fix for take()n messages having no deserializer
2021-05-25 01:29:39 +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
2570269e29
Reorder subscribe_async call signature
2021-05-24 04:59:02 +00:00
Salad Dais
2fab1a0fae
Allow serving inbound RequestXfers outsite asset upload flow
2021-05-24 03:29:36 +00:00
Salad Dais
935e3ccc40
Add linden character files to repo, parse visual params
2021-05-24 03:28:39 +00:00
Salad Dais
f5ededcdd7
Put stub templates.py back in
...
If I have to choose between breaking bisect and breaking blame,
I pick bisect. This was split across two commits to help Git with
its rename detection.
2021-05-23 10:44:41 +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
058b9f5313
Allow getting an alias without implicitly creating one
2021-05-23 10:22:28 +00:00
Salad Dais
fdcb816585
Allow synthesizing inbound Xfer requests
2021-05-23 06:36:00 +00:00
Salad Dais
d22fef149b
Fix multi-chunk Xfer uploads
2021-05-23 06:35:21 +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
4eeac738dc
Clean up linter warnings
2021-05-21 19:00:06 +00:00