Skip to content

Commit c45b7a3

Browse files
committed
Merge branch 'develop'
2 parents 8fa708a + de9c1f0 commit c45b7a3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2056
-1871
lines changed

.github/workflows/backend-tests.yml

+4-6
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
uses: actions/setup-node@v4
3434
with:
3535
node-version: ${{ matrix.node }}
36-
- uses: pnpm/action-setup@v3
36+
- uses: pnpm/action-setup@v4
3737
name: Install pnpm
3838
with:
3939
version: 9.0.4
@@ -90,7 +90,7 @@ jobs:
9090
uses: actions/setup-node@v4
9191
with:
9292
node-version: ${{ matrix.node }}
93-
- uses: pnpm/action-setup@v3
93+
- uses: pnpm/action-setup@v4
9494
name: Install pnpm
9595
with:
9696
version: 9.0.4
@@ -133,7 +133,6 @@ jobs:
133133
ep_font_size
134134
ep_hash_auth
135135
ep_headings2
136-
ep_image_upload
137136
ep_markdown
138137
ep_readonly_guest
139138
ep_set_title_on_pad
@@ -160,7 +159,7 @@ jobs:
160159
uses: actions/setup-node@v4
161160
with:
162161
node-version: 20
163-
- uses: pnpm/action-setup@v3
162+
- uses: pnpm/action-setup@v4
164163
name: Install pnpm
165164
with:
166165
version: 9.0.4
@@ -213,7 +212,7 @@ jobs:
213212
uses: actions/setup-node@v4
214213
with:
215214
node-version: 21
216-
- uses: pnpm/action-setup@v3
215+
- uses: pnpm/action-setup@v4
217216
name: Install pnpm
218217
with:
219218
version: 9.0.4
@@ -249,7 +248,6 @@ jobs:
249248
ep_font_size
250249
ep_hash_auth
251250
ep_headings2
252-
ep_image_upload
253251
ep_markdown
254252
ep_readonly_guest
255253
ep_set_title_on_pad

.github/workflows/build-and-deploy-docs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
uses: actions/checkout@v4
3636
- name: Setup Pages
3737
uses: actions/configure-pages@v5
38-
- uses: pnpm/action-setup@v3
38+
- uses: pnpm/action-setup@v4
3939
name: Install pnpm
4040
with:
4141
version: 9.0.4

.github/workflows/docker.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
uses: actions/setup-node@v4
4545
with:
4646
node-version: 'lts/*'
47-
- uses: pnpm/action-setup@v3
47+
- uses: pnpm/action-setup@v4
4848
name: Install pnpm
4949
with:
5050
version: 9.0.4

.github/workflows/frontend-admin-tests.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
uses: actions/setup-node@v4
3535
with:
3636
node-version: ${{ matrix.node }}
37-
- uses: pnpm/action-setup@v3
37+
- uses: pnpm/action-setup@v4
3838
name: Install pnpm
3939
with:
4040
version: 9.0.4
@@ -85,7 +85,7 @@ jobs:
8585
run: "sed -i 's/\"enableAdminUITests\": false/\"enableAdminUITests\": true,\\n\"users\":{\"admin\":{\"password\":\"changeme1\",\"is_admin\":true}}/' settings.json"
8686
-
8787
name: increase maxHttpBufferSize
88-
run: "sed -i 's/\"maxHttpBufferSize\": 10000/\"maxHttpBufferSize\": 10000000/' settings.json"
88+
run: "sed -i 's/\"maxHttpBufferSize\": 50000/\"maxHttpBufferSize\": 10000000/' settings.json"
8989
-
9090
name: Disable import/export rate limiting
9191
run: |

.github/workflows/frontend-tests.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
uses: actions/setup-node@v4
2828
with:
2929
node-version: 21
30-
- uses: pnpm/action-setup@v3
30+
- uses: pnpm/action-setup@v4
3131
name: Install pnpm
3232
with:
3333
version: 9.0.4
@@ -93,7 +93,7 @@ jobs:
9393
- uses: actions/setup-node@v4
9494
with:
9595
node-version: 21
96-
- uses: pnpm/action-setup@v3
96+
- uses: pnpm/action-setup@v4
9797
name: Install pnpm
9898
with:
9999
version: 9.0.4
@@ -160,7 +160,7 @@ jobs:
160160
uses: actions/setup-node@v4
161161
with:
162162
node-version: 21
163-
- uses: pnpm/action-setup@v3
163+
- uses: pnpm/action-setup@v4
164164
name: Install pnpm
165165
with:
166166
version: 9.0.4

.github/workflows/load-test.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
uses: actions/setup-node@v4
3030
with:
3131
node-version: 20
32-
- uses: pnpm/action-setup@v3
32+
- uses: pnpm/action-setup@v4
3333
name: Install pnpm
3434
with:
3535
version: 9.0.4
@@ -73,7 +73,7 @@ jobs:
7373
uses: actions/setup-node@v4
7474
with:
7575
node-version: 20
76-
- uses: pnpm/action-setup@v3
76+
- uses: pnpm/action-setup@v4
7777
name: Install pnpm
7878
with:
7979
version: 9.0.4
@@ -144,7 +144,7 @@ jobs:
144144
uses: actions/setup-node@v4
145145
with:
146146
node-version: 20
147-
- uses: pnpm/action-setup@v3
147+
- uses: pnpm/action-setup@v4
148148
name: Install pnpm
149149
with:
150150
version: 9.0.4

