* [web] Add the Back to School group sale banner to the plans page
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitOrigin-RevId: 596b23006fce7504fcdfd6341cf93429c08acc8b
Server Pro/CE admins can set a custom header logo via OVERLEAF_HEADER_IMAGE_URL,
but the same image is used for both the light and dark navbar themes. A logo
with good contrast on one background can be hard to see on the other (e.g. a
dark logo on the dark dashboard navbar).
Add two optional env vars, OVERLEAF_HEADER_IMAGE_URL_LIGHT and
OVERLEAF_HEADER_IMAGE_URL_DARK, each falling back to OVERLEAF_HEADER_IMAGE_URL
when unset, so existing configurations are unaffected. The light/dark fallback is
resolved server-side and exposed to the frontend as customLogo (light-effective)
and customLogoDark (dark-effective); the two theme-aware navbars (project
dashboard and library) pick between them using the existing overall-theme hook,
so the logo tracks both the user's theme setting and live OS theme changes.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
GitOrigin-RevId: 587a5679c650717cba6251e6d612146f434e8730
Two of the B2B request schemas flagged in #36577 reject bodies we don't
want to reject:
- POST /manage/groups/:id/settings/sso: the group settings frontend
spreads the SSO config document it fetched from the GET route back into
the POST body, so the request carries `_id`, `__v`, `validated`,
`enabled` and `useSettingsUKAMF` that the handler recomputes or ignores.
- POST /manage/groups/:id/invites: an internal script sends an unsupported
`expiresAt` alongside the email; the handler only reads `email`.
Swap z.strictObject() for z.object() on both, with a comment on each
explaining why it's deliberately non-strict.
GitOrigin-RevId: 5ff94ded579bdda07efc59d9ceb1d495964a912d
Ship the new share-project modal (behind sharing-updates) wired to the
legacy token-based link sharing, and hide the new reusable-link
functionality (anyone with the link / group links) behind a new
sharing-updates-new-link split test.
- With the flag off, the modal offers two options, "Only invited people"
and "Via sharing links", both driven by publicAccessLevel; the reusable
-link options, privileges dropdown and copy-sharing-link button are hidden.
- Enable the flag in the acceptance tests that exercise those routes: a
seeded split test in saas, splitTestOverrides in non-saas.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: thomas- <2176518+thomas-@users.noreply.github.com>
GitOrigin-RevId: 3f34a2da5dbdc6f27ed389f9c25eea66143b8160
* refactor: update Makefile to use conditional assignment
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: a00592608e3377701ec75617eef995ce4b05a95b
* 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
* Convert and add portals and learn wiki .less to .scss
* Convert learn wiki to BS5 and update search JS
* Convert portals to BS5
* Move gallery page padding to seperate class, to avoid forcing padding to the gallery included on portal pages
---------
Co-authored-by: Rebeka Dekany <50901361+rebekadekany@users.noreply.github.com>
GitOrigin-RevId: 3a93d56280ccdcf7fb1837511a3efe54b2efd428
* Convert updateSubscription controller to async/await
* Move updateSubscription to subscription module
* Validate if user is eligible to change plan
GitOrigin-RevId: ce538429cd5a3b93acabdc046f1a8b164ac02301
Proposal: Add promise interface for attaching module hooks and switch methods to be "Promise-first"
GitOrigin-RevId: 6740c18b75ebca79c24aa8b9867c8127b381b695
Update the notification shown when at max collaborators for users in the link-sharing-enforcement stage
GitOrigin-RevId: 7699491b217e963bcbd919b3763d8c8d31b5361f
Link sharing changes events fixes for collaborator sharing-updates prompt and project open event
GitOrigin-RevId: 45449f0dd27e07de189a9c2620b0aa9a8849dc41
Implement link sharing warning events by reusing the StartFreeTrial paywall button component from the original modal
GitOrigin-RevId: 9c16407ad8a7b5afc9b5b13be1491ef903ae74a3
* Add getEditInviteCount to count only edit collaborators
* Add getInvitedEditCollaboratorCount to count joined editors
* Add canAddXEditCollaborators to determine if owner can add more editors
* Update setCollaboratorInfo to check if editor slots are available
GitOrigin-RevId: a88707f102dfbde39322f5a7bbc79d47b6e810d5
* Add helpers for checking and removing user readwrite token membership
* Add sharing-updates page and handlers
* Redirect read write token members to sharing-updates on project load
GitOrigin-RevId: d552a2cd74a9843c6103923b03f137131a48877a
* Remove (duplicated) HIBP env var from docker-compose.yml
* Remove HIBP env var from local-dev.env
* Add HIBP env var to dev-environment.env
GitOrigin-RevId: e86a64296493dfa9b71209661fcfe1a9bb7c5230
* Implement redesign on the default urls and redirect variants to defaults
* Fix Features & Benefits inconsistent case, cleanup temp translation
* Replace header_extras with the website redesign header extras
* Delete old home page
* Remove real time edits javascript (old home page)
* Cleanup unused locales
* Temporarily disable test that checked about/features-overview page
* Fix business/universities links in customer stories
GitOrigin-RevId: 9d2ee64c2622ffea7a2c2f7448a5e5beae3187e9
* Fix organization logos styling:
- stop forcing explicit height to the image itself, this will remove any visible stretching.
- Force 2 column for screen size < 1200px (and remove flex-wrap) to make sure no single logo that wraps to the next line.
* Update crest images with higher resolution assets
---------
Co-authored-by: M Fahru <m.fahru@overleaf.com>
GitOrigin-RevId: c463d207fdbd750cdbfe6666bb79f69dfd85c673
* Fix space between 'See all plans' and 'or'
* Tweak hero cards on /for/ pages to closer match design
* Fix 'See all plans' text size and link underlines
* Change info card padding after markup feedback
* Underline inline green link
* Reduce LaTeX on Overleaf padding by half (100->50px)
GitOrigin-RevId: b83e43725e8ced55904837a270104fdc414fe639
Implement navbar and footer changes for website redesign, and for existing pages for treatment users
GitOrigin-RevId: d91328e3928bc0e249e19eff34c6f9423784ccbf
* Add timeouts to file-view-text fetch requests with useAbortController for graceful cleanup
* Add context to error log for file-view-text content fetching
GitOrigin-RevId: de50e5d99f22b219eb31425ab39ca35d84300625
* Implement Back to School 2023 banners and modal
* Only show WritefullPromoBanner if not showing BackToSchoolModal
GitOrigin-RevId: 3bd2ea48fa6d66f112cc26662a61be05cf7daafd
* Implement LATAM geo-pricing split test
* Hide Paypal if currency is one of INR, COP, CLP, PEN
* Only send the LATAM/INR banner events when banner is rendered
* Workaround in Subscription dashboard for CLP not having minor units
GitOrigin-RevId: a677086a7762900563558126d2f81a4c57bbe9d7
* Add LATAM currencies to plan-prices generator script
* Add LATAM prices to web configs
* Add LATAM currencies to group plan price formatting
* Use toLocaleString to format currencies for LATAM regions
GitOrigin-RevId: ce672043bef16298c87efa007eac23b004be8205
* Change property name for recurly status cache to recurlyStatus
Co-authored-by: Lucie Germain <lucie.germain@overleaf.com>
GitOrigin-RevId: a1ff69d531519cd15b82ef72974e9702f43409ac