secondlife / secondlife/viewer

Object-level `permissions` is declared but never emitted

Open
#6,182 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug SLua
Dominant language
C++
Stars
299
Forks
146
Avg merge
1d 9h
Merged PRs (30d)
88

Description

Repo: viewer
Labels: bug, protocol

Summary

PublishedObject.permissions is part of the documented contract and is declared in the plugin's
TypeScript types, but the viewer never writes a permissions key at the object level.

Evidence

indra/newview/llpublishedobjectmgr.cpp:

  • Item-level permissions are emitted (~line 714–718):

    const LLPermissions& perms = item->getPermissions();
    perm_entry["next_owner"] = static_cast<S32>(perms.getMaskNextOwner());
    entry["permissions"]     = perm_entry;
    
  • buildPublishedObjectLLSD (~728) and buildObjectListLLSD (~762) emit owner_id,
    can_save_back and others, but no permissions.

Impact

Clients cannot determine object-level permissions from object.publish or object.list, and
must infer them or fall back to per-item permissions.

Proposed fix

Emit permissions (owner, next_owner) at the object level in both builders.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in indra/newview/llpublishedobjectmgr.cpp at buildPublishedObjectLLSD and buildObjectListLLSD, after reviewing the existing item-level permissions emission around lines 714–718. Trace how object data is assembled and confirm the documented PublishedObject shape. Done means both builders emit object-level permissions with owner and next_owner values for object.publish and object.list.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.