MoeraOrg / MoeraOrg/moera-issues

Hide picked copies of non-public posts

Open
#207 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

client enhancement node
Dominant language
No language data
Stars
20
Forks
0
PR merge metrics
No merged PRs in 30d

Description

If a node picked a non-public post from another node, it should hide it from everyone (except the node admin), because it does not know, who is allowed to view the post. Only the original node has this information.

Since the original post is non-public, it will not be visible in Web UI on the original node. Thus, any node that picked it should not show it in Web UI.

In the client, the node should display a placeholder ("A non-public post here") instead of the post and then query the original node whether the particular client is allowed to view. After the response, the placeholder should be or removed completely, or replaced by the post content. The result of the query may be cached then.

In REST API the query of such a post may return a special HTTP code indicating that the post exists but permission is pending. In a feed slice query there may be a special form of PostingInfo that designated such a post in the feed. When the permission is received, the client is informed by an event, then the client should query the post again to receive the actual content.

If the original node do not want anybody else to know, which users are allowed to view the post, it may simply return false to every permission query. This will make picked posts effectively private, but on the original node the original post will be visible to allowed users.

Contributor guide

No contributing guide indexed for this repository

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

No files, tests, or concrete entry points are named. Start by reviewing the REST API, feed-slice PostingInfo, client permission-query event, and Web UI behavior described here; done means picked non-public posts are hidden, represented by the stated placeholder, and either removed or replaced after the original node responds.

Written by the indexing model from the issue text.

Assessment

Domain
api, backend, distributed-systems, security, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.