Remove Swiften dependency from plugins#470
Open
vitalyster wants to merge 7 commits into
Open
Conversation
3d043d8 to
945ace0
Compare
|
Dear @vitalyster, Have you progressed on it? Swiften can be totally removed? |
- slack/*.cpp added to SRC_TEST glob (was dead SRC variable) - slack frontend sources added to add_executable, not target_link_libraries - Fixes AdminInterfaceTest and SlackRTMTest not being compiled
vitalyster
added a commit
that referenced
this pull request
Jun 17, 2026
This file was never part of the original PR #470 — it was created in this session and incorrectly shadows spectrum/src/frontends/slack/SlackRTM.h which provides the full class definition. The .cpp's #include "SlackRTM.h" resolved to the frontend header via include_directories before this file existed, and it does so again now. Co-Authored-By: Claude <noreply@anthropic.com>
vitalyster
added a commit
that referenced
this pull request
Jun 17, 2026
PR #470 rewrote HTTPRequest.h and deleted HTTPRequestQueue, breaking the Slack frontend. OAuth2.cpp was updated to use simplified API. Fix: single Transport::HTTPRequest with both the full API (ThreadPool, JSON, callbacks, signals — for Slack frontend) and simple API (default constructor, public init/GET/getCurlError — for OAuth2.cpp). Implementation in plugin/cpp/ (transport-plugin) so plugins can use HTTP without linking libtransport. libtransport links transport-plugin, Slack frontend links transport which links transport-plugin — single class accessible everywhere. - include/transport/HTTPRequest.h: unified class, both APIs - include/transport/HTTPRequestQueue.h: restored from master - plugin/cpp/HTTPRequest.cpp: full Transport::HTTPRequest implementation - plugin/cpp/HTTPRequestQueue.cpp: restored from master Co-Authored-By: Claude <noreply@anthropic.com>
17e1bd8 to
0a5e59f
Compare
3da14f8 to
d126ca1
Compare
Replace Swiften networking (Swift::Connection, BoostNetworkFactories, SimpleEventLoop) with Boost.Asio in backend plugins via new BoostNetworkPlugin class. Create transport-protocol library for shared wire protocol and utilities used by both frontend and backend. Key changes: - protocol/: new transport-protocol library — wire protocol, Config, Util, MemoryUsage, Logging - plugin/cpp/BoostNetworkPlugin: Boost.Asio TCP + deadline_timer replaces Swift::Connection + Swift::Timer - Backend plugins link transport-plugin instead of transport - Storage backends stay in libtransport — plugins access via protocol - smstools3: refactored to use protocol-based routing (std::map) instead of direct StorageBackend access - HTTPRequest, HTTPRequestQueue, ThreadPool remain in libtransport - Add ENABLE_SLACK_FRONTEND CMake option (default OFF), enable in CI - Unity build fix: rename duplicate logger in NetworkPluginServer - Various cleanup: dead includes, override keywords, indentation Co-Authored-By: Claude <noreply@anthropic.com>
libtransport_test needs to be in the install target so cmake --install copies it to dist/bin/ with all required DLLs (transport-protocol, transport-plugin, transport) for Windows test execution. Co-Authored-By: Claude <noreply@anthropic.com>
Shared library on Windows generates a .dll (RUNTIME) and .lib (ARCHIVE). Missing RUNTIME destination meant the DLL was not copied to install prefix. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remove Swiften dependency from backend plugins.
Replace Swiften networking (Swift::Connection, BoostNetworkFactories, SimpleEventLoop) with Boost.Asio via new BoostNetworkPlugin class.
Changes
transport-protocollibrary — wire protocol, Config, Util, MemoryUsage, Loggingtransport-plugininstead oftransportENABLE_SLACK_FRONTENDCMake option (default OFF), enabled in CIArchitecture
🤖 Generated with Claude Code