Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

remove obsolete webclient #2601

Closed
wants to merge 16 commits into from
Closed
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 9 additions & 40 deletions synapse/app/homeserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@
from synapse.http.site import SynapseSite
from synapse.metrics import register_memory_metrics
from synapse.metrics.resource import METRICS_PREFIX, MetricsResource
from synapse.python_dependencies import CONDITIONAL_REQUIREMENTS, \
check_requirements
from synapse.python_dependencies import check_requirements
from synapse.replication.tcp.resource import ReplicationStreamProtocolFactory
from synapse.rest import ClientRestResource
from synapse.rest.key.v1.server_key_resource import LocalKey
Expand All @@ -55,9 +54,10 @@
from synapse.util.versionstring import get_version_string
from twisted.application import service
from twisted.internet import defer, reactor
from twisted.web.resource import EncodingResourceWrapper, Resource
from twisted.web.resource import EncodingResourceWrapper
from twisted.web.server import GzipEncoderFactory
from twisted.web.static import File
from twisted.web.util import Redirect

logger = logging.getLogger("synapse.app.homeserver")

Expand All @@ -66,36 +66,6 @@ def gz_wrap(r):
return EncodingResourceWrapper(r, [GzipEncoderFactory()])


def build_resource_for_web_client(hs):
webclient_path = hs.get_config().web_client_location
if not webclient_path:
try:
import syweb
except ImportError:
quit_with_error(
"Could not find a webclient.\n\n"
"Please either install the matrix-angular-sdk or configure\n"
"the location of the source to serve via the configuration\n"
"option `web_client_location`\n\n"
"To install the `matrix-angular-sdk` via pip, run:\n\n"
" pip install '%(dep)s'\n"
"\n"
"You can also disable hosting of the webclient via the\n"
"configuration option `web_client`\n"
% {"dep": CONDITIONAL_REQUIREMENTS["web_client"].keys()[0]}
)
syweb_path = os.path.dirname(syweb.__file__)
webclient_path = os.path.join(syweb_path, "webclient")
# GZip is disabled here due to
# https://twistedmatrix.com/trac/ticket/7678
# (It can stay enabled for the API resources: they call
# write() with the whole body and then finish() straight
# after and so do not trigger the bug.
# GzipFile was removed in commit 184ba09
# return GzipFile(webclient_path) # TODO configurable?
return File(webclient_path) # TODO configurable?


class SynapseHomeServer(HomeServer):
def _listener_http(self, config, listener_config):
port = listener_config["port"]
Expand All @@ -122,10 +92,7 @@ def _listener_http(self, config, listener_config):
handler = handler_cls(config, module_api)
resources[path] = AdditionalResource(self, handler.handle_request)

if WEB_CLIENT_PREFIX in resources:
root_resource = RootRedirect(WEB_CLIENT_PREFIX)
else:
root_resource = Resource()
root_resource = RootRedirect(STATIC_PREFIX)

root_resource = create_resource_tree(resources, root_resource)

Expand Down Expand Up @@ -167,6 +134,11 @@ def _configure_named_resource(self, name, compress=False):
dict[str, Resource]: map from path to HTTP resource
"""
resources = {}
if name == "webclient":
# redirect old webclients to root
logger.warn("DEPRECATED: Handling of webclient got removed from synapse.")
resources[WEB_CLIENT_PREFIX] = Redirect(STATIC_PREFIX)

if name == "client":
client_resource = ClientRestResource(self)
if compress:
Expand Down Expand Up @@ -213,9 +185,6 @@ def _configure_named_resource(self, name, compress=False):
SERVER_KEY_V2_PREFIX: KeyApiV2Resource(self),
})

if name == "webclient":
resources[WEB_CLIENT_PREFIX] = build_resource_for_web_client(self)

if name == "metrics" and self.get_config().enable_metrics:
resources[METRICS_PREFIX] = MetricsResource(self)

Expand Down
16 changes: 2 additions & 14 deletions synapse/config/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ class ServerConfig(Config):
def read_config(self, config):
self.server_name = config["server_name"]
self.pid_file = self.abspath(config.get("pid_file"))
self.web_client = config["web_client"]
self.web_client_location = config.get("web_client_location", None)
self.soft_file_limit = config["soft_file_limit"]
self.daemonize = config.get("daemonize")
self.print_pidfile = config.get("print_pidfile")
Expand Down Expand Up @@ -79,7 +77,7 @@ def read_config(self, config):
bind_host = config.get("bind_host", "")
gzip_responses = config.get("gzip_responses", True)

names = ["client", "webclient"] if self.web_client else ["client"]
names = ["client"]

self.listeners.append({
"port": bind_port,
Expand Down Expand Up @@ -182,15 +180,6 @@ def default_config(self, server_name, **kwargs):
#
# cpu_affinity: 0xFFFFFFFF

# Whether to serve a web client from the HTTP/HTTPS root resource.
web_client: True

# The root directory to server for the above web client.
# If left undefined, synapse will serve the matrix-angular-sdk web client.
# Make sure matrix-angular-sdk is installed with pip if web_client is True
# and web_client_location is undefined
# web_client_location: "/path/to/web/root"

# The public-facing base URL for the client API (not including _matrix/...)
# public_baseurl: https://example.com:8448/

Expand Down Expand Up @@ -242,7 +231,6 @@ def default_config(self, server_name, **kwargs):
# List of resources to host on this listener.
names:
- client # The client-server APIs, both v1 and v2
- webclient # The bundled webclient.

# Should synapse compress HTTP responses to clients that support it?
# This should be disabled if running synapse behind a load balancer
Expand All @@ -269,7 +257,7 @@ def default_config(self, server_name, **kwargs):
x_forwarded: false

resources:
- names: [client, webclient]
- names: [client]
compress: true
- names: [federation]
compress: false
Expand Down
3 changes: 0 additions & 3 deletions synapse/python_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,6 @@
"phonenumbers>=8.2.0": ["phonenumbers"],
}
CONDITIONAL_REQUIREMENTS = {
"web_client": {
"matrix_angular_sdk>=0.6.8": ["syweb>=0.6.8"],
},
"preview_url": {
"netaddr>=0.7.18": ["netaddr"],
},
Expand Down
50 changes: 0 additions & 50 deletions synapse/static/client/login/index.html

This file was deleted.

4 changes: 0 additions & 4 deletions synapse/static/client/login/js/jquery-2.1.3.min.js

This file was deleted.

153 changes: 0 additions & 153 deletions synapse/static/client/login/js/login.js

This file was deleted.

Binary file removed synapse/static/client/login/spinner.gif
Binary file not shown.
Loading