Keep a show from an OPML when the OPML drops it (#280)
A show inside a subscribed OPML went when the OPML stopped listing it (orphaned only if it had downloads), and went for you when you left the OPML. Keep, in its settings, is a per-person flag on the subscription: when the OPML drops a kept show, or nobody subscribes to the OPML any more, it becomes a catalogue entry outside the OPML, taking the OPML's settings while it is there, and stays on the lists of those who kept it. Whoever had it only through the OPML loses it as before. Leaving the OPML yourself leaves what you kept on your list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -117,7 +117,7 @@ export const ipx = {
|
||||
{
|
||||
method: 'PATCH', path: '/api/feeds/{id}', slug: 'patch-feed',
|
||||
summary: 'Change your settings for a feed, or (an admin) the feed’s own.',
|
||||
doc: '<p>Send only the fields to change. Which episodes you want, whether to download them, how many at a time, DeadAir and pinning are yours, and change for nobody else. The feed’s address, folder, schedule and category, and marking it shareable again, are the same for everyone and an admin’s to change.</p>',
|
||||
doc: '<p>Send only the fields to change. Which episodes you want, whether to download them, how many at a time, DeadAir, pinning and keeping a show from an OPML are yours, and change for nobody else. The feed’s address, folder, schedule and category, and marking it shareable again, are the same for everyone and an admin’s to change.</p>',
|
||||
pathParams: [['id', 'String', 'The feed’s id.']],
|
||||
body: 'FeedPatch', returns: '204 No Content',
|
||||
errors: [['400 Bad Request', 'A value out of range, such as a DeadAir pause that is not 200, 300, 400 or 500.'], ['403 Forbidden', 'A field only an admin may change.'], NOT_SUBSCRIBED],
|
||||
@@ -477,6 +477,7 @@ export const ipx = {
|
||||
['entries', 'i64', ''], ['downloaded', 'i64', ''], ['unread', 'i64', ''],
|
||||
['subscribers', 'i64', 'People on this server, you included.'],
|
||||
['pinned', 'bool', 'At the top of your list.'],
|
||||
['kept', 'bool', 'From an OPML, and yours to keep as a feed of its own should the OPML drop it or you leave the OPML.'],
|
||||
['private', 'bool', 'Kept out of the directory.'],
|
||||
['private_by_address', 'bool', 'Private whatever it is marked: a login, or a key in its address.'],
|
||||
] },
|
||||
@@ -493,6 +494,7 @@ export const ipx = {
|
||||
['allow_explicit', 'Option<bool>', 'Yours.'], ['auto_download', 'Option<bool>', 'Yours.'],
|
||||
['max_new_per_check', 'Option<Option<usize>>', 'Yours; <code>null</code> for the server’s.'],
|
||||
['pinned', 'Option<bool>', 'Yours.'],
|
||||
['kept', 'Option<bool>', 'Yours: keep a show from an OPML should the OPML drop it.'],
|
||||
['deadair', 'Option<Option<bool>>', 'Yours; <code>null</code> follows its OPML list’s.'],
|
||||
['deadair_pause', 'Option<i64>', 'Yours: 200, 300, 400 or 500.'],
|
||||
['private', 'Option<bool>', 'Anyone subscribed may mark it private; only an admin unmarks it.'],
|
||||
|
||||
Reference in New Issue
Block a user