22 Commits

Author SHA1 Message Date
Clark Boylan
20d61cd8b9 Upgrade etherpad to v2.2.7
This appears to be a very minor update from 2.2.6 (as far as I can tell
dockerfile and settings haven't changed). The changelog indicates that
important changes were rewritten to use react 19 and react router v7.
Other than that only dependency updates were made.

  https://github.com/ether/etherpad-lite/blob/v2.2.7/CHANGELOG.md

Change-Id: I48e8914ffa7026e35b6341628a709301c6a61c26
2025-01-28 12:59:37 -08:00
Clark Boylan
deb04db7f4 Update etherpad to v2.2.6
This appears to be a small update compared to other recent updates. In
particular the dockerfile has not changed and neither have the
settings.json files. The changelog can be found here:

  https://github.com/ether/etherpad-lite/blob/v2.2.6/CHANGELOG.md

The only notable update there is that pads can be deleted by their
creators. I suspect this is a noop for us since we don't do
authenticated access, but we should check with a held node.

Change-Id: I4e935828912d004eb7694e981926557db8b26e56
2024-10-28 16:13:36 -07:00
Clark Boylan
1fd4deb76d Update Etherpad to v2.2.5
After the 2.2.4 release we upgraded to a development commit between
2.2.4 and the future (at that time non existant) 2.2.5 release to fix
integration between meetpad and etherpad. Now there is a proper 2.2.5
and we should update to get off the dev commit.

This release fixes a number of bugs, updates dependencies, and adds
proper swagger documentation for the API. The "complete" changelog can
be seen here:
  https://github.com/ether/etherpad-lite/blob/v2.2.5/CHANGELOG.md

Note that I don't believe the API has changed they are merely
documenting it properly using swagger. Our testing should confirm.
To expose the new swagger documentation we do add /api-docs/ and
/api-docs.json to our proxy exclusion list.

We also update our settings.json files to sync with upstream. This pulls
in a new `updateServer` key value pair to set the location that should
be checked by etherpad to determine if there is a newer version
available. I believe this behavior has existing for years they are just
now making it a bit more configurable. Unfortunately the way this value
is used I think we will do a local file lookup if we set the value to
"". I've stuck with the default since this shouldn't be a regression and
we can try to disable it later.

Change-Id: I73a09a0c79db18887cb1703c84f9aebae6f072eb
2024-09-23 10:29:15 -07:00
Clark Boylan
64d3f79fc4 Update etherpad to current develop branch state
This updates etherpad to the current develop branch state
(commit 08f199178d2932cc0ec956aaeb3f62e8a535598a) to pull in a fix after
the v2.2.4 release and before v2.2.5. Specifically we're interested in a
fix for embedding etherpad as we do with meetpad.

If a 2.2.5 release is pushed before this lands we should switch over to
that instead.

Change-Id: I497c6b434dae54ed808f62143a4c12fb42cc2c47
2024-09-13 08:56:29 -07:00
Clark Boylan
39d8d6ffb5 Update etherpad to 2.2.4
There are 2.2.0 and 2.2.1 tags but no built releases and they don't show
up in the changelog for 2.2.2 either. Thats fine we can ignore them and
upgrade to latest (2.2.4) instead. The changelog for 2.2.4 can be found
here:

  https://github.com/ether/etherpad-lite/blob/v2.2.4/CHANGELOG.md

Notable this changes how plugins are loaded into the js shipped to the
browser. We should confirm that our plugins are working as expected as
part of this update.

On the config management side of things there are some small updates to
the Dockerfile to sync up with upstream changes to how etherpad is
built. We also update the settings json file to configure log type. Note
this change was only made to the normal settings file and not the docker
settings file upstream so we match that in this change as well.

Finally we also update our mod_rewrite rules in apache to prevent new
javascript loading locations from being redirected to /p/
inappropriately. Previously we were redirecting foo.min.js to
/p/foo.min.js which caused the server to return html instead of js which
led to syntax errors. This then resulted in js errors from the
ep_headings plugin. It appears this plugin is ancient and no longer
maintained and seems to rely on require() functionality that was removed
from etherpad in 2.2.2. We switch to the ep_headings2 plugin instead.
This will allow us to file bugs against maintained software should
problems persist.

Fungi tested ep_headings2 against our production db content and things
seem to work despite this issue existing [0]. We should upgrade
carefully but it seems like things will likely be functional.

We should also check if these redirect rules affect meetpad as well. But
this can likely be done after the upgrade.

[0] https://github.com/ether/ep_headings2/issues/4

Change-Id: I4a907b5170d3612f4525153a0a07c291d6481a92
2024-09-09 08:45:36 -07:00
Clark Boylan
8cde4966a7 Tag etherpad images with version
We'll continue to deploy 'latest' but we tag the etherpad version
explicitly in order to make rollbacks simpler if necessary. Etherpad has
seen a resurgence in development which has led to some potentially
painful upgrade paths that we need to accomodate. Having rollbacks be
possible is a nice safety net.

Change-Id: I3ea59c1e4b33d777fae356d377773a4a60e9313e
2024-09-09 08:32:41 -07:00
Clark Boylan
2192d2d62d Upgrade to etherpad 2.1.1
This newer version actually restores APIKEY authentication, but we
already converted to oauth2.0 so we don't revert. Otherwise it seems
like there are a number of small fixes. Full change log here:

  https://github.com/ether/etherpad-lite/blob/v2.1.1/CHANGELOG.md

In this change we resync configuration template files which results in a
few small updates. We also realign the dockerfile with upstream which
also results in a few small updates one of which is bumping the nodejs
version to 22 from 20.

Change-Id: I39664fde59a7cc9fdf2451d41018ae11b9e99b79
2024-07-08 09:02:54 -07:00
Tony Breeds
c341d6b403 Force new build of the etherpad container
Change-Id: I77dfef77a18f0480c8a62836b01336c592a02018
2024-05-02 15:52:21 -05:00
Clark Boylan
b2607979ab Update etherpad to v2.0.3
This updates changes how Etherpad is built and how authentication is
managed for API requests. This ends up changing a lot of our tooling
around etherpad but etherpad itself (other than the auth changes)
doesn't seem to change much. In response to this I update our admin docs
on common api tasks to use the new process. Then update our testinfra
testing as well to cover that to ensure it all continues to work
properly after this change.

Note the Dockerfile updates are all adapted from upstream. I'm actually
not fond of the decisions they have made in this image build, but being
in sync is probably more important than fixing the multistage builds and
being different.

This change jumps us from v1.9.7 to 2.0.3 (covers releases 2.0.0, 2.0.1,
and 2.0.2 too). A changelog can be found here:

  https://github.com/ether/etherpad-lite/blob/v2.0.3/CHANGELOG.md

Change-Id: Ia7c4f26d893b4fc4a178262e1a6b9f3fa80d2a5c
2024-04-29 14:17:55 -07:00
Clark Boylan
a53dcc8a7d Update etherpad to 1.9.7
This change updates etherpad to version 1.9.7 from 1.9.6. The
changelog [0] is minimal, but does indicate there are changes to plugin
installations. Looking at the upstream Dockerfile, which we based our
Dockerfile on, there are no changes between 1.9.6 and 1.9.7 implying
this plugin installation update is transparent to us. That said we
should hold a node and test that our plugins are working as expected.

[0] https://github.com/ether/etherpad-lite/blob/v1.9.7/CHANGELOG.md

Change-Id: Ie708299fae39549f048f37938daa60668189be67
2024-02-07 09:34:46 -08:00
Clark Boylan
3e6c282d54 Update to etherpad 1.9.6
The changelog [0] indicates this is largely a bugfix and image build
update. We update our image build accordingly.

[0] https://github.com/ether/etherpad-lite/blob/v1.9.6/CHANGELOG.md

Change-Id: I439aa41eaee1dd7825d41ea3da9b1903fa27fa44
2024-01-31 10:55:17 -08:00
Clark Boylan
a0089cfac6 Upgrade to etherpad 1.9.5
This bumps etherpad to 1.9.5. The changelog is minimal for this update,
but upstream switches to nodejs 20 by default so we make the same update
here. We also remove TidyHTML configs from our configs to match upstream
updates that did the same thing. Complete release notes can be found
here:

  https://github.com/ether/etherpad-lite/blob/v1.9.5/CHANGELOG.md

We should hold a node and test functionality before merging this change.

Change-Id: Ib6cd888f35624490f630e091f184946e9c4e48aa
2024-01-02 08:41:39 -08:00
Jeremy Stanley
b5d32d39cd Upgrade Etherpad to 1.9.4
The changelogs can be found here:

https://github.com/ether/etherpad-lite/blob/v1.9.3/CHANGELOG.md#193
https://github.com/ether/etherpad-lite/blob/v1.9.4/CHANGELOG.md#194

There doesn't appear to be anything relevant to our deployment in
these updates other than bug fixes and library version increases,
but upgrading now will reduce future deltas.

Change-Id: Ic1629bf8cb140c33a641e1c613d43e8a9d4d0f1e
2023-11-01 18:53:42 +00:00
Clark Boylan
9f0b4b7df9 Upgrade Etherpad to 1.9.2
The day after we upgrade to 1.9.1 we've got a new release. That is just
how it goes sometimes. The changelog can be found here:

  https://github.com/ether/etherpad-lite/blob/v1.9.2/CHANGELOG.md#192

Should be fairly straightforward to update to. I did make a minor change
to set a production build flag for the installDeps.sh script (which
lives upstream) so that we'll get a more production quality build in the
end. The updates to installDeps.sh happened in the 1.9.2 release so
there is no need to do this outside of the 1.9.2 upgrade.

Change-Id: Ia22ebd3c01393af5a7e593ceb64fc7c63ad46ffa
2023-08-17 10:48:17 -07:00
Clark Boylan
f09cf95c3e Update etherpad to 1.9.1
Update etherpad to 1.9.1 via updates to our downstream Dockerfile. These
updates should match the upstream Dockerfile pretty closely.

We use the node:18-bookworm-slim image to align with upstreams
node:18-slim image (but we are specific about the platform).
We add a configurable TIMEZONE section from upstream that we don't use
but keeps us in sync. Finally we updated our settings to for userName
and userColor to be null to match upstream defaults. Keeping the old
false values creates odd behavior around choosing names and colors when
first joining a pad.

Change-Id: Ic87d6f9d524515397386b32c147681d128d972cc
2023-07-16 16:50:27 -07:00
Clark Boylan
6cd52a9ee4 Update etherpad to 1.8.18
This appears to be a minor bugfix update, but there is no reason for us
to fall behind. Changelog can be found at:

  https://github.com/ether/etherpad-lite/blob/1.8.18/CHANGELOG.md#1818

Change-Id: If675da1f3599898bddcc41a4aeb9ef9e9c2fc281
2022-05-06 09:09:36 -07:00
Clark Boylan
48d8f27101 Update Etherpad to 1.8.17
This brings bug fixes and performance improvements.

Change-Id: I9df00f68ea4062f318affc7cb73f5a20d2db46d8
2022-02-24 09:09:51 -08:00
Clark Boylan
ce67fad1f5 Update etherpad to 1.18.16
This updates our etherpad image to version 1.18.16. To do this we've had
to adopt the upstream Dockerfile locally and introduce our own edits as
upstream hasn't build images for this release or the previous one.

Minor updates are made to the upstream Dockerfile to update the
maintainer directive and convert from using a local copy of the source
code to a git clone.

Change-Id: I561680072085caff751e08b6f2fd79dee1d4efe8
2021-11-29 08:44:55 -08:00
Clark Boylan
5f51af5974 Upgrade etherpad to 1.8.14
This upgrades etherpad to 1.8.14 which will pull in a number of fixes as
well as dropped support for IE.

Change-Id: If9a85d3b606af700da1ab34f1a893d9c3b5f8416
2021-08-12 08:31:54 -07:00
Clark Boylan
43778c9f19 Patch etherpad console logging to fix cross origin error
Etherpad 1.8.4 added console logging that breaks iframes like those used
by meetpad when logging. THis means many etherpads work fine and only
have an issue when logging is tripped.

We fix this by adding patch files based on the upstream fix,
00b6a1d9fe,
cherrypicked to 1.8.4 and then diffed. The reason we don't just use git
is that while the installation in the upstream image is a git repo there
is not git installation and adding in patch keeps our image small.

We also convert the existing css fix to using patch for consistency.

Change-Id: I7eed0d74c40141255cbff62069a83144feef6b61
2020-07-17 10:49:15 -07:00
Jeremy Stanley
78781ecfa0 Upgrade Etherpad to 1.8.4
Release notes for 1.8.3 and 1.8.4 mention a number of useful fixes
(there was no 1.8.1 nor 1.8.2). In particular, a workaround was
included for a known source of client-side hangs (some of our broken
"loading..." pads appear to exhibit similar log entries suggesting
this could address that long-standing problem). Unfortunately, in
the breaking changes, it's noted that plugin compatibility may be
impacted so we should test the one plugin we're using to make sure
it's still okay.

We force the skinName setting to no-skin as the default has changed
to colibris in 1.8.3. We don't want colibris, at least not yet, as it
breaks our existing headings plugin.

We also make a small change to the css in the editor so that each line
has its text fully rendered. See https://github.com/ether/etherpad-lite/issues/4106
for more details.

Change-Id: Ieae29a1d0fe28f879abd35b191291357bb5d3f2c
2020-06-11 10:26:45 -07:00
Monty Taylor
7657b69387 Build and use our own etherpad image
We need to install the ep_headings plugin. We've got a hack in place
to do it in prod, but it seems like every time we npm install the
plugin in ansible, we need to restart the etherpad container
for $reasons.

It's cleaner to just build an image based on upstream with ep_headings
installed.

Change-Id: Id3b31bbabbbc5f6dcfe56486e48916384292f693
2020-04-13 08:07:09 -05:00