Lists: made on /lists, read as a tab of the feed

A persona's lists (PrivaPub's /api/v1/lists): made, renamed, given a
replies policy and made exclusive on /lists, filled from the accounts it
follows (accounts/search?following=true), and read as the feed's Lists tab.
A followed account's profile has a Lists menu to put it in or take it out.
ListService does the calls; the e2e tests check each step against
PrivaPub's own answer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-05 02:49:51 +02:00
1 parent 011bafb6af
commit e2491de16e
18 files changed
+914 -9

No files matched your search

+81
View File
@@ -908,4 +908,85 @@
<data name="React" xml:space="preserve">
<value>React</value>
</data>
<data name="Lists" xml:space="preserve">
<value>Lists</value>
</data>
<data name="Manage lists" xml:space="preserve">
<value>Manage lists</value>
</data>
<data name="This persona has no list yet." xml:space="preserve">
<value>This persona has no list yet.</value>
</data>
<data name="A new list&#x27;s title" xml:space="preserve">
<value>A new list's title</value>
</data>
<data name="Make a list" xml:space="preserve">
<value>Make a list</value>
</data>
<data name="Its members stay out of the home feed." xml:space="preserve">
<value>Its members stay out of the home feed.</value>
</data>
<data name="Exclusive" xml:space="preserve">
<value>Exclusive</value>
</data>
<data name="Read the list" xml:space="preserve">
<value>Read the list</value>
</data>
<data name="Edit" xml:space="preserve">
<value>Edit</value>
</data>
<data name="Save" xml:space="preserve">
<value>Save</value>
</data>
<data name="Delete it for good" xml:space="preserve">
<value>Delete it for good</value>
</data>
<data name="Members" xml:space="preserve">
<value>Members</value>
</data>
<data name="Nobody is in this list yet." xml:space="preserve">
<value>Nobody is in this list yet.</value>
</data>
<data name="Remove from the list" xml:space="preserve">
<value>Remove from the list</value>
</data>
<data name="Remove" xml:space="preserve">
<value>Remove</value>
</data>
<data name="Find accounts you follow" xml:space="preserve">
<value>Find accounts you follow</value>
</data>
<data name="Only accounts you follow can join a list, and none of them matches." xml:space="preserve">
<value>Only accounts you follow can join a list, and none of them matches.</value>
</data>
<data name="Add" xml:space="preserve">
<value>Add</value>
</data>
<data name="Replies to anyone you follow" xml:space="preserve">
<value>Replies to anyone you follow</value>
</data>
<data name="No replies" xml:space="preserve">
<value>No replies</value>
</data>
<data name="Replies to the list&#x27;s members" xml:space="preserve">
<value>Replies to the list's members</value>
</data>
<data name="Keep its members out of the home feed" xml:space="preserve">
<value>Keep its members out of the home feed</value>
</data>
<data name="List {0} made." xml:space="preserve">
<value>List {0} made.</value>
</data>
<data name="List {0} saved." xml:space="preserve">
<value>List {0} saved.</value>
</data>
<data name="List {0} deleted." xml:space="preserve">
<value>List {0} deleted.</value>
</data>
<data name="{0} added to {1}." xml:space="preserve">
<value>{0} added to {1}.</value>
</data>
<data name="{0} removed from {1}." xml:space="preserve">
<value>{0} removed from {1}.</value>
</data>
</root>