secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
206 stars 53 forks source link

Display Proper Pricing for new 2k Texture uploads #1081

Closed brad-linden closed 3 months ago

brad-linden commented 5 months ago

As implemented in secondlife/server#798, texture upload pricing is now variable according to the account's premium status and the texture resolution.

Details

1) Upload menu

Second Life's upload menu includes (L$10) in the upload texture option under Build → Upload → Image (L$10). The pricing on this should be removed so that it reads Build → Upload → Image

build_upload_image

Remove the price from the image upload option so that it doesn't imply a static value.

2) Image upload preview floater

  1. The price calculation should be updated to reflect large texture pricing (See https://github.com/secondlife/server/issues/798)
texture_upload_preview

3) Bulk image upload

When image are bulk uploaded through the Build → Upload → Bulk... option the resulting confirmation window needs to display the correct value:

bulk_upload_confirmation

4) Material upload

Download ORM.zip and unzip it. In Second Life choose Build menu > Upload > Material and choose ORM.gltf The price calculation in the materials preview window reflect the large texture pricing.

5) Material via bulk upload

Download ORM.zip and unzip it. In Second Life choose Build menu > Upload > Bulk and choose ORM.gltf The price calculation in the materials preview window reflect the large texture pricing.

Pricing

Getting the pricing to match between server and viewer is critical here, as we do not want users to ever be charged more than what they should. See "Implementation Details" under https://github.com/secondlife/server/issues/798 for a detailed explanation on pricing behavior for large textures.

Test Plan

When preparing to upload a texture, the upload UI should display the accurate pricing prediction according to the table in secondlife/server#798

akleshchev commented 5 months ago

Other places that include price in UI that needs to be changed:

Notes:

kylelinden commented 5 months ago

Confirmed with Steeltoe that PE Dev may implement as depicted.

Dan-Linden commented 5 months ago

Reopened on Second Life Release 7.1.6.8638594115 (64bit) / PMFP 2024-04-09.8620193766

Tested at secondlife://Aditi/secondlife/Rumpus%20Room%202048/193/42/25

canny[bot] commented 5 months ago

This issue has been linked to a Canny post: Problem uploading 2048px texture in beta grid :tada:

katerynamproductengine commented 4 months ago

Results:

1) Upload menu Passed QA. Pricing in "Upload → Image" is removed.

2) Image upload preview floater Passed QA. The price calculation reflects the correct prices for light and large textures.

3) Bulk image upload Passed QA. When bulk uploading images using the "Build → Upload → Bulk" option the correct value is displayed in the confirmation window that appears.

4) Inventory (upload option) Passed QA. Pricing in "Upload → Image" is removed. The price calculation reflects the correct prices for light and large textures.

5) Material upload Failed QA.

Downloading large textures via Material does not show the correct price.

Steps to reproduce:

  1. Download ORM.zip and unzip it.
  2. In Second Life choose Build menu > Upload > Material and choose ORM.gltf
  3. Observe materials preview window.

Actual result: Total upload fee: L$10

  1. Click "save" button.

Actual result: "You paid L$50 to upload" message appears. Balance decrease L$50.

Downloading large textures via Bulk does not show the correct price.

Steps to reproduce:

  1. Download ORM.zip and unzip it.
  2. In Second Life choose Build menu > Upload > Bulk and choose ORM.gltf

Actual result: "This will upload 1 items at a total cost of L$10. Do you wish to continue with the upload?" message appears.

  1. Click "Upload" button.

Actual result: "You paid L$50 to upload" message appears. Balance decrease L$50.

Video is attached:

https://github.com/secondlife/viewer/assets/150451913/189c18c9-f6b8-4f38-8d35-0765b27f8507

Verified on the Second Life Release 7.1.8.9103842320 (64bit) on Win10/OSX in the scope of secondlife/iqa#231.

DmitrySProductengine commented 3 months ago

Passed QA. Verified on the Second Life Release 7.1.8.9357006492 (64bit) on Win10/OSX in the scope of IQA #249. Tested on Agni (Product Engine 3) - internal account type. Tested on Aditi (Rumpus Room 2048) - base and different premium types.