* [web] override timeout for a specific template
* [web] fix junit integration for vitest
* [web] consolidate on JUNIT_ROOT_SUITE_NAME
* [web] fix unit test
GitOrigin-RevId: 3ba865e4b9c090c7bf8e07dc3d81e9bcee20d821
* [clsi-cache] remove old DiskCrawler
* [clsi-cache] use helpers for populating state during initial crawl
* [clsi-cache] use path helpers everywhere
* [clsi-cache] create project folder as part of the initial crawl
* [clsi-cache] add sharded disk layout
* [k8s] clsi-cache: switch clsi-cache-zone-b-shard-0 to new disk layout
* [clsi-cache] tweak logging context
* [monorepo] add bin/format_project_key util
* [k8s] clsi-cache: use a single nginx config file
GitOrigin-RevId: bb49146502cc6201eef210efae33355321efd77b
* Upgrade CodeMirror and Lezer dependencies
* Ensure that BraceWidget and IconBraceWidget always have string content
* Add updateDOM to BraceWidget
* Use pinned versions
* Fix description list decoration
GitOrigin-RevId: 5306f7f09290eb9a2c375e97d33509537f3c5e5f
* [clsi] try harder at sending files off to a working clsi-cache shard
* [clsi] use a crc for generating a stable sequence of shards to try
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
* [clsi] gradually migrate to crc based shard assigment
* [clsi] tweak selecting clsi-cache shard from crc
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
* [clsi] bump rollout dates of new clsi-cache shard change
---------
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: 9386e170503b405580e4d0a8641832f3fcb1fa83
* [web] add BibTeX visual editor module
* Make the visual editor hook open to extension
Instead of looking specifically for the bibtex visual editor, allow any
extension to provide a visual editor.
* Fix stylelint error
---------
Co-authored-by: Eric Mc Sween <5454374+emcsween@users.noreply.github.com>
GitOrigin-RevId: c85c27a2b119c826e3d00cbd475a2a21f1508091
Forces a rebuild of the CE/SP base image, updating
OS dependencies and installing the latest version of node.
GitOrigin-RevId: a172b7cf1b19e303ea19d4392ee43f7043bb96ad
The update_institution_user_saml_ids.mjs script updates `samlIdentifiers.externalUserId`
for users with a specific `samlIdentifiers.providerId`, performing a string replacement.
GitOrigin-RevId: 9d9897b17a528ea2ef3abf60d3b5e6679bf11943
* feat: add dark mode for project list survey
* theming hover states on buttons
* feat: move theming to re-useable mixin
GitOrigin-RevId: ed85d050e908ae13d97ee8d67cf74e00c27fc258
* feat: adding dark mode for cookie-banner
* feat: move most relevant cookie-banner styles to footer
* fix: consistent naming for css vars, and scoping dark mode to only applicable pages for cookie Banner
* fix: swapping to themed border var
GitOrigin-RevId: 7de36cdeae6802a96a6983c739ab6fc95dee7e28
* Add @overleaf/validation-tools in project-history
* use error handler for zod
* Replace joi validations with zod schema
* fix unit tests
* remove Joi validation middleware
* remove optional when there is a default
* fix tests after checking for objectid
* ran build_scripts
* monorepo npm install
GitOrigin-RevId: f8396a3caadd536edf64c6f971c77f4c941f000a
* [monorepo] record ERROR/FATAL log messages in junit report
* [web] put SaaS specific code behind feature flag
* [web] use split test cache for getting user assignments
The unit tests needed updating as they did not replicate any of the
mongo filtering. The acceptance tests cover this logic.
* [web] make better use of existing indexes
* [web] avoid col-scan in tests of notifications module
* [web] remove cleanup of empty feedbacks collection
* [web] add assertion for reason of rejected request in launchpad test
* [web] add missing indexes
* [web] enable mongo notablescan
* [web] make emailNotifications tests compatible with notablescan
GitOrigin-RevId: b888f2feeb3a0e915f068ae1c4ea23ec17821221
* Record project notification timestamp in Redis on applyUpdate
* Refactor project notification timestamp recording in Redis
* Remove tests which are catching errors that are no longer used
GitOrigin-RevId: faa7a97fa929941cade5d62d2d680c6c3f34cdc8
* Extend notifications so they can be dismissed
The dismissal is stored in a cookie for a year
* Extend CIAM notifications so they can be dismissed
* Make the CIAM notification dismissable
* Style the close button so it is in the corner of the notification
* Add e2e test
* [e2e] Replace 'not.exist' by 'not.be.visible'
* Set cookie with the same pattern as the "cookie-banner cookie"
* Hide notification in the frontend
* Revert "Hide notification in the frontend"
This reverts commit b5d205f3e3a4e2555be038eb3b7561761a2cde59.
* Add `data-ol-dismiss-cookie-paths` to the notification
* Add `data-ol-dismiss-cookie-paths` to the notification (CIAM variant)
* Shorten cookie name
* Revert: remove the .corner class
* Apply design from Figma for CIAM notifications
GitOrigin-RevId: 4070715c6a63d0497b7a41c343c3f943ced4bfef
* changing to pug conditional format for admin page conditional render
* feat: update notifications settings page and open BE route
feat: adding new page for notification prefs on user settings, along with updating saving prefs for global preferences
adding error handling and disabling when request is inflight
formatting and adding split test for viewing notification ettings
fix: updating to levels of preferences, and removing global type for preferences as we will now share the same backing settings between global and project preferences
feat: add global mute to user settings for notifications
making params in preferences schema optional
feat: update global settings to only set mute, and remove optional settings
fix: store userId as objectId, and filter based on global mute setting
GitOrigin-RevId: 947a95dc02d12b4a2d8e3cc29bd04c23af2aef25
* Include valid couponCode and promotionCode in `payment-page-view` and `payment-page-form-submit` analytics events
* Update payment event types
* Remove obsolete comment
* fix: only send validated coupon and promotion codes in analytics event
* Add coupon name for the analytics events
* Update test to include the coupon name for analytics
* Remove coupon code from analytics
* Simplify promotion code validation using coupon.code
* Remove undefined
* Allow access to promotion code
* Remove `lastValidatedPromotionCode` and compare against coupon code from the preview response
* Fix test setup to initialize coupon code
* Keep the submit button enabled only when the coupon code is either empty or successfully validated by the backend
* Update test coupon code value to TEST_COUPON
GitOrigin-RevId: b12fa147d91fd3b90b59bc77868a0786ddb633b7
* [clsi] fix circuit breaker for clsi-cache
* [clsi] enable ts-check for CLSICacheHandler
* [clsi] limit the number of .blg files in clsi-cache to 50
* [clsi-cache] limit the number of files per job to 100
* [clsi-cache] explain early registration of buildId
* [clsi-cache] lock down downloads via nginx to project folder
GitOrigin-RevId: 081d0c40b08db3a384c4d765b71a50b973f42151
* refactor: update Makefile to use conditional assignment
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: a00592608e3377701ec75617eef995ce4b05a95b
* Replace request by fetch
* Promisify NotificationsHandler.js
* Replace to `fetchNothing` when we don't consume the body.
I also checked that these endpoints don't return anything: https://github.com/overleaf/internal/blob/de2d0ed8cab15c4347ddecf227073a6d4e06120f/services/notifications/app.js
* Make URLs safer
* Ignore (but log) failing `fetchNothing`s on DELETE endpoints
* Defensively add `userId.toString()` to prevent bugs (!)
* Update NotificationsHandler unit tests
* Throw fetch errors only if we did not get a response
GitOrigin-RevId: 03700ad29658c0e3af4e476b25a964030e9c97f1
* Remove focused style from the stepper
* Reduce spacing between password input and password policy
* Make input validation icon larger
* Make animated-tick.svg faster
* Move notification to below h1
* Move notification to below h1
* Fix: Warning: Invalid DOM property `autocomplete`. Did you mean `autoComplete`?
* Wrap form-text in a span so it's displayed correctly and not altered by flex
* Remove "Please request a new password reset email and follow the link." text after the email is entered
* Remove (unnecessary?) flex property on .ciam-form-text-icon
* Rename `messageTextNode` to `messageTextSpan`
* Revert changes to input-validator.ts
GitOrigin-RevId: ad83c92a59b9dbc872cf4e49362b0baec9fb5b93
* Remove double dots
* Make skip button Tertiary instead of Link
* Bold email
* New zotero logo
GitOrigin-RevId: 569fa4c18fc85abf55b492f7033472445c63ed6b
* no grey hyphen when the input is empty
* show email in bold
* Fix tests
* Add test to verify email display in confirmation code input
* Format
GitOrigin-RevId: ade4a670b9dc80b99f64cc3273407a98428521b8
* Add collapsible info in ODC
* Remove transition effects on caret
* Update summary focus-visible style
Make it inline-block so the clickable part doesn't go out of bounds.
Update outline style.
* Make the caret orientation consistent with Figma and Dashboard
* Remove extra padding
* Make `summary` styled like ds btn-tertiary
See https://www.figma.com/design/qHqSob0u4b4h1i2ModSTLn/CIAM---Phase-01?node-id=2285-20806&t=AlQIeoQEd2kG2h2M-0
GitOrigin-RevId: 9a49efe68088ea4969a803ffaa1c981c5a7ed7bb
* Make CIAM copies of Pug files
passwordResetCiam.pug
setPasswordCiam.pug
* Update controller with split test assignment
* Use CIAM layout in passwordResetCiam.pug
* Style passwordResetCiam according to designs
* Use CIAM layout in setPasswordCiam.pug
* Style setPasswordCiam according to designs
* Use settings value in registration screen for must_be_at_least_n_characters
* Retrieve email input with a script
* Replace mb-4 by --ds-spacing-800
* Add eye icon to toggle password visibility
* Avoid double dots after some translated strings
* Use `ciamCustomFormDangerMessage`
* Use `ciamErrorNotification`
* Use `ciamButtonContentLoading`
* Replace remaining "mb" classes
* Move new password errors to the top of the form
* Fix CIAM mixins path after rebase
* Use `ciamCustomFormDangerMessage`
* Add `data-ol-spinner-inflight` to buttons
* Replace classname ciam-notification by notification-ds
Remove borders from CIAM notifications
Fix font size
* Revert "Use settings value in registration screen for must_be_at_least_n_characters"
This reverts commit a0af95c11e171097750ad7ee871f6baf89d5c0cb.
(It's Friday afternoon so I don't want to update unrelated stuff :D)
* Update: check_your_inbox
* Remove `.ciam-card` min-height.
Unnecessary thanks to `.confirm-email-success-form`'s min-height: 400px;
* Use phosphor icons
* Style `formMessagesNewStyle` with DS notifications within CIAM pages
Alternatively, we could extend/duplicate `showMessagesNewStyle` with a CIAM variant
* Revert "Style `formMessagesNewStyle` with DS notifications within CIAM pages"
This reverts commit ed382dc1e8cdf5b916c1527f4da0a825167e9675.
* Fix styling of dynamically-created DS notifications
* Set password length info to secondary color
* Move `ciamSamlErrorNotLoggedIn` to saas-authentication module
Prevents errors in CE:
Error: ENOENT: no such file or directory, open '/overleaf/services/web/modules/saas-authentication/app/views/_mixins.pug'
at /overleaf/services/web/app/views/_mixins/ciam_mixins.pug line 3
---------
Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: afe58f18ecee92460ab628a285b6edb48a5c678d
* Add CIAM explanatory banner to login page
* Center .ciam-card-footer on all sizes
* Move bottom padding to .ciam-layout
So it exists even when there is no footer
* Make every CIAM text input large
* Lint
GitOrigin-RevId: 3c5af9ffefdb064780e7818bf2fbe77c14562cd6
* update recurly change prices script
* write to /tmp/ and add an option to write to stdout
* add analytics events
* default script to renewal
GitOrigin-RevId: 5ebb17ee2c1ad70128391745a994ea6c74c739f9
* make Stripe export script only export active products and prices
* add a gitignore for the scripts/stripe/output
GitOrigin-RevId: 975d84077c3940d4f5af518e5f8292ea455e1c3a
* [web] `transfer-ownership` group audit log
Includes `transfer-ownership` in the list of project
audit logs visible to managed group admins, and adds logic
to add multiple log entries when more than one managed
group is involved.
GitOrigin-RevId: 780b90a74a960047e97ebba83e5502a237b83b41
* update pricing settings for Nov 2025 update
* update `StripeLookupKeyVersion` type
* update unit tests to match new Stripe version
GitOrigin-RevId: f5df5167b605b6667cc19edad09fb2c0f72a293b
* update generate recurly prices script to skip stripe-only prices
* add script for creating new Stripe prices from a CSV
* add script to archive Stripe prices by version key
* add script for exporting Stripe products and prices
* add script to import Stripe products
GitOrigin-RevId: 3c9cf8037d956b9532c3efed5fe8d63f8be53a93
* allowing for writefullCommonsAccount within v1 affiliates to signal a commons ai bundle
* feat: update wf when features change
* feat: replace call to wf with metric to give them estimate of number of calls
* fix: acceptance tests for GroupDomainCaptureTests rely on features outlined in settings, where aiErrorAssistant feature is not listed since it is delivered through a module hook
GitOrigin-RevId: 8c2470c7e73b8a1e080bfc977469d35e66ca9db4
* tearing down the test, and removing the timeout help message
* running make cleanup_unused_locales
* npm run extract:translations
GitOrigin-RevId: 54ee19d18a86a9061ff23d6dbd8375ae0bdf73c2
* Replace placeholders with labels
* Add 'Close dialog' label to modal close button to distinguish from footer Close button
* Add and translate heading on the not found page
* Update textarea to have id matching label's for attribute
Simplify test for template description textarea
* Label PDF zoom level dropdown button
* Improve test selectors to use semantic roles and accessible names
GitOrigin-RevId: d215ddca30ddf844cfffbcf0e528a601b134d772
* Create script to update track changes stored format for all users
* Create script to update track changes stored format for all users
* Dont remove guests
* Fix typo
* fix updateOne
---------
Co-authored-by: Domagoj Kriskovic <dom.kriskovic@overleaf.com>
GitOrigin-RevId: c2fddc46b78e84807243a752facdf0215d3ff082
* Implement notifications preferences model
* NotificationPreferences class
* remove index performance tests
* move to unit tests
* use zod
* saving multiple preference values
* set unique:true
* throw error if preferences can't be parsed
* use z.infer
* strict schema when saving preferences
* fix: update notifPreferenceKey type to only contain key values
---------
Co-authored-by: Domagoj Kriskovic <dom.kriskovic@overleaf.com>
GitOrigin-RevId: 20cf3799c91e6a890ab6217667594d181237c791
* Initial implementation of registration first page
* CSS tweaks from review
* Suppress skip-to-content link
* Fix formatting
* Make logo and footer bottom margin always appear in CIAM register page
* Fix font size and margin of card footer text
* Pug fixes from linter
* Fixes from merge of main
* Use translation string
GitOrigin-RevId: 0486532112d81462a008206e3f1a97c409d39a6a
* Create DS version for Bootstrap Input form elements
* Move DS Button Storybook to DS component folder
* Use phosphor icons
* Add ds-focus-outline mixin
* Use math.div
GitOrigin-RevId: e50934212ec5949f0f7abc7880eb73933fce2a9b
* Add focus-trap-react npm package
* Trap the focus for the Modal
* In some cases, the focus will not return to the trigger element
* If there are no tabbable elements, the focus should fallback
* Add explanations for focusTrapOptions props and extend test
* Auto generate package-lock.json - Add focus-trap-react npm package
GitOrigin-RevId: 488a05d5e95dd369c69bedcfaf7c1fd5e456e302
* refactor PaymentService.getPaymentProviderAdminUrl to be more useful
* display all stripe customer accounts
* mv change segment modal to each account
* stripeSubscriptionData -> stripeCustomerData
GitOrigin-RevId: 4c1a277f5073ee7cb12f4596210ba4f8624451b8
* updating affiliation check for enterprise commons to default to restricting wf on error
* feat: simplify logic on affiliate lookup failure
GitOrigin-RevId: ccd676af9a44413bf63fe7c1f7836080c2612f45
* Refactor v1 Makefile to use DOCKER_COMPOSE variable for Docker commands with tag safe branch name
* Handle slashes in branch names for docker build tags
GitOrigin-RevId: 463940e8435845978aced745575905f3bfbb8e1c
* Remove the nocdn fallback
Co-authored-by: Tim Down <tim.down@overleaf.com>
* Remove comment about nocdn query string in ExpressLocals.mjs
Co-authored-by: Tim Down <tim.down@overleaf.com>
* Remove `Frontend` global
---------
Co-authored-by: Tim Down <tim.down@overleaf.com>
GitOrigin-RevId: 74160ed4cf8ba17f8bd9b6793c8baa80883d3361
* Add `project-created` audit log only for managed users
* Include project audit logs in group audit logs
* Added details column in Group Audit Logs UI
GitOrigin-RevId: 96c7a31b37270912df1629e27d905b692f28da46
* Document updater script for notifying web on project updates
* use lua script for deleting keys
* define jobId when adding to queue
* removeOnFail age
* mongo check if collaborator exists
GitOrigin-RevId: f67a79c890a03ccf44fd84243c9a3f380e7afb43
* adding plural translations for the languages that were easy to test with the help of AI
* adding remaining translations
* adding your_subscriptions
* running make sort_locales
* fixing nl.json to make it formal You
GitOrigin-RevId: 7510e2f8eee87fd2a256ece434cc59e6877893e6
* removing placeholders and adding labels
* adding a test
* adding a test back
* deleting comment
* Target the label of department and role
---------
Co-authored-by: Rebeka <o.dekany@gmail.com>
GitOrigin-RevId: 890c2f836a17c360a577bd71280805e3e5408dd6
* Allow passing auditLog extra info in addEmailAddress
* Create script re_add_deleted_emails.mjs
* Check email validity when parsing the CSV
* Allow no IP and initiator for the log events
* Add an acceptance test on re_add_deleted_emails
* Fix remove_unconfirmed_emails.mjs
We're not planning to run this again, but this could help if some code from here ever gets copy-pasted
* Fix remove_unconfirmed_emails.mjs
Rename `emailsToRemove` to `emailsToRemoveCandidates`
* Remove console.logs of event logs:
That's unnecessary complexity and we already have the data from the previous script
* Copy `addEmailAddress` into the script
* Handle primary emails correctly
* Ignore a TS error
* Fix async function in createUsers (tests)
* Add assertion for already in use emails in ReAddDeletedEmailsTests
* Add information in admin-panel for add-email audit logs
GitOrigin-RevId: f8480426d7b323f88a268874488d9ae641bc6045
* [web] Add script to check for wrongly removed confirmed emails
* List emails that were added again
* Use `trackProgress`
* Prettier logs
* Add `READ_PREFERENCE_SECONDARY`
* Check `change-primary-email`
* Add check with `confirm-email` should be always empty, but let's check
* Update services/web/scripts/check_removed_emails.mjs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: 4f83d69cffd0aec2c5d1201f1f6130eacdbb2e39
Sequential tests need to be run without parallelism because they rely on
a database fixture that can have side effects.
GitOrigin-RevId: b614cbe4dbaf2319e681d5607a0a64cbbed8c021
* [clsi] gracefully handle fast exit of synctex/wordcount containers
* [clsi] do not change container options in-place for logging
GitOrigin-RevId: 0b685310a3c72f8f46125fefaa30c1ddb19e7b07
* [migrations] make old migrations compatible with --notablescan in mongo
Re-running the migration for db.users.emails.reversedHostname on all
Server Pro/CE users will not be harmfull.
* [monorepo] enable mongo notablescan for all services but web
GitOrigin-RevId: e2a710c9de08de9ac2aa9df1f3082d5f1c33ea05
* Move `main#main-content.content.content-alt` into a React component (`ContentLayout`)
* Create the CIAM variant of `RegistrationConfirmEmailForm`
* `bin/run web npm run extract-translations`
* Use `CiamLayout` in the Storybook demo
* Add `SplitTestProvider` in tests
* Fix Storybook: Wrap `RegistrationConfirmEmailForm` Story in `onboarding-confirm-email`
* Refactor SCSS files:
- only imports in all.scss
- split .storybook-layout and .storybook-enabled
- extract ciam-spacing.scss
GitOrigin-RevId: f4a214a0978423a1621dd8f60bf459af7b8f877e
* Revert "Revert "[web] Add User logs to Group Audit Logs view (#29155)" (#29479)"
This reverts commit 40a1516ab9cec690d0487a0a870b9fab17598d60.
* Fix `managedUsersEnabled` flag in frontend
GitOrigin-RevId: ae3edf5bcbc01ec46bc18028e758d3364072c307
* Add font Inter
Files downloaded from https://rsms.me/inter/
Kept only the woff2 files and CSS definitions for Inter-Regular and Inter-SemiBold
* Delete inter folder
* Add inter to build-fonts.mjs and run it
* Add inter.css
* Update latofonts archive URL
GitOrigin-RevId: 24cd8a48f4566d8a55443eb2cd938ee129dff5f8
* Conditionally render a CIAM copy of login.pug depending on `ciam` split-test
* Conditionally render a CIAM copy of register.pug depending on `ciam` split-test
* Conditionally render a CIAM copy of institutional_login.pug depending on `ciam` split-test
* Rename the test to `uniaccessphase1`
* Fixup ciam paths (underscores, not hyphens)
* Escape translations in `log_in_with_existing_institution_email`
See https://github.com/overleaf/internal/pull/29390#discussion_r2479318609
GitOrigin-RevId: fff0e154d1e1faad4842a2c49fa5889f9cc189e6
<img src="doc/screenshot.png" alt="A screenshot of a project being edited in Overleaf Extended Community Edition">
<img src="doc/screenshot.png" alt="A screenshot of a project being edited in Overleaf Community Edition">
<p align="center">
Figure 1: A screenshot of a project being edited in Overleaf Extended Community Edition.
Figure 1: A screenshot of a project being edited in Overleaf Community Edition.
</p>
## Community Edition
[Overleaf](https://www.overleaf.com) is an open-source online real-time collaborative LaTeX editor. Overleaf runs a hosted version at [www.overleaf.com](https://www.overleaf.com), but you can also run your own local version, and contribute to the development of Overleaf.
## Extended Community Edition
The present "extended" version of Overleaf CE includes:
- Template Gallery
- Sandboxed Compiles with TeX Live image selection
- LDAP authentication
- SAML authentication
- OpenID Connect authentication
- Real-time track changes and comments
- Autocomplete of reference keys
- Symbol Palette
- "From External URL" feature
[Overleaf](https://www.overleaf.com) is an open-source online real-time collaborative LaTeX editor. We run a hosted version at [www.overleaf.com](https://www.overleaf.com), but you can also run your own local version, and contribute to the development of Overleaf.
> [!CAUTION]
> Overleaf Community Edition is intended for use in environments where **all** users are trusted. Community Edition is **not** appropriate for scenarios where isolation of users is required due to Sandbox Compiles not being available. When not using Sandboxed Compiles, users have full read and write access to the `sharelatex` container resources (filesystem, network, environment variables) when running LaTeX compiles.
Therefore, in any environment where not all users can be fully trusted, it is strongly recommended to enable the Sandboxed Compiles feature available in the Extended Community Edition.
> Overleaf Community Edition is intended for use in environments where **all** users are trusted. Community Edition is **not** appropriate for scenarios where isolation of users is required due to Sandbox Compiles not being available. When not using Sandboxed Compiles, users have full read and write access to the `sharelatex` container resources (filesystem, network, environment variables) when running LaTeX compiles.
For more information on Sandbox Compiles check out Overleaf [documentation](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/sandboxed-compiles).
For more information on Sandbox Compiles check out our [documentation](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/sandboxed-compiles).
## Enterprise
If you want help installing and maintaining Overleaf in your lab or workplace, Overleaf offers an officially supported version called [Overleaf Server Pro](https://www.overleaf.com/for/enterprises).
If you want help installing and maintaining Overleaf in your lab or workplace, we offer an officially supported version called [Overleaf Server Pro](https://www.overleaf.com/for/enterprises). It also includes more features for security (SSO with LDAP or SAML), administration and collaboration (e.g. tracked changes). [Find out more!](https://www.overleaf.com/for/enterprises)
## Keeping up to date
Sign up to the [mailing list](https://mailchi.mp/overleaf.com/community-edition-and-server-pro) to get updates on Overleaf releases and development.
## Installation
Detailed installation instructions can be found in the [Overleaf Toolkit](https://github.com/overleaf/toolkit/).
Configuration details and release history for the Extended Community Edition can be found on the [Extended CE Wiki Page](https://github.com/yu-i-i/overleaf-cep/wiki).
We have detailed installation instructions in the [Overleaf Toolkit](https://github.com/overleaf/toolkit/).
## Upgrading
If you are upgrading from a previous version of Overleaf, please see the [Release Notes section on the Wiki](https://github.com/overleaf/overleaf/wiki#release-notes) 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`](server-ce/Dockerfile-base), which builds the
`sharelatex/sharelatex-base:ext-ce` image, and [`Dockerfile`](server-ce/Dockerfile) which builds the
`sharelatex/sharelatex:ext-ce` image.
`sharelatex/sharelatex-base` image, and [`Dockerfile`](server-ce/Dockerfile) which builds the
`sharelatex/sharelatex` (or "community") image.
The Base image generally contains the basic dependencies like `wget`, plus `texlive`.
This is split out because it's a pretty heavy set of
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
@@ -65,16 +59,20 @@ and services.
Use `make build-base` and `make build-community` from `server-ce/` to build these images.
The [Phusion base-image](https://github.com/phusion/baseimage-docker)
(which is extended by the`base` image) provides a VM-like container
We use the [Phusion base-image](https://github.com/phusion/baseimage-docker)
(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 initscripts from the `server-ce/runit`
folder are added.
manager to manage services, and we add our init-scripts from the `server-ce/runit`
folder.
## Contributing
Please see the [CONTRIBUTING](CONTRIBUTING.md) file for information on contributing to the development of Overleaf.
message:`EditorView.theme and EditorView.baseTheme each add CSS to the page for every instance of the theme. Store the theme in a variable and reuse it instead.`,
'Please use Script Runner for scripts. Refer to the developer manual (https://manual.dev-overleaf.com/development/code/web_scripts/#monitor-script-execution-and-usage-with-script-runner) for more information.',
'EditorView.theme and EditorView.baseTheme each add CSS to the page for every instance of the theme. Store the theme in a variable and reuse it instead.'
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.