Commit Graph

478 Commits

Author SHA1 Message Date
Malik Glossop
47473bc5f4 Merge pull request #33044 from overleaf/worktree-mg-writefull-setting
Add writefull "AI Assistance" section

GitOrigin-RevId: c6d4cb60601c0b808cde96f29f6b79b26f631906
2026-05-05 08:05:53 +00:00
Domagoj Kriskovic
117a783f21 [web] Add .py to defaultTextExtensions
GitOrigin-RevId: 0880c01f6e3b4267f6cb790a44c6094738ab2229
2026-04-30 08:05:30 +00:00
Jakob Ackermann
933c0c2943 [web] use default nav-bar color for admins in dev-env (#32798)
GitOrigin-RevId: e3608ce699ac38ef33805618df456c94c6bf587b
2026-04-17 08:06:59 +00:00
Jakob Ackermann
b893ba36e2 [monorepo] add integration for GitHub Code Spaces (#32722)
* [web] serve site manifest as application/json

* [monorepo] bail out early from dev-env-setup when inside devcontainer

* [monorepo] move utils for waiting for services into shared bash script

* [monorepo] move domain related env-vars into dedicated .env file

The .env file will be overridden in GitHub Code Spaces.

* [monorepo] remove unused initial_mongo_setup Make target

It was previously used for the mongo replica set setup.
That setup is a docker init script now.

* [monorepo] add flag for silencing docker build output

* [monorepo] add integration for GitHub Code Spaces

* [web] make prettier happy

* [web] restore no use-credentials for manifest outside code spaces

* [monorepo] run make install as part of post-start again

GitOrigin-RevId: 8c2cc3b969b7e3e8f9c5dac778192c9412cbf4df
2026-04-13 08:04:22 +00:00
Kristina
8dce78cd97 [web] rename notifications env variable (#32654)
GitOrigin-RevId: f319fbae7da4c85d21e6c100bb2f6e6ef7c472b3
2026-04-09 08:07:07 +00:00
Mathias Jakobsen
9542334fef [web] Hide docx import behind setting (#32499)
GitOrigin-RevId: 72406af0ea7dffac579991acc114e43ceed03a50
2026-03-30 08:05:49 +00:00
Jimmy Domagala-Tang
72b7524094 Revert "Revert "Adding More Ai Quota Tiers"" (#32433)
* Revert "Revert "Adding More Ai Quota Tiers (#32128)" (#32431)"

This reverts commit f0ea19b418da6096c84b42024aea643807347649.

* fix: dont block workbench from users who have access via WF

* fix: simplify workbench access rules and ensure wf premium users can use workbench

GitOrigin-RevId: 7927248eadd906d7f802d55fa5c6bc7df162b141
2026-03-27 09:05:21 +00:00
Jimmy Domagala-Tang
6f3e0963b8 Revert "Adding More Ai Quota Tiers (#32128)" (#32431)
This reverts commit e3ef38797f267677cad51d7273272623027ca330.

GitOrigin-RevId: f0ea19b418da6096c84b42024aea643807347649
2026-03-26 09:06:42 +00:00
Jimmy Domagala-Tang
c87fd5c42e Adding More Ai Quota Tiers (#32128)
* feat: adding tiers for free and standard

* feat: updating feature calculation to account for more quota tiers

* feat: rename freeTrialQuota to freeQuota

* feat: add hasAiFreeTier and hasUnlimitedAi to editor, block free tier from using workbench

* fix: updating tests

* fix: updating ordering precedence for quota tiers

* feat: bump unlimited ai fair usage to 300 uses

* fix: update workbench quota usage for unlimited plans

* feat: bump features version for ai quota split

* feat: popover should only show for relevant users on workbench, and adding upgrade notification to ineligible users

GitOrigin-RevId: e3ef38797f267677cad51d7273272623027ca330
2026-03-26 09:06:37 +00:00
Copilot
27aac33259 Add .lean, .lean4, and .hs as editable/viewable file types (#31716)
GitOrigin-RevId: c3ee7592d0a1096ac96ca9514579c559d028b840
2026-03-09 09:05:48 +00:00
Andrew Rumble
a92bf982b0 Merge pull request #31889 from overleaf/ar-remove-web-smoke-test
[web] remove smoke test

GitOrigin-RevId: 7911b5e800ef466c59131fd739f95b11a587359f
2026-03-06 09:11:30 +00:00
Jimmy Domagala-Tang
f96d37b7e3 Revert "Revert "[Web] Enable Quota System for AI Features"" (#31771)
* Revert "Revert "[Web] Enable Quota System for AI Features (#31544)" (#31767)"

This reverts commit f6589bdbf0ac7e71313739e3e3f4fb5bedd48c22.

* Update writefull entitlement syncing for commons (#31774)

* feat: update wf entitlement syncing logic

* feat: remove unused env variable, and parse quota tier as string for analytics

GitOrigin-RevId: 37ae7522a249501719a64327e2b6aaff01a3cc0b
2026-03-06 09:07:15 +00:00
Jakob Ackermann
6c6e8d9a97 [monorepo] switch all output file reads to clsi-nginx (#31691)
* [monorepo] switch all output file reads to clsi-nginx

* [clsi-lb] allow gallery download requests

* [terraform] clsi: use nginx.conf from clsi service

* [clsi] fix flakey tests

* [clsi] replace alias with rewrite and root in nginx config

* [k8s] clsi-lb: expose download port on internal service

* [web] add explicit endpoint for downloading all output files

Serve the output.zip endpoint from clsi.

* [clsi] fix regex for latexqc submission ids

Previously, we only handled template submission ids.

GitOrigin-RevId: 6c3b21b01ec41ae767530b14aac31fbe3d640dd5
2026-02-24 09:07:12 +00:00
Jimmy Domagala-Tang
892047fcf6 Revert "[Web] Enable Quota System for AI Features (#31544)" (#31767)
This reverts commit 17763447965aae5777053b783d2601517bfe6b12.

GitOrigin-RevId: f6589bdbf0ac7e71313739e3e3f4fb5bedd48c22
2026-02-24 09:07:06 +00:00
Jimmy Domagala-Tang
92463fb3e2 [Web] Enable Quota System for AI Features (#31544)
* feat: migrate from aiErrorAssist naming for disabling AI features to aiFeatures.enabled to avoid confusion

feat: keep aiErrorAssistant as setting on user object until migration is run

* feat: migrate writefull.enabled unset to instead use promotionSet false

* feat: updating to use quota based system for AI usage

* feat: hide relevant sections of quota system behind split test

* feat: ship onAiFreeTrial instead of free quota amount to project meta

* fix: renaming splitTestEnabledForUser to featureFlagEnabledForUser

* fix: v1_personal should have free trial amount of ai quota

* fix: onAiFreeTrial in projectController should account for anonymous users with no features

* feat: fixing marketing exports for ai quotas

* feat: update features epoch

* feat: move to quota tiers, and map tier to numeric allowance within rateLimiters

GitOrigin-RevId: 17763447965aae5777053b783d2601517bfe6b12
2026-02-24 09:06:31 +00:00
Jakob Ackermann
1e9f917fe1 [web] add optional pub/sub based sync mechanism for system messages (#31328)
* [web] add optional pub/sub based sync mechanism for system messages

* [web] refactor lazy creation of redis connection

GitOrigin-RevId: 5f69428b8e8dac59aad73e8f16cd25625f2daae4
2026-02-06 09:06:12 +00:00
Alf Eaton
461acef756 [workbench] Add voice input to the prompt form (#30086)
GitOrigin-RevId: cecb613f8d204a68287e93deb6c62d071a039a8d
2026-01-28 09:07:19 +00:00
Antoine Clausse
06ffeb1926 Merge pull request #30412 from overleaf/thomas-wiki-url-default
Update WIKI_URL default to new Overleaf wiki address

GitOrigin-RevId: 0dd72124508fa439a327310b2329ea001cf91d7e
2026-01-23 09:06:05 +00:00
Domagoj Kriskovic
4e2ea44b61 [web] add BibTeX visual editor module (#30726)
* [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
2026-01-15 09:05:13 +00:00
Mathias Jakobsen
b9acc4f586 Merge pull request #30715 from overleaf/msm-full-project-search-sp
[web] Enable Full Project Search in SP for new/old editor

GitOrigin-RevId: f569a45fff3b2c716db7acab3aae4ddbf80903c9
2026-01-14 10:18:07 +00:00
Mathias Jakobsen
3d5e84d264 Merge pull request #30598 from overleaf/mj-templates-file-menu-button
[web] Add template management button to new editor

GitOrigin-RevId: 64aec2d771f551fc75d3a1e6f3c684842e1086f4
2026-01-12 09:06:41 +00:00
Brian Gough
44cb381a4d Merge pull request #30244 from overleaf/bg-add-missing-configuration-for-pdf-caching
add missing configuration for pdf caching

GitOrigin-RevId: b5791d5d6db7fc9e970acaa0ca9cc43e1a7ca8ec
2025-12-12 09:05:55 +00:00
Mathias Jakobsen
efe7cf0064 Merge pull request #30237 from overleaf/ae-workbench-popover
Add a popover to the AI assistant rail button

GitOrigin-RevId: 5bc141ba10ef0bc798ab79a847d73804d60353d6
2025-12-12 09:05:15 +00:00
Tim Down
f372fd07f2 Merge pull request #29869 from overleaf/mfb-archive-pdf-caching-gradual-rollouts
Mfb archive pdf caching gradual rollouts

GitOrigin-RevId: 3a2648d067c0c9cfee04fc6758bd1a5ddb44cd21
2025-12-04 09:06:15 +00:00
Alf Eaton
b40af34b8c Add workbench as a separate panel (#29922)
GitOrigin-RevId: de1a168e6081dee94313ba2e2a8952028cf455bb
2025-12-01 09:05:50 +00:00
Borja
b1009d3b1f Writefull refactor bootstrapping (#29549)
GitOrigin-RevId: f8422d3c3d1d7e588f18352e08c7596b520225e5
2025-11-19 09:05:09 +00:00
Mathias Jakobsen
8024fe2c58 [web] Add AI workbench to alpha users (#29417)
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 79bb329932b1e6fcc88f648bca9cc4bee215cd41
2025-11-11 09:06:08 +00:00
Borja
7f96e9504e Revert "Writefull refactor bootstrapping (#29306)" (#29542)
This reverts commit 6de05eb695579dc08cb5ee6ddf30c243cc2ff86a.

GitOrigin-RevId: 1fe00bd95b2ce437f91b38667e4d787d49c36902
2025-11-06 09:07:14 +00:00
Borja
1a511b14a4 Writefull refactor bootstrapping (#29306)
GitOrigin-RevId: 6de05eb695579dc08cb5ee6ddf30c243cc2ff86a
2025-11-05 09:07:09 +00:00
Jakob Ackermann
78d7178c08 [web] fix gallery templates e2e tests (#29508)
GitOrigin-RevId: ba8a1ddfd56b3221db92e2869e0852fd4c7a4348
2025-11-05 09:06:20 +00:00
Jimmy Domagala-Tang
618445722a fix: renaming consts for min and max notification age
GitOrigin-RevId: 7d36d073301ff02d79e2296af7bfc946ea1ad72a
2025-11-04 09:05:14 +00:00
Jimmy Domagala-Tang
d77be2c94e adding test for processNotifications
GitOrigin-RevId: 35825755344e9cc10f9e571a253a2eae982b306a
2025-11-04 09:05:10 +00:00
Jimmy Domagala-Tang
bfa70bf43b feat: handle determining delay and when to send at notification processing instead of managing scheduledAt. this removes the need for scheduledAt as we will do the scheduling calculations at processing time
GitOrigin-RevId: d0bbd5adc29ab58a797c171b55aabfda1cec39ea
2025-11-04 09:05:05 +00:00
Domagoj Kriskovic
71457d74cb Add notifications web module (#28983)
* Add notifications web module

* implement getThreadMessage in chat

* Save comment mention notification

* check if recipient is a real user

* move commentMentionDelay

* use module-hooks types

* remove router

* updated collection name

GitOrigin-RevId: cf8240c88aac7d7e4de4bf51cfe2608b6b7e7918
2025-10-20 08:05:20 +00:00
David
584572bb40 Merge pull request #28760 from overleaf/dp-hackathon-knip
Add Knip and remove a bunch of unused code

GitOrigin-RevId: 42ab99fc65973c883d2361e0027e7181767e714e
2025-10-15 08:05:57 +00:00
Miguel Serrano
d54efe78f7 [CE/SP] Fix default footer (#28947)
* [CE/SP] Fix default footer

Fixes the default `right_footer`. Only 'text' should be defined when it contains HTML code.

* Remove font-awesome github icon

* Added acceptance test

GitOrigin-RevId: 1a1ba04673f35affcec4bb17bc7cd860d589b13f
2025-10-13 08:05:28 +00:00
Jimmy Domagala-Tang
07166bff73 feat: add in-editor notification when rolling image has updated (#28529)
GitOrigin-RevId: 771773ba1914ef609b6ac84799bdda2d7ae4affa
2025-09-25 08:05:39 +00:00
Mathias Jakobsen
ed0c4c447e Merge pull request #24468 from overleaf/mj-client-side-references
[web] Perform ARS on client-side

GitOrigin-RevId: 19703c82758cae450fe52463ad9612d3a2383ba0
2025-09-03 08:05:41 +00:00
Jakob Ackermann
bd4130c147 [filestore] remove user files endpoints (#28125)
* [filestore] remove user files endpoints

* [web] remove user files integration for filestore

GitOrigin-RevId: 565fa68a659c07420ee6141d0f276b4e4d2972e0
2025-09-02 08:04:52 +00:00
Brian Gough
f5dbbadf79 add option to disable link sharing (#27626)
* add option to remove link-sharing from backend

* restrict make link-sharing in the frontend based on capability

* extend e2e project-sharing tests to cover OVERLEAF_DISABLE_LINK_SHARING=true

* throw an error when link sharing is disabled in TokenAccessHandler

* throw errors when attempting to add users to projects with link sharing disabled

* Update server-ce/test/project-sharing.spec.ts

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* add tests for existing access when link sharing is disabled

* update tests to specify access restrictions for read-only and read-write link shared projects

* [web] block access to legacy public project with link-sharing disabled

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 5f194dbcb790e973e427c58a3a4a738a5dd74cb4
2025-08-20 08:05:33 +00:00
Jakob Ackermann
e9bbc113a0 [server-pro] trust local nginx proxy running inside Server Pro/CE (#27719)
GitOrigin-RevId: ed9bb136effb1602aa0239b107c116fd6385ebbc
2025-08-15 08:05:26 +00:00
Jakob Ackermann
cbe86818a7 [web] add config option for project/user hard deletion delay (#27725)
GitOrigin-RevId: db8030d6c8a3cdf8490edafcfa436cdbcd80fc28
2025-08-13 08:06:17 +00:00
Jakob Ackermann
81f0807fc6 [web] prepare filestore migration for Server Pro/CE (#27230)
* [web] prepare filestore migration for Server Pro/CE

* [history-v1] remove unused USER_FILES_BUCKET_NAME env var from script

* [server-ce] tests: write default docker-compose.override.yml on startup

* [server-ce] tests: extend access logging of host-admin for response

* [server-ce] tests: test text and binary file upload

* [server-ce] tests: add tests for filestore migration

* [web] simplify feature gate for filestore/project-history-blobs logic

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [server-ce] test: fix flaky test helper

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: f89bdab2749e2b7a49d609e2eac6bf621c727966
2025-07-22 08:06:58 +00:00
Antoine Clausse
cf668d897d [web] Create middleware and functions for checks on admin permissions (#27107)
* Create AdminCapabilities in admin-panel module

* Add `adminRolesEnabled` setting

* Use `PermissionsController.requirePermission` in admin-panel routes

* Update `adminCapabilities` to be an array

* Update frontend tests

* Rename `defaultAdminCapabilities` to `fullAdminCapabilities`

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Add tests to PermissionsManagerTests.js

* Get admin roles and capabilities from the database

* Add tests to admin-panel

* Fixup PermissionsManagerTests.js without admin-panel module

* Revert "Use `PermissionsController.requirePermission` in admin-panel routes"

This reverts commit ccbf3e3e3bca9239b786c662cba2ac6bd2f4117a.

* Revert "Fixup PermissionsManagerTests.js without admin-panel module"

This reverts commit 6d7ad207bb17c5ca4c12c489d4636a02c608926d.

* Revert "Add tests to PermissionsManagerTests.js"

This reverts commit 8f9cc911750911e1c4b74b631d8c8a1b1ca86630.

* Fix tests after the reverts

* Replace capabilities to more sensible examples ('modify-user-email' and 'view-project')

* Set `adminRolesEnabled: false` for now

* Return `[]` capabilities for non-admins

* Misc: types, test description, settings ordering

* Small refactor of AdminPermissions.mjs:

Reuse code with `getMissingCapabilities`
Throw when `requiredCapabilities` is empty

* Update tests after update

* Rename `checkAdminPermissions` to `hasAdminPermissions`

* Change role permissions to array instead of object

* Remove admin capabilities when `!Settings.adminPrivilegeAvailable`

* Return `[]` if there is no user id

* Throw if `user?._id` is missing

* Update services/web/modules/admin-panel/app/src/AdminPermissions.mjs

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Adjust to ForbiddenError constructor syntax

* Give empty capabilities for unknown role, update tests

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 1eec4f6a45e1cc3ae76a3a4603cec1ceba1c2322
2025-07-18 08:06:40 +00:00
Jakob Ackermann
9720413218 [web] add support for pug caching when running E2E tests in dev-env (#27073)
GitOrigin-RevId: bbb53723bd1bc22db5b3d440539f1624a905341f
2025-07-16 08:06:07 +00:00
Eric Mc Sween
b165fea0de Merge pull request #26915 from overleaf/em-jd-increase-max-request-size
Increase web's max JSON request size to 12 MB

GitOrigin-RevId: 91da31e14570e770553049d8376ae1686eba3336
2025-07-10 08:06:55 +00:00
Alf Eaton
58303de9f4 Enable full project search in Community Edition and Server Pro (#25753)
GitOrigin-RevId: 1def9c3e190c907d41b7f822831e12c8609e9c7c
2025-07-03 08:05:52 +00:00
Tim Down
19dc71f414 Merge pull request #26456 from overleaf/td-limit-browser-translate-non-react-icons
Prevent browser translation of icons in Pug pages

GitOrigin-RevId: 97e4d3ba70a4c95bed2c9f52e66038911625613d
2025-06-23 08:05:06 +00:00
David
637312e4f8 Merge pull request #26135 from overleaf/dp-error-logs-ai
Add AI paywall to new error logs

GitOrigin-RevId: 2d6dad11dfe3b27c8ff322a9778a53496cfe7277
2025-06-11 08:06:19 +00:00
Rebeka Dekany
784559f1b8 Add video caption track if captionFile is available (#25997)
GitOrigin-RevId: fefcce66fe573385dfec34cc0f8697220fe418a3
2025-06-06 08:06:06 +00:00