Skip to content

Conversation

@aweiss-dev
Copy link
Member

@aweiss-dev aweiss-dev commented Jan 7, 2026

TaskWPB-18162 [Web] Monorepo - Phase 1 - Webapp setup

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

Note on Commit Count

This PR includes the full commit history from the wire-webapp repository
via git subtree merge, plus all changes needed to adjust it for the nx monorepo structure.
When merged with squash, it will create a single commit on the target branch.


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):

otto-the-bot and others added 30 commits March 18, 2025 06:07
 - @wireapp/api-client@27.27.0
 - @wireapp/core@46.20.1
 - @wireapp/api-client@27.28.0
 - @wireapp/core@46.20.2
 - @wireapp/api-client@27.29.0
 - @wireapp/core@46.20.3
 - @wireapp/api-client@27.29.1
 - @wireapp/core@46.20.4
 - @wireapp/api-client@27.30.0
 - @wireapp/core@46.20.5
 - @wireapp/api-client@27.31.0
 - @wireapp/core@46.20.6
 - @wireapp/core@46.20.7
 - @wireapp/api-client@27.32.0
 - @wireapp/core@46.20.8
 - @wireapp/api-client@27.33.0
 - @wireapp/core@46.20.9
 - @wireapp/api-client@27.34.0
 - @wireapp/core@46.20.10
 - @wireapp/api-client@27.35.0
 - @wireapp/core@46.20.11
 - @wireapp/api-client@27.36.0
 - @wireapp/core@46.20.12
 - @wireapp/api-client@27.37.0
 - @wireapp/core@46.20.13
 - @wireapp/api-client@27.37.1
 - @wireapp/core@46.20.14
 - @wireapp/api-client@27.38.0
 - @wireapp/core@46.20.15
