[dashboards] Open Brain Dashboard Pro — Next.js 16 + iron-session#209
Merged
justfinethanku merged 23 commits intoMay 22, 2026
Conversation
Adds a third dashboard flavor: Next.js App Router, Tailwind, iron-session auth, with Browse/Detail/Search/Audit/Ingest views. Fully env-configurable — no hardcoded project URLs. Degrades gracefully for optional REST endpoints (reflections, ingestion-jobs).
…6-v5v3 npm audit flagged GHSA-q4gf-8mx6-v5v3 as high-severity DoS affecting next<16.2.3; fix available in 16.2.4. eslint-config-next pinned to match. Lockfile regeneration required by deployer (npm install / npm ci) — not run here per contrib brief.
…errors Move setLoading(true) calls OUT of useEffect bodies. Event handlers (page change, threshold change, reload triggers) now stage the loading flag synchronously; effects only transition to false on fetch completion. Uses AbortController to cancel in-flight requests on unmount. Also addresses WR-03 (duplicates batch partial-failure feedback) and IN-06 (fetchIngestionJobs shape tolerance).
…TED_PASSPHRASE_HASH
…sev items
- IN-01/P3: remove unused @tailwindcss/typography, react-markdown,
remark-gfm from package.json; update README tech stack.
- IN-02: delete components/QuickCapture.tsx (replaced by AddToBrain).
- IN-05: annotate metadata.json services field with a TODO for the
folder slug post-merge.
- IN-06: make fetchIngestionJobs tolerate both { jobs: [...] } and
bare-array shapes.
- IN-07: use != undefined for numeric filters in lib/api.ts so
importance_min=0, threshold=0, and days=0 are preserved.
… middleware.ts is deprecated
…sion.restrictedUnlocked
…-id or paginates full set
…er-rendered pages
7 tasks
Collaborator
Author
|
Mergeable, no conflicts against |
Collaborator
|
Thank God, we need more dashboards. Genuinely. Tidied this before merge by moving the exact Next.js pin from 16.2.4 to 16.2.6, adding the dashboard lockfile for reproducible installs, and updating the REST API dependency metadata now that integrations/open-brain-rest exists on main. |
0b91c39
into
NateBJones-Projects:main
1 of 2 checks passed
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.
What this adds
`dashboards/open-brain-dashboard-pro/` — Next.js 16 + Tailwind + iron-session web UI for Open Brain. Features:
Auth + security
Deployment note
`proxy.ts` is Next.js 16's new convention. Known issue (vercel/next.js#86122): proxy.ts doesn't execute behind Cloudflare Proxy in some setups. If deploying behind Cloudflare, revert to `middleware.ts` (still works with deprecation warning).
Prerequisites
Review history
5 fix rounds + 3 Codex verify rounds + 1 Claude review round. `npm run lint` + `tsc --noEmit` + `npm run build` pass. Final Codex review clean.
See `dashboards/open-brain-dashboard-pro/README.md`.