Add/Edit Bookmark Dialog - #278
Open
F3l1x1vo wants to merge 17 commits into
Open
Conversation
F3l1x1vo
force-pushed
the
feat/app-bookmark-dialog
branch
from
July 31, 2026 08:17
c622e28 to
fbfa6e6
Compare
This reverts commit 740391c.
* Add OPA client for admin rights checking
- New OPA client module (src/lib/server/opa.ts) using plain fetch
- Separate handleOpaAdmin middleware hook (fail-closed)
- Admin status exposed to client via event.locals.isAdmin and $page.data
- Prometheus metrics: opa_request_duration_seconds + opa_request_total
- Helm chart for OPA 1.16.2 (dev/opa/)
- Sample Rego policy with admin email domain check
- Dev setup: alice is admin (alice@admin.example.com)
- Configurable via STACKABLE_COCKPIT_OPA_ENABLED/URL/TIMEOUT env vars
* Replace custom OPA fetch client with @open-policy-agent/opa SDK
Uses OPAClient.evaluate() with fromResult callback instead of raw fetch.
Same external interface (checkAdmin), same error handling (fail-closed).
* fix YAML format
* fix YAML format
* fix YAML format
* fix: handle bare boolean responses from OPA admin check
The fromResult callback expected { admin: true } but OPA may return a
bare boolean. Now handles both formats.
* chore: remove merge artifact feature flags
Remove unused archivePreviewMaxBytes and commented-out env vars
(INFINITE_SCROLL, CUT_COPY, PASTE, RENAME, MOVE) that have no
corresponding code.
---------
Co-authored-by: F3l1x1vo <fli@ordix.de>
F3l1x1vo
force-pushed
the
feat/app-bookmark-dialog
branch
from
September 2, 2026 05:23
286a34a to
7a7d76c
Compare
* #270 add bookmark dialog * add edit bookmarks dialog * fix cancel editing bookmark * fix darkmode for icons, cursor pointer over boxes * update product icons to use colored versions where possible * scaled icons down to 64x64 * Revert "scaled icons down to 64x64" This reverts commit 740391c. * revert image downscale, use svelte enhanced image component to downscale images * #271 overhaul dashboard layout design * fix unit test * Add OPA client for admin rights checking (#276) * Add OPA client for admin rights checking - New OPA client module (src/lib/server/opa.ts) using plain fetch - Separate handleOpaAdmin middleware hook (fail-closed) - Admin status exposed to client via event.locals.isAdmin and $page.data - Prometheus metrics: opa_request_duration_seconds + opa_request_total - Helm chart for OPA 1.16.2 (dev/opa/) - Sample Rego policy with admin email domain check - Dev setup: alice is admin (alice@admin.example.com) - Configurable via STACKABLE_COCKPIT_OPA_ENABLED/URL/TIMEOUT env vars * Replace custom OPA fetch client with @open-policy-agent/opa SDK Uses OPAClient.evaluate() with fromResult callback instead of raw fetch. Same external interface (checkAdmin), same error handling (fail-closed). * fix YAML format * fix YAML format * fix YAML format * fix: handle bare boolean responses from OPA admin check The fromResult callback expected { admin: true } but OPA may return a bare boolean. Now handles both formats. * chore: remove merge artifact feature flags Remove unused archivePreviewMaxBytes and commented-out env vars (INFINITE_SCROLL, CUT_COPY, PASTE, RENAME, MOVE) that have no corresponding code. --------- Co-authored-by: F3l1x1vo <fli@ordix.de> * chore: dedupe packages * #270 add admin check to pinning, add OPA tests * fix unit test * #270 show pin for all only to admins * fix unit test * pull from feat/app-bookmark-dialog * pull from feat/app-bookmark-dialog --------- Co-authored-by: dklOrdix <dkl@ordix.de>
… as tools inside the cockpit (#283) * #270 add bookmark dialog * add edit bookmarks dialog * fix cancel editing bookmark * fix darkmode for icons, cursor pointer over boxes * update product icons to use colored versions where possible * scaled icons down to 64x64 * Revert "scaled icons down to 64x64" This reverts commit 740391c. * revert image downscale, use svelte enhanced image component to downscale images * #275 allow users to pin bookmarks * #275 #280 add bookmarks to sidebar navigation, show external apps in cockpit * fix unit test * Add OPA client for admin rights checking (#276) * Add OPA client for admin rights checking - New OPA client module (src/lib/server/opa.ts) using plain fetch - Separate handleOpaAdmin middleware hook (fail-closed) - Admin status exposed to client via event.locals.isAdmin and $page.data - Prometheus metrics: opa_request_duration_seconds + opa_request_total - Helm chart for OPA 1.16.2 (dev/opa/) - Sample Rego policy with admin email domain check - Dev setup: alice is admin (alice@admin.example.com) - Configurable via STACKABLE_COCKPIT_OPA_ENABLED/URL/TIMEOUT env vars * Replace custom OPA fetch client with @open-policy-agent/opa SDK Uses OPAClient.evaluate() with fromResult callback instead of raw fetch. Same external interface (checkAdmin), same error handling (fail-closed). * fix YAML format * fix YAML format * fix YAML format * fix: handle bare boolean responses from OPA admin check The fromResult callback expected { admin: true } but OPA may return a bare boolean. Now handles both formats. * chore: remove merge artifact feature flags Remove unused archivePreviewMaxBytes and commented-out env vars (INFINITE_SCROLL, CUT_COPY, PASTE, RENAME, MOVE) that have no corresponding code. --------- Co-authored-by: F3l1x1vo <fli@ordix.de> * fix unit test * Add OPA client for admin rights checking (#276) * Add OPA client for admin rights checking - New OPA client module (src/lib/server/opa.ts) using plain fetch - Separate handleOpaAdmin middleware hook (fail-closed) - Admin status exposed to client via event.locals.isAdmin and $page.data - Prometheus metrics: opa_request_duration_seconds + opa_request_total - Helm chart for OPA 1.16.2 (dev/opa/) - Sample Rego policy with admin email domain check - Dev setup: alice is admin (alice@admin.example.com) - Configurable via STACKABLE_COCKPIT_OPA_ENABLED/URL/TIMEOUT env vars * Replace custom OPA fetch client with @open-policy-agent/opa SDK Uses OPAClient.evaluate() with fromResult callback instead of raw fetch. Same external interface (checkAdmin), same error handling (fail-closed). * fix YAML format * fix YAML format * fix YAML format * fix: handle bare boolean responses from OPA admin check The fromResult callback expected { admin: true } but OPA may return a bare boolean. Now handles both formats. * chore: remove merge artifact feature flags Remove unused archivePreviewMaxBytes and commented-out env vars (INFINITE_SCROLL, CUT_COPY, PASTE, RENAME, MOVE) that have no corresponding code. --------- Co-authored-by: F3l1x1vo <fli@ordix.de> * fix auth port, implement open in new tab option, fix custom link resolve * #270 add admin check to pinning, add OPA tests * fix unit test * #270 show pin for all only to admins * fix unit test * pull from feat/app-bookmark-dialog --------- Co-authored-by: dklOrdix <dkl@ordix.de>
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.
This PR adds a bookmark modal for adding and editing bookmarks. Currently, they are saved in localStorage (not a database like we hoped. The database is a v1 feature of the S3 Storage Browser and not yet available on the parent branch). Migrating these bookmarks to the database is an issue for later (#277).
The bookmarks are currently shown in a section on the dashboard but we will change the display of these as well (#271)
Closes #270