…6845] (#7004)

* feat(cells): bring back @wireapp/protocol-messaging

* chore: update @wireapp/protocol-messaging to version 1.52.0 in package.json and yarn.lock

* feat: update imports from @pydio/protocol-messaging to @wireapp/protocol-messaging across multiple files

* feat: replace @pydio/protocol-messaging with @wireapp/protocol-messaging in various files

* feat: remove changelogs from changes

* chore: correct version format for @wireapp/protocol-messaging in package.json
 - @wireapp/api-client@27.39.0
 - @wireapp/core@46.21.0
 - @wireapp/core@46.21.1
#7006)

* fix: remove additional protocol check while inviting users [WPB-16998]

* fixed tests
 - @wireapp/core@46.21.2
 - @wireapp/api-client@27.39.1
 - @wireapp/core@46.21.3
 - @wireapp/api-client@27.39.2
 - @wireapp/core@46.21.4
 - @wireapp/api-client@27.40.0
 - @wireapp/core@46.21.5
…6934] (#7007)

* feat(mls): detect a client mismatch and emit an specific event

* fix: tests

* fix: delete more data from database to unblock client creation
 - @wireapp/core@46.22.0
 - @wireapp/api-client@27.40.1
 - @wireapp/core@46.22.1
 - @wireapp/api-client@27.41.0
 - @wireapp/core@46.22.2
 - @wireapp/api-client@27.42.0
 - @wireapp/core@46.22.3
dependabot bot and others added 12 commits December 21, 2025 15:21
 - @wireapp/api-client@27.94.3
 - @wireapp/core@46.46.13
 - @wireapp/api-client@27.94.4
 - @wireapp/core@46.46.14
 - @wireapp/api-client@27.94.5
 - @wireapp/core@46.46.15
 - @wireapp/api-client@27.94.6
 - @wireapp/core@46.46.16
 - @wireapp/api-client@27.94.7
 - @wireapp/core@46.46.17
 - @wireapp/core@46.47.0
 - @wireapp/api-client@27.95.0
 - @wireapp/core@46.47.1
 - @wireapp/api-client@27.95.1
 - bazinga64@6.5.9
 - @wireapp/core@46.47.2
 - @wireapp/api-client@27.95.2
 - @wireapp/core@46.47.3
…023d3147e7154'

git-subtree-dir: libraries/CoreScripts
git-subtree-mainline: dc0ea35
git-subtree-split: 9b4d7d5
Copilot AI review requested due to automatic review settings January 7, 2026 00:49
@aweiss-dev aweiss-dev requested review from a team and otto-the-bot as code owners January 7, 2026 00:49
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 integrates the core library package into the Wire webapp monorepo by moving it from wire-core-packages/packages/core to libraries/core within the monorepo structure. The changes enable the webapp to consume the core library as a local monorepo package rather than as an external dependency.

  • Moved core library source files and configuration into libraries/core
  • Added comprehensive MLS (Message Layer Security) support including error recovery, E2EI (End-to-End Identity), and event handling
  • Integrated Proteus protocol support for OTR message handling
  • Included supporting utilities for cryptography, asset handling, and message processing

Reviewed changes

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

Show a summary per file
File Description
libraries/core/src/messagingProtocols/proteus/EventHandler/events/otrMessageAdd/otrMessageAdd.ts Implements OTR message decryption and session reset handling
libraries/core/src/messagingProtocols/mls/recovery/MlsRecoveryOrchestrator.ts Orchestrates MLS error recovery with configurable policies per operation
libraries/core/src/messagingProtocols/mls/recovery/MlsErrorMapper.ts Maps diverse MLS errors to domain error types for recovery handling
libraries/core/src/messagingProtocols/mls/MLSService/MLSService.ts Core MLS service providing group management, encryption, and key package handling
libraries/core/src/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.ts External E2EI service managing certificates, CRL validation, and identity verification
libraries/core/src/cryptography/MessageHashService.ts Generates SHA256 hashes for message content with timestamp
libraries/core/src/index.ts Main entry point exporting core library modules

@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

🔗 Download Full Report Artifact

🧪 Playwright Test Summary

  • Passed: 105
  • Failed: 7
  • Skipped: 11
  • 🔁 Flaky: 6
  • 📊 Total: 129
  • Total Runtime: 512.2s (~ 8 min 32 sec)
specs/Accessibility/Accessibility.spec.ts (❌ 0 failed, ⚠️ 2 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, ⚠️ 1 flaky)
  • ⚠️ Accessibility > I want to archive the 1on1 conversation from conversation details (tags: TC-105, regression)
specs/Calling/calling.spec.ts (❌ 0 failed, ⚠️ 1 flaky)
  • ⚠️ Calling > Verify 1on1 call ringing terminates on second client when accepting call (tags: TC-2823, 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/LoginSpecs/login.spec.ts (❌ 1 failed, ⚠️ 0 flaky)
  • ❌ Verify you can sign in by email (tags: TC-3461, regression)
specs/Reply/reply.spec.ts (❌ 1 failed, ⚠️ 1 flaky)
  • ❌ Reply > I should not be able to send a reply after I got removed from the conversation (tags: TC-3014, regression)
  • ⚠️ Reply > I want to reply to a link (tags: TC-3005, regression)

@aweiss-dev aweiss-dev closed this Jan 7, 2026
@aweiss-dev aweiss-dev deleted the chore/move_core_package branch January 7, 2026 01:20
@aweiss-dev aweiss-dev restored the chore/move_core_package branch January 7, 2026 09:05
@aweiss-dev aweiss-dev deleted the chore/move_core_package branch January 7, 2026 09:08
@aweiss-dev aweiss-dev restored the chore/move_core_package branch January 7, 2026 09:09
@aweiss-dev aweiss-dev reopened this Jan 7, 2026
@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 changed the title chore(core): add core library to monorepo chore(core): add core library to monorepo [WPB-18162] Jan 7, 2026
@aweiss-dev aweiss-dev closed this Jan 7, 2026
@aweiss-dev aweiss-dev deleted the chore/move_core_package branch January 7, 2026 14:25
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.

9 participants