Repository navigation
Conversation
This was referenced Sep 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this matters
When an operator changes only
MINIFLUX_PORT, Miniflux's Integrations page still advertises bookmarklet, Fever, and Google Reader URLs atlocalhost:8098. The old guide required a second URL edit. Derive the localhost origin from the selected port so that one local-port setting is sufficient, while preserving every explicit nonemptyMINIFLUX_BASE_URLfor reverse proxies and URL prefixes.Changing Compose alone is insufficient: the Extensions form initializes values from the catalog, whose old nonempty URL default would override the new derivation. Update the manifest and generated catalog to use an empty optional URL default, and explain how existing installations opt in by clearing a saved URL and recreating the application. Existing external URLs, browser bookmarks, and clients are never silently rewritten.
Overlap check
Searched open and closed upstream PRs for
miniflux,miniflux port,miniflux bookmarklet, and base-URL/port keywords, then checked the historical and recent changed-file indexes for the Miniflux recipe/manifest and catalog. #4881 introduced the now-merged native service; #4982 fixes credential display, and #5057 provides a different FreshRSS service. None derives Miniflux's advertised local URLs or removes the form's stale default. #4912 handles Baserow's separate public-URL contract and is not replaced.Invariant and validation
Candidate
52f9a9696b9f8babcc08e5ba7c5a74a4b2ee5c10, base33155fb5c4a99242b6fa8eb6e2d9b108c869e3cc:http://localhost:<published-port>; any explicit URL wins. The internal listener remains 8080 and auth/database settings remain unchanged.ODS_TEST_MINIFLUX_LINKS=1 ODS_TEST_MINIFLUX_DOCKER=1 python -m pytest ods/tests/test_miniflux_advertised_port.py ods/tests/test_miniflux_extension.py -q -s: 13 passed, 134 seconds, Linux amd64 Docker/WSL.49d7b60987616387c306a8023087b31f2c9b7b21288b523026cb04058e8b6dbband PostgreSQL 17.11 digest18cfe3ef5e6815560c98237d6216d1e5119702fb0f3894c8785dd58b8bbe5d73. No image upgrade is included.git diff --checkpassed.make gateis tracked with the batch; the unchanged base has two existing no-sudo Docker fixture failures (fix(installer): honor unavailable sudo in Docker fallback #3158). No green full local gate is claimed.The initial test incorrectly requested GET
/login(the native login form is GET/, with POST/login); that harness error was corrected before recording the behavioral red result. No browser interaction, native macOS/Windows/ARM, external TLS reverse proxy, or third-party Fever client qualification is claimed. Explicit hostname/prefix precedence is validated in rendered plans; the real Web UI qualification uses localhost.Compatibility and rollback
This is independently useful and has no dependency on another batch PR. Catalog edits were reconciled and checked on the combined head. Rollback restores the previous default; explicitly configured URLs remain the operator's source of truth. Recreate the application after changing configuration, then recopy affected links. Database contents are untouched. Final CI/integration receipts are below.
Versioned external contract: Miniflux 2.3.3 Integrations template uses the configured root URL for these generated links.
Completed batch integration
Synthetic integration: b2ebc8bcab0385ed7b549d6cd61edb776f98ddd5, based on
public-betaat33155fb5c4a99242b6fa8eb6e2d9b108c869e3cc. This fork-only integration branch is not an upstream merge.Validated merge order: #5177, #5200, #5204, #5218, #5227, #5237, #5245, #5250, #5265, #5288, #5284, #5304, #5332, #5365, #5356, #5367, #5378, #5385, #5392, #5391. Each PR is independently useful; shared catalog/schema/environment/library-index edits must be merged as a union, retaining every distinct entry and the Miniflux explicit-URL precedence change. No production-file conflict was resolved by dropping either behavior. The Bark-specific compatibility notes remain applicable to its separate upstream peers.
git diff --checkpassed.3dc78d72a500fa6031830c5dd69806ad7555b1cc: dashboard API 2,900 passed / 2 skipped; UI build passed and lint had 0 errors / 603 existing warnings; all four platform smoke contracts and installer simulation passed. The final head changes only Apprise documentation and its native fixture relative to that head; production/runtime/configuration files are identical.make gatestops at the same two fix(installer): honor unavailable sudo in Docker fallback #3158 no-sudo Docker fixture failures. BATS is 416 passed / 5 failed, the same five failures reproduced on untouched base (non-GNU Linux detection, root/non-writable-path fixture, three root preflight fixtures). Full local pre-release gate is not claimed green.All 20 PRs are Ready for review; completed PRs were promoted individually. Independent human review is still required for the declared operational boundaries. No PR was merged.
Final PR CI at
52f9a9696b9f8babcc08e5ba7c5a74a4b2ee5c10: 33 successful / 4 skipped, no failed or pending checks.