Filters: made on /filters, applied by each card where it is

The persona's filters (PrivaPub's /api/v2/filters): made, given words and
whole-word rules, contexts, an action and an expiry on /filters (linked from
Settings), and deleted; posts filtered one by one can be taken out. Every
status says which filters it matches; each page tells its cards where they
are (home and lists, notifications, public feeds, the thread around the
opened post, profiles), and a card leaves its post out (hide), folds it
behind the filter's title with a way to show it anyway (warn), or blurs its
media (blur). The e2e test folds and then hides a post of the persona's own.

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 03:10:27 +02:00
1 parent e2491de16e
commit 9a752d9288
18 files changed
+1182 -240

No files matched your search

+117
View File
@@ -989,4 +989,121 @@
<data name="{0} removed from {1}." xml:space="preserve">
<value>{0} removed from {1}.</value>
</data>
<data name="Filters" xml:space="preserve">
<value>Filters</value>
</data>
<data name="A new filter&#x27;s title" xml:space="preserve">
<value>A new filter's title</value>
</data>
<data name="Make a filter" xml:space="preserve">
<value>Make a filter</value>
</data>
<data name="This persona has no filter yet." xml:space="preserve">
<value>This persona has no filter yet.</value>
</data>
<data name="Expired" xml:space="preserve">
<value>Expired</value>
</data>
<data name="until {0}" xml:space="preserve">
<value>until {0}</value>
</data>
<data name="{0} words, {1} posts" xml:space="preserve">
<value>{0} words, {1} posts</value>
</data>
<data name="Where" xml:space="preserve">
<value>Where</value>
</data>
<data name="How" xml:space="preserve">
<value>How</value>
</data>
<data name="Expires" xml:space="preserve">
<value>Expires</value>
</data>
<data name="Words" xml:space="preserve">
<value>Words</value>
</data>
<data name="Whole word" xml:space="preserve">
<value>Whole word</value>
</data>
<data name="A word or a phrase" xml:space="preserve">
<value>A word or a phrase</value>
</data>
<data name="Posts filtered one by one" xml:space="preserve">
<value>Posts filtered one by one</value>
</data>
<data name="Keep its expiry" xml:space="preserve">
<value>Keep its expiry</value>
</data>
<data name="Never expires" xml:space="preserve">
<value>Never expires</value>
</data>
<data name="Expires in 30 minutes" xml:space="preserve">
<value>Expires in 30 minutes</value>
</data>
<data name="Expires in 1 hour" xml:space="preserve">
<value>Expires in 1 hour</value>
</data>
<data name="Expires in 12 hours" xml:space="preserve">
<value>Expires in 12 hours</value>
</data>
<data name="Expires in 1 day" xml:space="preserve">
<value>Expires in 1 day</value>
</data>
<data name="Expires in 1 week" xml:space="preserve">
<value>Expires in 1 week</value>
</data>
<data name="Home and lists" xml:space="preserve">
<value>Home and lists</value>
</data>
<data name="Public feeds" xml:space="preserve">
<value>Public feeds</value>
</data>
<data name="Threads" xml:space="preserve">
<value>Threads</value>
</data>
<data name="Profiles" xml:space="preserve">
<value>Profiles</value>
</data>
<data name="Hide" xml:space="preserve">
<value>Hide</value>
</data>
<data name="Blur" xml:space="preserve">
<value>Blur</value>
</data>
<data name="Warn" xml:space="preserve">
<value>Warn</value>
</data>
<data name="Leave the post out" xml:space="preserve">
<value>Leave the post out</value>
</data>
<data name="Blur its media" xml:space="preserve">
<value>Blur its media</value>
</data>
<data name="Fold the post behind the filter&#x27;s title" xml:space="preserve">
<value>Fold the post behind the filter's title</value>
</data>
<data name="Filter {0} made." xml:space="preserve">
<value>Filter {0} made.</value>
</data>
<data name="Filter {0} saved." xml:space="preserve">
<value>Filter {0} saved.</value>
</data>
<data name="Filter {0} deleted." xml:space="preserve">
<value>Filter {0} deleted.</value>
</data>
<data name="Filtered: {0}" xml:space="preserve">
<value>Filtered: {0}</value>
</data>
<data name="Show anyway" xml:space="preserve">
<value>Show anyway</value>
</data>
<data name="Filtered media, show" xml:space="preserve">
<value>Filtered media, show</value>
</data>
<data name="Words, phrases and posts this persona would rather not see, and where." xml:space="preserve">
<value>Words, phrases and posts this persona would rather not see, and where.</value>
</data>
<data name="Manage filters" xml:space="preserve">
<value>Manage filters</value>
</data>
</root>