Skip to content

OpenConceptLab/ocl_online#504 | A profile slot under the username for the private UI package - #65

Merged
snyaggarwal merged 2 commits into
mainfrom
OpenConceptLab/ocl_online#504-profile-extension-slot
Oct 16, 2026
Merged

snyaggarwal merged 2 commits into
mainfrom
OpenConceptLab/ocl_online#504-profile-extension-slot

Conversation

@paynejd

@paynejd paynejd commented Oct 16, 2026

Copy link
Copy Markdown
Member

Part of OpenConceptLab/ocl_online#504.

Adds a slot under the username on the user profile for a component from the optional private UI package, the same way the usage dashboard is loaded today.

  • loadUserProfileExtension() in src/common/plugins/loader.js returns the package's UserProfileExtension, or null.
  • The stub exports UserProfileExtension = null, so a build without the package renders nothing and nothing changes.
  • UserProfile.jsx renders it under the username with user, currentUser, APIService and the analytics URL.

Checked: CI's ESLint command passes. Locally, the profile renders unchanged with the stub, and renders the package's component when it's installed.

🤖 Generated with Claude Code

…for a component from the private UI package

loadUserProfileExtension() loads UserProfileExtension from the optional
ocl-analytics-web package, as loadUsageDashboard() does; without the
package the stub's null renders nothing. UserProfile renders it under the
username with the profile's user, the current user, APIService and the
analytics URL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@paynejd

paynejd commented Oct 16, 2026

Copy link
Copy Markdown
Member Author

Codex review, pass 1 (codex-cli 0.163.0, commit 0b8bbf5)

Verdict: clean. No findings.

findings.json
{
  "reviewer": "codex-cli 0.163.0",
  "perspective": "defects",
  "mode": "full",
  "commit": "0b8bbf56",
  "verdict": "clean",
  "prior": [],
  "findings": []
}

@paynejd

paynejd commented Oct 16, 2026

Copy link
Copy Markdown
Member Author

Simplification review (Claude subagent, commit 0b8bbf5)

  • S1 (shrink, low confidence): share one import helper between loadUsageDashboard and loadUserProfileExtension. Declined: it would change the existing loader, and this PR stays additive.
  • S2 (delete, low confidence): drop the ANALYTICS_URL constant. Declined: the component uses it to show the usage link, which stays.

No cuts applied, so no commits after the Codex pass and no follow-up check.

@snyaggarwal snyaggarwal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed together with OpenConceptLab/ocl-analytics-web#3 against OpenConceptLab/ocl_online#504.

Verdict: approve — no blocking findings.

The public host adds an inert slot when the private package is absent, passes the expected user/current-user/API/i18n/analytics adapters when present, and preserves the existing usage-dashboard integration. The translations cover every key consumed by the private card. I also verified ESLint and a production webpack build with the PR version of ocl-analytics-web installed.

Coverage gap: the new loader/profile-extension path has no automated test, so the optional-package and visibility behavior is currently protected by manual/integration checks only. Ticket-level production checks with the paid Pro and Community accounts remain outstanding outside this PR.

Merge after OpenConceptLab/ocl-analytics-web#3 so the private package export exists when TBv3 is rebuilt.

@snyaggarwal
snyaggarwal merged commit 1285c17 into main Oct 16, 2026
2 checks passed
@snyaggarwal
snyaggarwal deleted the OpenConceptLab/ocl_online#504-profile-extension-slot branch October 16, 2026 06:52
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