Commit graph

1920 commits

Author SHA1 Message Date
SamTV12345
8a66b04b68
chore: Added client credentials grant for API calling from services. (#6325)
* chore: Added client credentials grant for API calling from services.

* chore: Added authentication documentation
2024-04-13 10:32:23 +02:00
SamTV12345
820d728ce6 fix: Add local issuer by default. 2024-04-03 20:19:20 +02:00
reallylowest
ed1c5dd184
chore: remove repetitive words (#6290)
Signed-off-by: reallylowest <sunjinping@outlook.com>
2024-04-01 16:47:51 +02:00
SamTV12345
fb56809e55
Feat/oauth2 (#6281): Added oauth to API paths
* Added oauth provider.

* Fixed provider.

* Added auth flow.

* Fixed auth flow and added scaffolding vite config.

* Added working oauth2.

* Fixed dockerfile.

* Adapted run.sh script

* Moved api tests to oauth2.

* Updated security schemes.

* Removed api key from existance.

* Fixed installation

* Added missing issuer in config.

* Fixed dev dependencies.

* Updated lock file.
2024-03-26 17:11:24 +01:00
SamTV12345
bf7cd11b59
Added env configuration for plugins
* Added env.

* Added tree config.

* Added tree.

* Fixed settings test.

* Added test cases.
2024-03-21 18:50:02 +01:00
SamTV12345
e61e8ebd9e Fixed no Basic Auth being absent 2024-03-20 08:43:52 +01:00
SamTV12345
d7869f5014
Fixed cache server not working due to wrong (#6236) 2024-03-17 23:28:58 +01:00
SamTV12345
46b6650528 Bumped minimum node version. 2024-03-16 23:33:14 +01:00
Stefan Müller
fe106f0afc
Improve plugins docker build and fixed plugin loading when dependencies are specified (#6164)
* Install pnpm only local - not global

* Install plugins during docker build with live-plugin-manager

* Migrated installer to ts.

* Added missing workspace script.

* Fixed docker build.

* Fix Dockerfile

* Fixed installer not being yet initialized.

* Ported installer to correct install path.

* Fixed pnpm installation.

* Fixed docker build.

* Fixed plugin loading.

* Fixed plugins not being able to be loaded.

* Fix plugin installation instructions in README

* Fixed startup.

* Fixed folder not present.

* Added unlinking dependencies.

* Added deleting dependencies.

* Fixed listing plugins.

---------

Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
2024-03-14 16:06:32 +01:00
SamTV12345
4add6eb313 Use express for static side hosting. 2024-03-13 10:48:51 +01:00
SamTV12345
29c776d30d Fixed kickSessions method. 2024-03-12 17:45:18 +01:00
SamTV12345
d8e0975f97
Fixed admin tests
* Increased timeout.

* Wait for disconnect only if no admintest.
2024-03-11 08:00:16 +01:00
SamTV12345
c2699e4528
Added playwright tests. (#6212)
* Added playwright tests.

* Added clear authorship color.

* Ported enter ts.

* Ported more tests.

* Commented helper tests.

* Fixed admin tests.

* Fixed.

* Fixed admin pages not there.

* Fixed waiting.

* Upload playwright report.

* Remove saucelabs

* Fixed waiting.

* Fixed upload artifact.

* Also install deps.

* Added retry mechanism.

* Added timeout for restart etherpad server.

* Fixed tests.

* Added frontend playwright tests.
2024-03-10 23:18:50 +01:00
SamTV12345
db46ffb63b
Feat/admin react (#6211)
* Added vite react admin ui.

* Added react i18next.

* Added pads manager.

* Fixed docker build.

* Fixed windows build.

* Fixed installOnWindows script.

* Install only if path exists.
2024-03-09 23:07:09 +01:00
SamTV12345
d34b964cc2
Fixed frontend tests. (#6210)
* Fixed frontend tests.

* Use old socket io syntax.

* uSE ESM:

* Remove padvar.

* Remove cypress.
2024-03-08 18:50:29 +01:00
Hossein Marzban
4887cd952a
Revise transport Socket.io@3/4 (#6188)
* feat :migrate socket.io 2 -> 3

* fix: backend test

* fix: ts error

* rm

* reset the test timeout

* fix: socket transports

* fix: ts

* fix: merge

* fix: merge

* resolve merge

* clean

* clean
2024-02-25 12:03:55 +01:00
SamTV12345
04cc3c8d54 Fixed websocket connection. 2024-02-24 13:40:25 +01:00
SamTV12345
295a2a758b
Added backend in typescript. (#6185) 2024-02-23 19:48:55 +01:00
SamTV12345
546ede284c
Converted tests to typescript. (#6181)
* Converted tests to typescript.

* Run all tests.

* Fixed tests.

* Removed cypress from every installation.

* Use cache for libreoffice.

* Fixed cypress install.

* Fixed cypress install.
2024-02-22 18:31:17 +01:00
SamTV12345
4bd27a1c79
Moved more classes to ts. (#6179) 2024-02-22 11:36:43 +01:00
SamTV12345
a8ff9d5667 Fixed admin panel from not loading 2024-02-19 22:29:33 +01:00
Hossein Marzban
b2be2ca714
Migrate Socket.IO from Version 2 to Version 3 🚀 (#6152)
* feat :migrate socket.io 2 -> 3

* fix: backend test

* fix: ts error

* rm

* reset the test timeout

* Updated cli client.

* Updated lock file.

* Use updated load tester.

---------

Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
2024-02-17 21:36:26 +01:00
SamTV12345
ead3c0ea38
Added typescript to etherpad
* Fixed determining file extension.

* Added ts-node

* Fixed backend tests.

* Fixed frontend test runs.

* Fixed tests.

* Use script approach for starting etherpad.

* Change directory to src.

* Fixed env.

* Change directory

* Fixed build arg.

* Fixed docker build.

* Fixed.

* Fixed cypress file path.

* Fixed.

* Use latest node container.

* Fixed windows workflow.

* Use tsx and optimized docker image.

* Added workflow for type checks.

* Fixed.

* Added tsconfig.

* Converted more files to typescript.

* Removed commented keys.

* Typed caching middleware.

* Added script for checking the types.

* Moved SecretRotator to typescript.

* Fixed npm installation and moved to types folder.

* Use better scripts for watching typescript changes.

* Update windows.yml

* Fixed order of npm installation.

* Converted i18n.

* Added more types.

* Added more types.

* Fixed import.

* Fixed tests.

* Fixed tests.

* Fixed type checking test.

* Fixed stats

* Added express types.

* fixed.
2024-02-05 21:13:02 +01:00
SamTV12345
9e2c4bf781
Fixed favicon not being loaded from url. (#6113)
* Fixed favicon not being loaded from url.

* Fixed tests.
2024-01-20 23:11:52 +01:00
SamTV12345
1a61994c61
Fixed determining file extension. (#6111) 2024-01-18 22:43:21 +01:00
Stefan
9c14a4f7db
Live plugin manager (#6018)
* Added plugin live view.

* Implemented PoC for managing plugins with live-plugin-manager

* Add migration for plugins installed in node_modules and load plugins on start

* Create installed_plugins.json even if no plugin is installed

* Reload plugins and hooks after all (un)installs are done

* Add installed_plugins.json to gitignore

* Only write plugins to json file in Dockerfile

* Install live-plugin-manager

* Also persist plugin version

* Do not call hooks during migration of plugins

* Fix install of plugins in Dockerfile

* Revert Dockerfile changes

* Fixed package-lock.json

---------

Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
Co-authored-by: Hossein M <marzban98@gmail.com>
2024-01-14 11:54:57 +01:00
SamTV12345
6a2ffe6aaf
Added error handling if an unknown language code is entered. (#6102) 2024-01-13 16:23:21 +01:00
SamTV12345
51def0eba6
fix: The log level is now respected again. (#6076) 2023-12-17 22:13:13 +01:00
SamTV12345
d5fc948705
Removed tidy html. (#6039) 2023-11-15 19:27:34 +01:00
SamTV12345
c7cb2e663c Fixed documentation of Cli.js 2023-10-29 08:55:54 +01:00
SamTV12345
f649b1e6f7
Fix/log4js (#5766)
* Updated log4js

* Updated log4js version.

* Removed requests and moved to axios.

* Fixed startup.

* Fixed windows dependency install.

* Fixed import export rate limiter.

* Fixed all log levels.
2023-10-22 18:26:58 +02:00
SamTV12345
ff1b929eb2
Added jsdoc for the node part of etherpad. (#5983) 2023-10-17 12:49:56 +02:00
Stefan
f9a3a6aaae
Improve update check (#5945)
* Send etherpad version in update check request
* Cache etherpad informations for one hour
* Change format of User-Agent
* Improve exception handling
2023-09-25 13:05:33 +02:00
SamTV12345
efdf9dbe36
Fixed session key rotation problem with a default empty array on null value. (#5896) 2023-08-29 18:00:14 +02:00
avkarenow
89201632ca
Call exports.start() for Phusion Passenger (#5866) 2023-08-08 14:03:50 +02:00
dependabot[bot]
4da66d19dc
build(deps): bump formidable from 2.1.2 to 3.5.0 in /src (#5796)
* build(deps): bump formidable from 2.1.2 to 3.5.0 in /src

Bumps [formidable](https://github.com/node-formidable/formidable) from 2.1.2 to 3.5.0.
- [Release notes](https://github.com/node-formidable/formidable/releases)
- [Changelog](https://github.com/node-formidable/formidable/blob/master/CHANGELOG.md)
- [Commits](https://github.com/node-formidable/formidable/commits/v3.5.0)

---
updated-dependencies:
- dependency-name: formidable
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* formidable migration

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John McLear <john@mclear.co.uk>
2023-08-05 15:48:23 +02:00
webzwo0i
4cf1be966d
fix appendRevision (#5805)
* test cov

* Added test for checking if a new pad can be created and deleted.

---------

Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
2023-07-29 18:38:52 +02:00
Richard Hansen
2bb431e7e5
express-session: Implement and enable key rotation (#5362) by @rhansen
* SecretRotator: New class to coordinate key rotation

* express-session: Enable key rotation

* Added new entry in docker.adoc

* Move to own package.Removed fallback as Node 16 is now lowest node version.

* Updated package-lock.json

---------

Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
2023-07-03 22:58:49 +02:00
DanielHabenicht
675c0130b9
allow option to make pad names case-insensitive (#5501) by @DanielHabenicht
* New option to make pad names case-insensitive

fixes #3844

* fix helper.gotoTimeslider()

* fix helper.aNewPad() return value

* Update src/node/utils/Settings.js

Co-authored-by: Richard Hansen <rhansen@rhansen.org>

* remove timeout

* rename enforceLowerCasePadIds to lowerCasePadIds

* use before and after hooks

* update with socket specific test

* enforce sanitizing padID for websocket connections

- only enforce for newly created pads, to combat case-sensitive pad name hijacking

* Added updated package.json file.

---------

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
2023-07-03 20:52:49 +02:00
SamTV12345
6ee4d3daaa Fixed password with only numbers being rejected. 2023-07-02 17:48:16 +02:00
SamTV12345
049231e4af
Feature/axios (#5776)
* Move from deprecated request package to axios.

* Fixed package.json

* Another check.

* Fixing npm - hopefully the last.

* Remove double parsing of JSON.

* Bump bundled npm to also get rid of request in the bundled npm.

* Revert "Bump bundled npm to also get rid of request in the bundled npm."

This reverts commit b60fa4f435.
2023-06-27 21:20:53 +02:00
John McLear
1e98033632
Security: Fix revision parsing (#5772)
A carefully crated URL can cause Etherpad to hang.
2023-06-26 18:17:06 +01:00
Chocobozzz
f456606015 Prevent infinite loop when exiting 2023-06-20 14:13:24 +01:00
webzwo0i
ed5e8997d7 Fix: Plugin locales should overwrite core's locales 2023-06-20 13:51:01 +01:00
Richard Hansen
2facf3a0c5 ExportEtherpad: New importEtherpad, exportEtherpad hooks 2022-05-06 02:54:34 -04:00
Richard Hansen
44fd70491d ImportEtherpad: Batch database writes 2022-05-05 20:49:52 -04:00
Richard Hansen
c1652fd695 ImportEtherpad: Process records in batches
This enables ueberdb to combine multiple queries into a single message
to the database backend.
2022-05-05 20:49:52 -04:00
Richard Hansen
10117bc988 ImportEtherpad: Use a real ueberdb object for the temp Pad
Now plugin authors have access to the full set of DB operations.
2022-05-05 20:49:52 -04:00
Richard Hansen
6a183db850 ExportEtherpad: Parallelize record reads 2022-05-05 19:33:21 -04:00
Richard Hansen
88c0ab8255 ExportEtherpad: Support custom subkeys 2022-05-05 19:33:21 -04:00