Skip to content

Conversation

@aweiss-dev
Copy link
Member

Pull Request

Summary

  • Moved wire-core-packages/packages/core to wire-webapp/libraries/core
  • Integrate the package fully into the monorepo
  • Use the monorepo package in the webapp

Security Checklist (required)

  • External inputs are validated & sanitized on client and/or server where applicable.
  • API responses are validated; unexpected shapes are handled safely (fallbacks or errors).
  • No unsafe HTML is rendered; if unavoidable, sanitization is applied and documented where it happens.
  • Injection risks (XSS/SQL/command) are prevented via safe APIs and/or escaping.

Accessibility (required)

Standards Acknowledgement (required)


Screenshots or demo (if the user interface changed)

Notes for reviewers

  • Trade-offs:
  • Follow-ups (linked issues):
  • Linked PRs (e.g. web-packages):

Copilot AI review requested due to automatic review settings January 7, 2026 01:20
@aweiss-dev aweiss-dev requested review from a team and otto-the-bot as code owners January 7, 2026 01:20
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR moves the core package from wire-core-packages/packages/core to libraries/core within the monorepo, integrating it as a native monorepo library for use by the webapp.

Key changes:

  • Relocated core package files to libraries/core/src/
  • Added MLS recovery orchestration system with error mapping and policy-based retry logic
  • Implemented E2EI (End-to-End Identity) service for certificate management
  • Added comprehensive test coverage for MLS and E2EI functionality

Reviewed changes

Copilot reviewed 188 out of 273 changed files in this pull request and generated no comments.

Show a summary per file
File Description
libraries/core/src/messagingProtocols/mls/recovery/* New MLS error recovery system with orchestrator, error mapper, and configurable policies
libraries/core/src/messagingProtocols/mls/MLSService/* Core MLS service implementation with event handling, key package management, and conversation lifecycle
libraries/core/src/messagingProtocols/mls/E2EIdentityService/* E2EI certificate enrollment and validation with ACME protocol support
libraries/core/src/messagingProtocols/proteus/EventHandler/* Proteus message decryption handlers
libraries/core/src/cryptography/* Asset encryption and message hashing utilities
libraries/core/src/linkPreview/* Link preview image upload service
libraries/core/src/errors/* Custom error types for decryption and federation
libraries/core/src/demo/* Demo scripts and HTML for testing
libraries/core/src/index.ts Main export file consolidating all modules

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 7, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
4 Security Hotspots
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@aweiss-dev aweiss-dev closed this Jan 7, 2026
@aweiss-dev aweiss-dev deleted the chore/fix-core-exports-clean branch January 7, 2026 01:23
@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

🔗 Download Full Report Artifact

🧪 Playwright Test Summary

  • Passed: 105
  • Failed: 8
  • Skipped: 11
  • 🔁 Flaky: 5
  • 📊 Total: 129
  • Total Runtime: 727.7s (~ 12 min 8 sec)
specs/Accessibility/Accessibility.spec.ts (❌ 2 failed, ⚠️ 0 flaky)
  • ❌ Accessibility > I want to see collapsed view when app is narrow (tags: TC-48, regression)
  • ❌ Accessibility > I should not lose a drafted message when switching between conversations in collapsed view (tags: TC-51, regression)
specs/AccountSettingsSpecs/accountSettings.spec.ts (❌ 1 failed, ⚠️ 0 flaky)
  • ❌ account settings > I should not be able to change email of user managed by SCIM (tags: TC-60, regression)
specs/AppLock/AppLock.spec.ts (❌ 1 failed, ⚠️ 0 flaky)
  • ❌ AppLock > Web: App should not lock if I switch back to webapp tab in time (during inactivity timeout) (tags: TC-2752, TC-2753, regression)
specs/ArchiveSpecs/archive.spec.ts (❌ 0 failed, ⚠️ 2 flaky)
  • ⚠️ Accessibility > Verify the conversation is not unarchived when there are new messages in this conversation (tags: TC-99, regression)
  • ⚠️ Accessibility > I want to archive the 1on1 conversation from conversation details (tags: TC-105, regression)
specs/CriticalFlow/accountManagement-TC-8639.spec.ts (❌ 1 failed, ⚠️ 0 flaky)
  • ❌ Account Management (tags: TC-8639, crit-flow-web)
specs/CriticalFlow/Cells/uploadingFileInGroupConversation.spec.ts (❌ 1 failed, ⚠️ 0 flaky)
  • ❌ Uploading an file in a group conversation (tags: crit-flow-cells, regression)
specs/CriticalFlow/oneOnOneCall-TC-8754.spec.ts (❌ 1 failed, ⚠️ 0 flaky)
  • ❌ 1:1 Video call with device switch and screenshare (tags: TC-8754, crit-flow-web)
specs/CriticalFlow/personalAccountLifecycle-TC-8638.spec.ts (❌ 0 failed, ⚠️ 1 flaky)
  • ⚠️ Personal Account Lifecycle (tags: TC-8638, crit-flow-web)
specs/RegressionSpecs/block-messages.spec.ts (❌ 0 failed, ⚠️ 1 flaky)
  • ⚠️ Block specs (tags: TC-141, regression)
specs/Reply/reply.spec.ts (❌ 1 failed, ⚠️ 0 flaky)
  • ❌ Reply > I should not be able to send a reply after I got removed from the conversation (tags: TC-3014, regression)
specs/SelfDeletingMessages/selfDeletingMessages.spec.ts (❌ 0 failed, ⚠️ 1 flaky)
  • ⚠️ in search results > I want to see ephemeral messages in the search results (tags: TC-3717, regression)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants