A web-based collaborative LaTeX editor
Find a file
Domagoj Kriskovic c931d90f34 Wait for "doc:saved" event before compiling (#16153)
* wait doc:saved before compiling

* Refactor DocumentCompiler class to handle pending operations before compilation

* add timeout for pending op

* Increase PENDING_OP_MAX_WAIT to 10000 milliseconds

* check if currentDoc exists

* check doc id on doc:saved

* Fix conditional statement

* Refactor to add and remove event listeners for doc:saved event

* check if getPendingOp exists

* typeof getPendingOp

* forgot to push updates

* add flush-changes event

* use promise for handling pending operations

* Remove console.logs

* add isAwaitingBufferedOps

* Revert "add isAwaitingBufferedOps"

This reverts commit 56b0bbc13caf6375d1cf50e8f65f599e7263c404.

* move _awaitBufferedOps in try block

* dont check for matching doc id

* add a todo comment

GitOrigin-RevId: 9225e7d1a7a69385dc1a26bf7663f89f59db6a8a
2024-01-16 09:04:05 +00:00
.github
develop Merge pull request #16058 from overleaf/jpa-faster-restart 2023-12-08 09:04:01 +00:00
doc
libraries Merge pull request #16393 from overleaf/em-typescript-libraries 2024-01-12 09:03:25 +00:00
patches Merge pull request #15518 from overleaf/jpa-webpack-thread-loader 2023-11-03 09:00:23 +00:00
server-ce Fix 502 errors due to IPv6 2023-12-16 13:25:24 +01:00
services Wait for "doc:saved" event before compiling (#16153) 2024-01-16 09:04:05 +00:00
.gitignore
CONTRIBUTING.md
docker-compose.debug.yml Merge pull request #14857 from overleaf/jpa-server-pro-web-api 2023-09-19 08:03:57 +00:00
docker-compose.yml Merge pull request #13141 from overleaf/msm-update-redis-ce-sp 2023-05-19 08:04:26 +00:00
LICENSE
package-lock.json Merge pull request #14951 from overleaf/ab-split-test-calculator 2024-01-15 09:04:22 +00:00
package.json Merge pull request #16385 from overleaf/em-typescript-other-services 2024-01-12 09:03:22 +00:00
README.md


Overleaf

An open-source online real-time collaborative LaTeX editor.

WikiServer ProContributingMailing ListAuthorsLicense

A screenshot of a project being edited in Overleaf Community Edition

Figure 1: A screenshot of a project being edited in Overleaf Community Edition.

Community Edition

Overleaf is an open-source online real-time collaborative LaTeX editor. We run a hosted version at www.overleaf.com, but you can also run your own local version, and contribute to the development of Overleaf.

Enterprise

If you want help installing and maintaining Overleaf in your lab or workplace, we offer an officially supported version called Overleaf Server Pro. It also includes more features for security (SSO with LDAP or SAML), administration and collaboration (e.g. tracked changes). Find out more!

Keeping up to date

Sign up to the mailing list to get updates on Overleaf releases and development.

Installation

We have detailed installation instructions in the Overleaf Toolkit.

Upgrading

If you are upgrading from a previous version of Overleaf, please see the Release Notes section on the Wiki for all of the versions between your current version and the version you are upgrading to.

Overleaf Docker Image

This repo contains two dockerfiles, Dockerfile-base, which builds the sharelatex/sharelatex-base image, and Dockerfile which builds the sharelatex/sharelatex (or "community") image.

The Base image generally contains the basic dependencies like wget and aspell, plus texlive. We split this out because it's a pretty heavy set of dependencies, and it's nice to not have to rebuild all of that every time.

The sharelatex/sharelatex image extends the base image and adds the actual Overleaf code and services.

Use make build-base and make build-community from server-ce/ to build these images.

We use the Phusion base-image (which is extended by our base image) to provide us with a VM-like container in which to run the Overleaf services. Baseimage uses the runit service manager to manage services, and we add our init-scripts from the server-ce/runit folder.

Contributing

Please see the CONTRIBUTING file for information on contributing to the development of Overleaf.

Authors

The Overleaf Team

License

The code in this repository is released under the GNU AFFERO GENERAL PUBLIC LICENSE, version 3. A copy can be found in the LICENSE file.

Copyright (c) Overleaf, 2014-2021.