Skip to content

feat: Complete Orcide rebrand with SSO, user profiles, collaboration, and Orcest AI API integration#18

Merged
danialsamiei merged 1 commit intomainfrom
devin/1771668918-orcide-rebrand-sso-v2
Feb 21, 2026
Merged

feat: Complete Orcide rebrand with SSO, user profiles, collaboration, and Orcest AI API integration#18
danialsamiei merged 1 commit intomainfrom
devin/1771668918-orcide-rebrand-sso-v2

Conversation

@devin-ai-integration
Copy link
Copy Markdown

feat: Orcide rebrand with SSO, user profiles, collaboration, and Orcest AI API

Summary

Cherry-picked from voideditor/void#943. This is a large PR that:

  • Rebrands Void → Orcide across docs, product.json, package.json, UI strings, and storage keys
  • Adds orcestAI as a new LLM provider backed by RainyModel (rm.orcest.ai/v1)
  • Adds SSO configuration in product.json pointing to login.orcest.ai
  • Adds new services: orcideSSOService, orcideSSOBrowserService, orcideUserProfileService, orcideCollaborationService
  • Bumps version from 1.99.3 → 2.0.0
  • Updates trusted domains with orcest.ai subdomains

Review & Testing Checklist for Human

  • Storage keys are renamed without migrationvoid.settingsServiceStorageIIorcide.settingsServiceStorage (and similarly for chat threads and opt-out). Existing user settings/threads will be silently lost on upgrade. Decide if a migration path is needed.
  • Review the new SSO service (orcideSSOService.ts, 698 lines) — This is security-critical auth code. Verify token handling, redirect flows, and that login.orcest.ai endpoints are live and properly configured.
  • Review the 'noop' API key fallback in sendLLMMessage.impl.tsapiKey: thisConfig.apiKey || 'noop' silently falls back instead of erroring when no key is set.
  • Review collaboration and user profile servicesorcideCollaborationService.ts (391 lines) and orcideUserProfileService.ts (296 lines) are entirely new and need a full read-through.
  • Verify all orcest.ai endpoints (login.orcest.ai, rm.orcest.ai, llm.orcest.ai, agent.orcest.ai, ollamafreeapi.orcest.ai) resolve and return expected responses.

Suggested test plan: Build the app, confirm settings persist correctly (or document the reset), test the orcestAI provider with an actual RainyModel request, and attempt an SSO login flow against login.orcest.ai.

Notes

  • Commit author is Claude <noreply@anthropic.com> from the upstream PR — may want to adjust attribution.
  • No tests were added or modified for the new services.
  • The diff was truncated (82KB omitted), so the full implementation of the new services wasn't visible during review.

Link to Devin run: https://app.devin.ai/sessions/1a8dd6111da044c5ab7b88b72dcdfdea
Requested by: @danialsamiei

… and Orcest AI API integration

- Complete rebrand from Void to Orcide across all user-facing strings, configs, and messages
- Add SSO authentication service (OIDC/OAuth2) with login.orcest.ai integration
  - PKCE-based authorization flow with popup and redirect support
  - Automatic token refresh, secure storage, and session management
- Add SSO browser service with popup window management and command palette actions
  - Sign In, Sign Out, SSO Status, and Refresh Token commands
- Add user profile service with SSO-based identity isolation
  - Per-user preferences, repositories, and active session tracking
- Add collaboration service for resource sharing and team management
  - Share workspaces, chat threads, model configs, and MCP servers
  - Team member invitation and role-based access control
- Add orcestAI as new API provider with RainyModel as default
  - Pre-configured endpoint: https://rm.orcest.ai/v1
  - Default models: rainymodel-pro, gpt-4o, claude-3.5-sonnet, etc.
- Update product.json with SSO config, default API, and Orcest ecosystem URLs
- Update storage keys, metrics, file transfer paths, and build configs

https://claude.ai/code/session_01CjDqzV3ECQxE1g4jFn7PBu
@devin-ai-integration
Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@danialsamiei danialsamiei merged commit 3314490 into main Feb 21, 2026
danialsamiei pushed a commit that referenced this pull request Feb 21, 2026
…merge

Update imports and identifiers that PR #18 introduced using old void
naming, which conflict with the orcide rename from PR #19:
- app.ts: voidUpdateService → orcideUpdateService, voidUpdateMainService
  → orcideUpdateMainService, voidSCMMainService → orcideSCMMainService,
  voidSCMTypes → orcideSCMTypes, class names VoidMainUpdateService →
  OrcideMainUpdateService, VoidSCMService → OrcideSCMService
- editorGroupWatermark.ts: VOID_CTRL_K/L_ACTION_ID → ORCIDE_CTRL_K/L_ACTION_ID
- fileActions.contribution.ts: void/browser/voidSettingsPane →
  orcide/browser/orcideSettingsPane, VOID_OPEN_SETTINGS_ACTION_ID →
  ORCIDE_OPEN_SETTINGS_ACTION_ID
- orcideSelectionHelperWidget.ts: fix IDisposable|null type error by
  using local variable instead of nullable field

https://claude.ai/code/session_01UgRm1eNr4jVDQ4tVK2LXoR
danialsamiei added a commit that referenced this pull request Feb 21, 2026
fix(orcide): resolve stale void references and type error from PR #18 merge
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