Skip to content

Strip scorpio to unique Theia features for parallel installation#183

Draft
Predixx wants to merge 17 commits into
mainfrom
strip-scorpio-features
Draft

Strip scorpio to unique Theia features for parallel installation#183
Predixx wants to merge 17 commits into
mainfrom
strip-scorpio-features

Conversation

@Predixx

@Predixx Predixx commented May 4, 2026

Copy link
Copy Markdown

Summary

  • Strip scorpio down to features that artemis-extension does not provide, enabling side-by-side installation without runtime conflicts
  • Keep: workspace-root auto-clone with path preservation, ProcessEnvStrategy fallback, Theia settings protection, git identity with hostname fallback, authentication infrastructure
  • Remove: sidebar UI, course/exercise selection, submit, repo detection, WebSocket, UML rendering, realtime sync, Angular webview app, all shared models

Key changes

  • Deleted ~14,400 lines across 99 files (sidebar, course/exercise pickers, submit, repo detection, websocket, UML, realtime sync, Angular webview, shared models, tests)
  • New: idempotence guard in theia.ts prevents workspace wipes on extension reload by checking if the cloned repo already matches GIT_URI
  • New: required vs optional env keys in DataBridge strategy. Only ARTEMIS_TOKEN, ARTEMIS_URL, GIT_URI are required. GIT_USER/GIT_MAIL are optional (hostname fallback exists). THEIA_FLAG auto-set when bridge returns required keys.
  • Fixed circular dependency between settings.ts and extension.ts
  • Node-only build config: removed browser polyfills, web extension scaffolding, WebWorker lib

What remains (8 source files)

File Purpose
src/extension.ts Minimal activate: env, theia, settings, auth, 3 commands
src/theia/theia.ts Auto-clone with idempotence guard, git identity
src/theia/env-strategy.ts ProcessEnv + DataBridge strategies
src/shared/settings.ts Config with Theia protection
src/authentication/authentication_provider.ts VS Code Auth Provider
src/authentication/not_authenticated.error.ts Error class
src/artemis/authentication.client.ts Login API call
src/infra/http/artemis-http.client.ts HTTP client

Test plan

  • Clean build passes (rm -rf node_modules dist package-lock.json && npm install && npm run build:extension)
  • Lint passes with 0 errors (npm run lint)
  • Theia auto-clone works with GIT_URI set
  • Idempotence guard: reload extension with existing repo, confirm "skipping auto-clone" log and no workspace wipe
  • VS Code Desktop: login/logout commands work
  • No extension host errors on activation

Predixx added 14 commits May 4, 2026 16:58
Defines what to keep (workspace-root auto-clone, env strategy,
settings protection, git identity fallback, auth) and what to
remove (sidebar, course/exercise UI, submit, repo detection,
websocket, UML, realtime sync, all shared models).

Includes package.json, tsconfig.json, and webpack.config.js
changes. Codex-reviewed and approved.
@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ef0e055d-367a-4c61-a4b4-515dfb9dff19

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch strip-scorpio-features

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

… docs

Auth has no consumer after the feature strip: clone uses GIT_URI directly,
git identity uses GIT_USER/GIT_MAIL, settings protection needs no token.
Remove ARTEMIS_TOKEN from env requirements so DataBridge polling no longer
blocks on a value scorpio never reads. Fix disposable leak in initSettings.
Rewrite READMEs to reflect the stripped-down Theia infrastructure scope.
Predixx added 2 commits May 19, 2026 14:33
- Remove legacy .eslintrc.json (superseded by eslint.config.js flat config)
- Remove unused ts-node devDependency
- Drop dead "Extension Tests" launch config and stale ARTEMIS_TOKEN env entry
- Replace real VCS credentials in launch.json with placeholders
- Exclude dev tooling configs and docs from the VSIX package
- Remove yo-code boilerplate quickstart and internal planning docs
- Add MIT license text and package.json license field
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.

1 participant