.github/workflows/perform-type-check.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- uses: actions/setup-node@v4
2727
with:
2828
node-version: 20
29-
- uses: pnpm/action-setup@v3
29+
- uses: pnpm/action-setup@v4
3030
name: Install pnpm
3131
with:
3232
version: 9.0.4

.github/workflows/rate-limit.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
uses: actions/setup-node@v4
3030
with:
3131
node-version: 20
32-
- uses: pnpm/action-setup@v3
32+
- uses: pnpm/action-setup@v4
3333
name: Install pnpm
3434
with:
3535
version: 9.0.4

.github/workflows/upgrade-from-latest-release.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
uses: actions/setup-node@v4
3636
with:
3737
node-version: ${{ matrix.node }}
38-
- uses: pnpm/action-setup@v3
38+
- uses: pnpm/action-setup@v4
3939
name: Install pnpm
4040
with:
4141
version: 9.0.4
@@ -85,7 +85,6 @@ jobs:
8585
ep_font_size
8686
ep_hash_auth
8787
ep_headings2
88-
ep_image_upload
8988
ep_markdown
9089
ep_readonly_guest
9190
ep_set_title_on_pad

.github/workflows/windows.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
uses: actions/setup-node@v4
3636
with:
3737
node-version: 21
38-
- uses: pnpm/action-setup@v3
38+
- uses: pnpm/action-setup@v4
3939
name: Install pnpm
4040
with:
4141
version: 9.0.4
@@ -129,7 +129,7 @@ jobs:
129129
uses: actions/setup-node@v4
130130
with:
131131
node-version: 20
132-
- uses: pnpm/action-setup@v3
132+
- uses: pnpm/action-setup@v4
133133
name: Install pnpm
134134
with:
135135
version: 9.0.4

CHANGELOG.md

+15-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
# 2.1.0
2+
3+
### Notable enhancements and fixes
4+
5+
- Added PWA support. You can now add your Etherpad instance to your home screen on your mobile device or desktop.
6+
- Fixed live plugin manager versions clashing. Thanks to @yacchin1205
7+
- Fixed a bug in the pad panel where pagination was not working correctly when sorting by pad name
8+
9+
### Compatibility changes
10+
11+
- Reintroduced APIKey.txt support. You can now switch between APIKey and OAuth2.0 authentication. This can be toggled with the setting authenticationMethod. The default is OAuth2. If you want to use the APIKey method you can set that to `apikey`.
12+
13+
114
# 2.0.3
215

316
### Notable enhancements and fixes
@@ -47,8 +60,8 @@
4760
- Bin folder: The bin folder has been moved from the src folder to the root folder. This change was necessary as the contained scripts do not represent core functionality of the user.
4861
- Starting Etherpad: Etherpad can now be started with a single command: `pnpm run prod` in the root directory.
4962
- Installing Etherpad: Etherpad no longer symlinks itself in the root directory. This is now also taken care by pnpm, and it just creates a node_modules folder with the src directory`s ep_etherpad-lite folder
50-
- Plugins can now be installed simply via the command: `pnpm run install-plugins first-plugin second-plugin` or if you want to install from path you can do:
51-
`pnpm run install-plugins --path ../path-to-plugin`
63+
- Plugins can now be installed simply via the command: `pnpm run plugins i first-plugin second-plugin` or if you want to install from path you can do:
64+
`pnpm run plugins i --path ../path-to-plugin`
5265

5366

5467
# 1.9.7

Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ COPY --chown=etherpad:etherpad --from=adminBuild /opt/etherpad-lite/ui/dist ./sr
120120

121121
RUN bin/installDeps.sh && \
122122
if [ ! -z "${ETHERPAD_PLUGINS}" ] || [ ! -z "${ETHERPAD_LOCAL_PLUGINS}" ]; then \
123-
pnpm run install-plugins ${ETHERPAD_PLUGINS} ${ETHERPAD_LOCAL_PLUGINS:+--path ${ETHERPAD_LOCAL_PLUGINS}}; \
123+
pnpm run plugins i ${ETHERPAD_PLUGINS} ${ETHERPAD_LOCAL_PLUGINS:+--path ${ETHERPAD_LOCAL_PLUGINS}}; \
124124
fi
125125

126126

@@ -135,7 +135,7 @@ COPY --chown=etherpad:etherpad --from=adminBuild /opt/etherpad-lite/ui/dist ./sr
135135

136136
RUN bin/installDeps.sh && rm -rf ~/.npm && rm -rf ~/.local && rm -rf ~/.cache && \
137137
if [ ! -z "${ETHERPAD_PLUGINS}" ] || [ ! -z "${ETHERPAD_LOCAL_PLUGINS}" ]; then \
138-
pnpm run install-plugins ${ETHERPAD_PLUGINS} ${ETHERPAD_LOCAL_PLUGINS:+--path ${ETHERPAD_LOCAL_PLUGINS}}; \
138+
pnpm run plugins i ${ETHERPAD_PLUGINS} ${ETHERPAD_LOCAL_PLUGINS:+--path ${ETHERPAD_LOCAL_PLUGINS}}; \
139139
fi
140140

141141

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ Alternatively, you can install plugins from the command line:
195195

196196
```sh
197197
cd /path/to/etherpad-lite
198-
pnpm run install-plugins ep_${plugin_name}
198+
pnpm run plugins i ep_${plugin_name}
199199
```
200200

201201
Also see [the plugin wiki
@@ -207,7 +207,7 @@ Run the following command in your Etherpad folder to get all of the features
207207
visible in the above demo gif:
208208

209209
```sh
210-
pnpm run install-plugins \
210+
pnpm run plugins i \
211211
ep_align \
212212
ep_comments_page \
213213
ep_embedded_hyperlinks2 \

