Skip to content

Add (optional) hideInNav option to plugin.json - #348

Open
henryk86 wants to merge 27 commits into
toniebox-reverse-engineering:developfrom
henryk86:develop
Open

henryk86 wants to merge 27 commits into
toniebox-reverse-engineering:developfrom
henryk86:develop

Conversation

@henryk86

@henryk86 henryk86 commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

This PR adds support for a new optional hideInNav property in a plugin's plugin.json.
When set to true, the plugin remains available in TeddyCloud but is not added to the main navigation. This is useful for plugins that provide functionality or pages which should only be opened directly or from another plugin/page.

If hideInNav is omitted or set to false, the plugin behaves as before and is shown in the navigation.

I also introduced a filter for hidden plugins and pagination to the list.

image

Additionally, the language.json files were reordered consistently again. No existing translation content was changed as part of that cleanup.

Checks:

  • old plugins without tis flag still working

@henryk86 henryk86 added the enhancement New feature or request label Oct 9, 2026
Netfreak25 added a commit to Netfreak25/teddycloud_web that referenced this pull request Oct 10, 2026
Port the scoped PR toniebox-reverse-engineering#348 implementation from DEV commit 9cc6bcc473e940338d9ad4c196d9fc2057d803f8.
@ditschi

ditschi commented Oct 18, 2026

Copy link
Copy Markdown

Thanks for the thorough work here. I tested this PR in the browser against a local build of the backend fix for #350, which makes /content/download/… honor tracks=: toniebox-reverse-engineering/teddycloud#553.

Result: no conflict, and some of the workarounds become unnecessary. I used a 4-track library TAF assigned to a tag via lib://…:

  • PR as-is + backend fix: track download from the Tonie info dialog works (/content/…?special=library&ogg=true&tracks=2,3 → application/zip).
  • PR with the URL rewrite and the lib:// resolution in TonieInformationModal removed + backend fix: the dialog uses the tag's audioUrl (/content/download/<ruid>/…&skip_header=true&ogg=true&tracks=2,3) and also gets a zip with exactly the two tracks. It works for any local TAF source, not just lib://.

Suggestion (your call, it's your PR):

  • Once the backend fix is merged, drop the /content/download/ → /content/ rewrite in tafDownload.ts and the lib:// resolution in TonieInformationModal. That removes frontend per-source logic.
  • Keep the lib:// resolution in FileBrowser.tsx for 500304E0.json. On the backend, /content/<dir>/500304E0.json?ogg=true returns 404 and …&tracks=… drops the connection, so that path still needs the resolved TAF URL.
  • Keep the other two fixes, which are independent of the backend: the track selection reset on re-render, and the 500304E0.json download that came out as Ogg (useFileDownload.ts).

If you'd rather merge this PR as it is, that works too. Until the backend fix lands, your rewrite is what makes this work for lib:// sources.

One thing I haven't tested is non-lib:// local sources with the rewrite, since the rewrite was written for lib:// only.

@henryk86

Copy link
Copy Markdown
Collaborator Author

If it can be done in the backend, it should be done in the backend. I will remove the frontend Adaption of this url rewrite.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants