Commit graph

42 commits

Author SHA1 Message Date
SamTV12345
ffe40b82c9 Added prototype for bundling files. 2024-06-02 19:30:43 +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
b2f17cc0a9
Fix/pnpm lock (#6230)
* Updated server socket io version to 4.

* Removed old pnpm locks.
2024-03-15 23:05:25 +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
3ea6f1072d Add main pnpm-lock.yaml to gitignore. 2024-02-22 09:59:53 +01:00
JannikStreek
04063d664b
cleanup after workspace refactoring (#6174)
* fix bin folder and workflows as far its possible

cleanup of dockerfile

changed paths of scripts

add lock file

fix working directory for workflows

fix windows bin

fix travis (is travis used anyway?)

fix package refs

remove pnpm-lock file in root as these conflicts with the docker volume setup

optimize comments

use install again

refactor prod image call to run

fix --workspace can only be used inside a workspace

correct comment

try fix pipeline

try fix pipeline for upgrade-from-latest-release

install all deps

smaller adjustments

save

update dockerfile

remove workspace command

fix run test command

start repair latest release workflow

start repair latest release workflow

start repair latest release workflow

further repairs

* remove test plugin from docker compose
2024-02-21 21:50:11 +01:00
JannikStreek
03c8518e66
add docker dev setup (#6155)
* fix docker setup

* wording fix

* remove production env

* remove unneeded docker parts

* fix image size

* add readme

* add dev readme

* further refactoring

* make version work

* cleanup ignore

* refactor commit

* fix pnpm mount
2024-02-16 20:58:27 +01:00
SamTV12345
361b38ae50
Added pnpm (#6148)
* Added pnpm

* Removed cache for npm.

* Fixed.

* Added pnpm

* Fixed install script.

* Fixed windows script.

* Fixed.

* Fixed.

* Fixed install.

* Only install direct dependencies.

* Only install direct dependencies.

* Only install direct dependencies.

* Fixed windows build.

* fixed.

* fixed deploy.

* Fixed docker build.

* Fixed windows deploy

* Fixed docker build

* Fixed healthcheck.

* fixed.

* Fixed detection of live plugin managers dependencies.

* fixed.

* Remove Node 19 as it is not supported.

* Fixed.

* Fixed installDeps.sh

* Fixed.

* Fixed windows install.

* Fixed cypress path.

* Fixed.

* Run etherpad in background.

* Install cypress.
2024-02-11 09:51:42 +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
Richard Hansen
52dd6a26bc Windows build: Rename the .exe for consistency 2022-05-14 17:46:32 -04:00
Richard Hansen
8a2ef69873 Windows build: Move NSIS installer script to this repo 2022-05-14 17:46:32 -04:00
Richard Hansen
e71f69ec72 Windows build: Rename zip to etherpad-win.zip 2022-05-14 17:45:30 -04:00
Richard Hansen
085bc8cbb3 plugins: Don't create .ep_initialized files
These files cause problems with Docker images and read-only
directories/mounts, and they have dubious value (any install-time
setup should instead be done at startup).
2021-11-13 17:43:33 -05:00
Richard Hansen
da10d42183 Delete top-level package.json
Advantages of a top-level `package.json`:
  * It prevents npm from printing benign warnings about missing
    `package.json` whenever a plugin is installed.
  * Semantically, it is "the right thing to do" if plugins are to be
    installed in the top-level directory. This avoids violating
    assumptions various tools make about `package.json`, which makes
    it more likely that we can easily switch to a new version of npm
    or to an npm alternative.

Disadvantages of a top-level `package.json`:
  * Including a dependency of `ep_etherpad-lite@file:src` in the
    top-level `package.json`, which is required to keep npm from
    deleting the `node_modules/ep_etherpad-lite` symlink each time a
    package is installed, drastically slows down plugin installation
    because npm recursively walks the ep_etherpad-lite dependencies.
  * npm has a horrible dependency hoisting behavior: It moves
    dependencies from `src/node_modules/` to the top-level
    `node_modules/` directory when possible. This causes numerous
    mysterious problems, such as silent failures in `npm outdated` and
    `npm update`, and it breaks plugins that do
    `require('ep_etherpad-lite/node_modules/foo')`.

Right now, with npm v6.x, eliminating the disadvantages is far more
valuable than keeping the advantages. (This might change with npm
v7.x.)

For a long time there was no top-level `package.json` and it worked
fairly well, although users were often confused by npm's benign
warnings. The top-level `package.json` was added because we needed a
place to put ESLint config for the stuff in `bin/` and `tests/`, and
we wanted the advantages listed above. Unfortunately we were unaware
of the disadvantages at the time. The `bin/` and `tests/` directories
were moved under `src/` so we no longer need the top-level
`package.json` for ESLint.

An alternative to a top-level `package.json`: Create
`plugins/package.json` and install all plugins in `plugins/`. If
`plugins/package.json` has a dependency of
`ep_etherpad-lite@file:../src` then plugin installation will still be
slow (npm will still recursively walk the dependencies in
`src/package.json`) but it should avoid npm's nasty dependency
hoisting behavior. To avoid slow plugin installation we could create a
lightweight `etherpad-pluginlib` package that Etherpad plugins would
use to indirectly access Etherpad's internals. As an added bonus, this
intermediate package could become an adaptor that provides a stable
interface to plugins even when Etherpad core rapidly evolves.
2021-02-07 06:24:52 +00:00
Richard Hansen
8b28e00784 restructure: Prefix bin/ and tests/ with src/
This is a follow-up to commit
2ea8ea1275.
2021-02-05 21:52:08 +00:00
Richard Hansen
cf43156390 Remove src/static/js/jquery.js from .gitignore
That file is checked in so there's no reason to ignore it.
2020-11-02 16:03:58 +00:00
Alex
13dddde1d9 .gitignore add a new rule 2020-04-24 00:04:10 +02:00
Viljami Kuosmanen
25e081ac89 openapi: implement API handler with openapi-backend
- Tests pass 
- Added openapi-backend hook
- Generating OpenAPI v3 definitions for each API version
- Definitions served /api/openapi.json /api/{version}/openapi.json
2020-04-03 01:03:11 +02:00
Pierre Prinetti
6d9264cf3c docker: enable environment variables settings by default
By leveraging the templating mechanism in `settings.json`, this change allows a
Docker client to run a prebuilt image and change some basic configuration
settings, like the instance name or, more importantly, the database
coordinates.

By default, the image runs witho no administrative user enabled. If a value is
given to ADMIN_PASSWORD, the `admin` user will be activated.

Also closes https://github.com/ether/etherpad-lite/issues/3623

---
Modified by muxator to support conditional user activation at runtime.
2019-10-19 02:39:20 +02:00
HairyFotr
c7548450c0
Typos and minor fixes in bin, doc, and root 2017-09-14 13:33:27 +02:00
John McLear
0617f81689 remove applySettings hook and allow credentials.json to be part of core 2015-12-02 11:53:41 +00:00
John McLear
8ed12c7776 session key is now ignored and also padOptions are available in settings 2015-04-11 21:22:00 +01:00
John McLear
09429be4c9 whoops 2013-11-24 02:52:55 +00:00
Wikinaut
e1a1540011 moved to settings.json.template bottom; chg gitignore 2012-12-10 23:46:54 +01:00
Wikinaut
eed6b752d4 initial https version fix #1148 2012-11-22 10:12:58 +01:00
Egil Moeller
65d32461e0 Ignoring .ep_initialized in git 2012-04-05 20:04:54 +02:00
Egil Moeller
434252a321 Removed prefixfree as it breaks @import in css files 2012-04-01 22:55:04 +02:00
Egil Moeller
ce5d2d8685 Merge branch 'pita'
Resolved conflicts:
	.gitignore
	src/static/js/ace.js
	src/static/js/ace2_inner.js
	src/static/js/broadcast.js
	src/static/js/domline.js
	src/static/pad.html
	src/static/timeslider.html

Ignored conflicts (please merge manually later):
	node/server.js
	src/node/utils/Minify.js
2012-03-02 22:00:20 +01:00
Egil Moeller
758666c3e1 Better startup & symlinking 2012-02-26 13:31:47 +01:00
Dominik Rodler
4e54ebb0b8 Added new favicon 2012-02-25 20:45:28 +01:00
Robin
dd9989c32a fixes automatic update 2012-02-04 18:46:43 +01:00
Chad Weider
b175ad562a Use uncompressed jQuery.
The jQuery library does not need to be compressed; it is compressed as a consequence of being included in `pad.js`.
2012-01-22 09:46:08 -08:00
Peter 'Pita' Martischka
deedc17ca8 Added backup and patch files to .gitignore. Makes life a bit easier 2011-11-28 11:28:06 -08:00
Peter 'Pita' Martischka
dd4c8dc3aa added a convert script from old etherpad to etherpad lite, instructions will follow 2011-08-18 20:58:56 +01:00
Peter 'Pita' Martischka
b300dc1d2c fixed merge conflicts 2011-08-13 22:18:42 +01:00
Peter 'Pita' Martischka
7ff8814fd7 added the dirty db file to gitignore 2011-08-13 13:03:07 +01:00
Peter 'Pita' Martischka
53cdd893af added a buildForWindows script 2011-08-11 22:00:52 +01:00
Peter 'Pita' Martischka
f45b7ce9ea Installed API infrastructure, getText works already 2011-08-03 19:31:25 +01:00
Peter 'Pita' Martischka
95b47b4940 use a downloaded jQuery instead of using googles CDN, and fixed btw a bug that let pad.js fails randomly 2011-06-30 18:06:07 +01:00
Peter 'Pita' Martischka
280b4ab9c7 Create a template of the settings file 2011-06-02 12:15:02 +01:00
Peter 'Pita' Martischka
fd4efc3b31 Ignore node_modules in the main folder 2011-06-02 12:07:48 +01:00