AlchemyViewer / Alchemy

Alchemy is a Second Life compatible viewer striving to be at the forefront of stability, performance, and technological advancement in the open-source metaverse viewer field.
https://www.alchemyviewer.org
GNU Lesser General Public License v2.1
14 stars 10 forks source link

[Bug]: RLV sub-subfolders aren't being created properly #30

Open KatLavellan opened 1 week ago

KatLavellan commented 1 week ago

Environment

Alchemy Beta 7.1.7.2486 (64bit) Release Notes

You are at 96.5, 29.5, 3,197.6 in Purslaine located at simhost-0b3e5253d1c5ea017.agni SLURL: http://maps.secondlife.com/secondlife/Purslaine/97/29/3198 (global coordinates 270,945.0, 247,069.0, 3,197.6) Second Life RC LeTigre 2024-06-11.9458617693 Release Notes

CPU: AMD Ryzen 9 5950X 16-Core Processor (3400.04 MHz) Memory: 65461 MB Concurrency: 32 OS Version: Microsoft Windows 11 64-bit (Build 22631.3737) Graphics Card Vendor: NVIDIA Corporation Graphics Card: NVIDIA GeForce RTX 3070/PCIe/SSE2

Windows Graphics Driver Version: 31.0.15.5244 OpenGL Version: 4.6.0 NVIDIA 552.44

Window size: 2560x1369 Font Size Adjustment: 96pt UI Font: Default Monospace Font: Default Chat Font: SansSerif Script Font: Monospace UI Scaling: 1 Draw distance: 128m Bandwidth: 3000kbit/s LOD factor: 1.75 Render quality: 5 Texture memory: 8018MB Texture cache: 519MB / 655MB (79.2% used) Disk cache: 1023MB / 1024MB (99.9% used)

RestrainedLove API: RLV v3.4.3 / RLVa v2.5.0.2486 libcurl Version: libcurl/7.54.1 OpenSSL/1.1.1w zlib/1.3.0.zlib-ng WinIDN nghttp2/1.59.0 J2C Decoder Version: OpenJPEG Runtime: 2.4.0 Audio Driver Version: FMOD Studio 2.02.20 Dullahan: 1.12.4 CEF: 118.4.1+g3dd6078+chromium-118.0.5993.54 Chromium: 118.0.5993.54 LibVLC Version: 3.0.20 Voice Server Version: Vivox 4.10.0000.32327.5fc3fe7c.571099

Compiler Version: MSVC 193933523 Packets Lost: 12/2,224 (0.0%) June 20 2024 14:15:27

Description

When creating a RLV folder entry using llGiveInventoryList(), like #RLV/~folder/folder2/folder3/folder, it'll instead create it as #RLV/folder4. It seems to happen at any depth, but #RLV/~folder and #RLV/folder seem to behave fine.

Reproduction steps

Create a script with llGiveInventoryList(llGetOwner(), "#RLV/~folder/subfolder", ["item"]); in it, and an item to give.

KatLavellan commented 1 week ago

Firestorm 6.6.17 (70368) Dec 10 2023 18:36:33 (64bit / SSE2) (Firestorm-Releasex64) with Havok support RestrainedLove API: RLV v3.4.3 / RLVa v2.4.2.70368

Also tested on the current, normal Firestorm release, where it does seem to work properly.

SagaVortex commented 5 days ago

according to the catznip wiki (https://wiki.catznip.com/index.php/Give_to_%E2%99%AFRLV ) being able to offer inventory up to three levels deep should be supported (up from RLVa 1.4.10) so Firestorms behavior is correct and I hope Alchemy could get it fixed. This is currently preventing a product release >< or else I would need to warn about Alchemy not being supported

KatLavellan commented 5 days ago

(I read the note, sorry for using Firestorm as a reference viewer there, it was the only other viewer I did have installed with RLVa)

Another bug, probably cascading from this one, but worth mentioning, using @notify:channel;inv_offer=add does not get triggered properly with either a normal llGiveInventory to #RLV or to your general inventory.

Relevant rule and behaviour: https://wiki.secondlife.com/wiki/LSL_Protocol/RestrainedLoveAPI#Miscellaneous

DarlCat commented 4 days ago

I've seen two different behaviors for this bug, first being that subfolder creation does seem to happen but it is in the root of #RLV and not the proper child folder. I've also seen, uh, something weirder. Both exhibited here.

image

Sample LSL

default
{
    state_entry()
    {
        llGiveInventoryList(llGetOwner(), "#RLV/~Folder1/Folder2", ["New Script"]);
    }
}