admin/package.json

+13-12
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
{
22
"name": "admin",
33
"private": true,
4-
"version": "2.0.3",
4+
"version": "2.1.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",
88
"build": "tsc && vite build",
99
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10+
"build-copy": "tsc && vite build --outDir ../src/templates/admin --emptyOutDir",
1011
"preview": "vite preview"
1112
},
1213
"dependencies": {
@@ -15,25 +16,25 @@
1516
"devDependencies": {
1617
"@radix-ui/react-dialog": "^1.0.5",
1718
"@radix-ui/react-toast": "^1.1.5",
18-
"@types/react": "^18.2.79",
19+
"@types/react": "^18.3.2",
1920
"@types/react-dom": "^18.2.25",
20-
"@typescript-eslint/eslint-plugin": "^7.7.0",
21-
"@typescript-eslint/parser": "^7.7.0",
21+
"@typescript-eslint/eslint-plugin": "^7.11.0",
22+
"@typescript-eslint/parser": "^7.11.0",
2223
"@vitejs/plugin-react-swc": "^3.5.0",
23-
"eslint": "^9.0.0",
24+
"eslint": "^9.2.0",
2425
"eslint-plugin-react-hooks": "^4.6.0",
25-
"eslint-plugin-react-refresh": "^0.4.5",
26-
"i18next": "^23.11.2",
27-
"i18next-browser-languagedetector": "^7.2.1",
28-
"lucide-react": "^0.372.0",
26+
"eslint-plugin-react-refresh": "^0.4.7",
27+
"i18next": "^23.11.5",
28+
"i18next-browser-languagedetector": "^8.0.0",
29+
"lucide-react": "^0.381.0",
2930
"react": "^18.2.0",
3031
"react-dom": "^18.2.0",
31-
"react-hook-form": "^7.51.3",
32+
"react-hook-form": "^7.51.5",
3233
"react-i18next": "^14.1.0",
33-
"react-router-dom": "^6.22.3",
34+
"react-router-dom": "^6.23.1",
3435
"socket.io-client": "^4.7.5",
3536
"typescript": "^5.4.5",
36-
"vite": "^5.2.9",
37+
"vite": "^5.2.12",
3738
"vite-plugin-static-copy": "^1.0.3",
3839
"vite-plugin-svgr": "^4.2.0",
3940
"zustand": "^4.5.2"

admin/src/pages/PadPage.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,11 @@ export const PadPage = ()=>{
167167
}}><ChevronLeft/><span>Previous Page</span></button>
168168
<span>{currentPage+1} out of {pages}</span>
169169
<button disabled={pages == currentPage+1} onClick={()=>{
170-
setCurrentPage(currentPage+1)
170+
const newCurrentPage = currentPage+1
171+
setCurrentPage(newCurrentPage)
171172
setSearchParams({
172173
...searchParams,
173-
offset: (Number(currentPage)-1)*searchParams.limit
174+
offset: (Number(newCurrentPage))*searchParams.limit
174175
})
175176
}}><span>Next Page</span><ChevronRight/></button>
176177
</div>

bin/commonPlugins.ts

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import {PackageData} from "ep_etherpad-lite/node/types/PackageInfo";
2+
import {writeFileSync} from "fs";
3+
import {installedPluginsPath} from "ep_etherpad-lite/static/js/pluginfw/installer";
4+
const pluginsModule = require('ep_etherpad-lite/static/js/pluginfw/plugins');
5+
6+
export const persistInstalledPlugins = async () => {
7+
const plugins:PackageData[] = []
8+
const installedPlugins = {plugins: plugins};
9+
for (const pkg of Object.values(await pluginsModule.getPackages()) as PackageData[]) {
10+
installedPlugins.plugins.push({
11+
name: pkg.name,
12+
version: pkg.version,
13+
});
14+
}
15+
installedPlugins.plugins = [...new Set(installedPlugins.plugins)];
16+
writeFileSync(installedPluginsPath, JSON.stringify(installedPlugins));
17+
};

0 commit comments

Comments
 (0)