feat(licenses): configurable feed visibility vs download-only gating #346

Closed
opened 2026-05-31 15:31:44 +00:00 by jmiller · 1 comment
Owner

Summary

Add a setting to control whether the updates.xml feed is hidden entirely without a valid license key, or whether the feed is visible but downloads are gated.

Options

  • Hide feed: Return empty <updates></updates> when no valid key (current behavior)
  • Gate downloads only: Show the feed (so Joomla can display available updates) but require a valid key to download the .zip. Joomla shows a "Download Key" field when <downloadkey> is present in the feed.

Why

Akeeba Backup Pro shows available updates to all users but gates the actual download. This is better UX — users know an update exists and are prompted to enter their key. Hiding the feed entirely makes it look like no updates exist.

Implementation

Add a FeedVisibility field to UpdateStreamConfig:

  • hide_without_key (current behavior)
  • show_feed_gate_download (Akeeba-style)

Claude Opus 4.6 (1M context) noreply@anthropic.com

## Summary Add a setting to control whether the updates.xml feed is hidden entirely without a valid license key, or whether the feed is visible but downloads are gated. ### Options - **Hide feed**: Return empty `<updates></updates>` when no valid key (current behavior) - **Gate downloads only**: Show the feed (so Joomla can display available updates) but require a valid key to download the .zip. Joomla shows a "Download Key" field when `<downloadkey>` is present in the feed. ### Why Akeeba Backup Pro shows available updates to all users but gates the actual download. This is better UX — users know an update exists and are prompted to enter their key. Hiding the feed entirely makes it look like no updates exist. ### Implementation Add a `FeedVisibility` field to `UpdateStreamConfig`: - `hide_without_key` (current behavior) - `show_feed_gate_download` (Akeeba-style) --- *Claude Opus 4.6 (1M context) <noreply@anthropic.com>*
Author
Owner

Merged into #347 (download gating). The three-mode DownloadGating field (none/prerelease/all) covers configurable feed visibility.

?? Generated with Claude Code

Merged into #347 (download gating). The three-mode DownloadGating field (none/prerelease/all) covers configurable feed visibility. ?? Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoGitea#346