Skip to content

fix(extensions): show credentials from the installation config - #4982

Merged
gabsprogrammer merged 1 commit into
Osmantic:public-betafrom
tang-vu:fix/beta-extension-credential-instructions-20260914
Sep 15, 2026
Merged

gabsprogrammer merged 1 commit into
Osmantic:public-betafrom
tang-vu:fix/beta-extension-credential-instructions-20260914

Conversation

@tang-vu

@tang-vu tang-vu commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Ready for independent review (2026-09-15). Candidate 28d46c18352dc6ad00fe3df859afe5964c2ff759 has a successful GitHub check rollup and no base-branch conflict at this review snapshot. This supersedes earlier draft-status wording only. All validation gaps, migration requirements, live gates and independent human review requirements below remain in force; this is not a merge-ready approval.

The Extensions details dialog offers a container env command built from host .env variable names. For the shipped Miniflux recipe, MINIFLUX_ADMIN_PASSWORD becomes ADMIN_PASSWORD and MINIFLUX_DB_PASSWORD becomes PGPASSWORD, so that command finds neither credential.

Why this matters

An operator following the displayed login instructions receives an empty result despite a correctly configured service. Use the installation .env as the source for the declared keys, identify the directory where the command should run, and explain that an account password changed inside an application can differ from its initial configured value. The copied lookup now matches complete assignments, including whitespace and optional export, instead of matching comments or similarly named backup keys.

Overlap check

Searched open and closed PRs for extension credentials and Login Credentials, plus the recent production-file index for dashboard/src/pages/Extensions.jsx. #2327 concerns clipboard support on HTTP, #2903 lifecycle confirmation, #1906 library updates, #3314/#3315 backend selection and toggles, #3848 favorites, and #4468 extension plans. None changes credential lookup instructions. Batch PR #4961 edits Aider status/launch instructions in this same file; its hunks are independent and both must be retained in combined validation.

Validation

  • Full Extensions page test loads the checked-in Miniflux catalog entry, opens Details, copies the new lookup and checks its assignment boundaries. A port-only extension does not receive credential instructions. The old UI fails the new regression; the corrected UI passes.
  • Focused existing plus new UI tests: 17 passed. npm run lint: 0 errors, 598 existing warnings. Production build and scoped pre-commit pass.
  • An external command probe resolves the real Miniflux Compose environment: the old container-name filter returns zero matches. Executing the displayed Bash lookup against a temporary .env returns exactly the two configured credentials, preserving quoted values and export while excluding a comment and a similarly named unrelated key.
  • make gate reproduces the existing root/WSL no-sudo fixture failure; the complete local gate is not claimed green.

This changes displayed guidance and copied text only. It does not retrieve credentials through the browser or change service/account state. UI tests run on Linux/WSL; the lookup uses portable grep -E. Native shell execution and full application login were not repeated for this guidance change. Reverting restores the previous instructions with no data migration.

Final candidate 28d46c18352dc6ad00fe3df859afe5964c2ff759: 32 successful CI checks, 4 conditionally skipped; no pending or failed checks.

Batch integration receipt

This is one of 30 independently branched public-beta PRs. The published synthetic integration head is 61f4c6fccc81bea697f4941683fefb5089ba77f4, built from baseline d49ad4bbc760be319de7f4c9b9a93b1f18fe3922 in this reproducible order:

#4946 → #4948 → #4951 → #4954 → #4972 → #4960 → #4961 → #4957 → #4964 → #4967 → #4968 → #4971 → #4975 → #4976 → #4984 → #4982 → #4990 → #4988 → #4989 → #4997 → #5003 → #5006 → #5007 → #5009 → #5012 → #5011 → #5013 → #5014 → #5020 → #5021

Reconciliation preserved all 146 files owned by a single PR byte-for-byte against their exact candidate heads. The eight shared paths preserve both CLI STT/TTS commands and help, every added Makefile test, both environment schema additions and all Extensions UI behavior. LanguageTool and Kroki both remain headless API entries. Canonical regeneration yields 76 catalog entries and 47 library manifests; all README rows are retained. Shared-file changes need these additive resolutions when merged independently.

Combined validation: 2,852 API tests passed / 1 skipped; 1,082 UI tests passed; 47 manifests passed; all 12 added Makefile commands passed; 12 catalog boundary tests passed / 12 opt-in runtime tests skipped in this combined run. Individual exact-image results remain documented above. UI lint/build, scoped secret hooks, diff checks, four platform smoke tests and installer simulation passed. Compose plans for NVIDIA/AMD/Apple each contain 20 services and no duplicate published bindings across the core plus 12 new recipes; this is static plan evidence, not simultaneous startup or GPU inference.

The first unrestricted UI run timed out in two tests under concurrent load; the complete rerun used --maxWorkers=2 with unchanged assertions and timeouts and passed. ESLint reports zero errors and 603 warnings, including the existing JSX usage-detection pattern. Full local make gate still fails the no-sudo Docker baseline covered by #3158. BATS records 416 passed / 5 failed on this root/WSL host (platform detection, root preflight and a 15 GiB versus 20 GiB free-space expectation). Neither full local gate nor BATS is described as green.

This integration receipt supplements each PR's own regression and does not waive its independent review, live hardware/browser/upgrade gates or rollback requirements. The PRs remain drafts; none was merged upstream.

This was referenced Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants