Commit graph

14303 commits

Author SHA1 Message Date
Antoine Clausse
01e1286a8b In PayPal collect invoices script: Update throw unsuccessful invoices collections (#18572)
* Remove throw on `INVOICES_COLLECTED_SUCCESS.length === 0`

Effectively reverts 038377b511

See: https://digital-science.slack.com/archives/C20TZCMMF/p1716973110408049

* Update tests so they don't expect rejections

* Reject when some invoice collection failed

GitOrigin-RevId: aa37f7fa37c96b8624e87d94be675d115e3250a9
2024-05-30 08:04:31 +00:00
M Fahru
69871fccbe Fix plans page hash does not get updated if no hash is on the URL
Example case: visit plans page via other pages, the hash will be empty initially, this commit will make sure hash is updated even though no initial hash exists.

GitOrigin-RevId: 411585111e8cf1b3eb803059ad4cf98ae4e69b19
2024-05-30 08:04:27 +00:00
Domagoj Kriskovic
218a4538c1 [web] support for reverting binary files (#18033)
* [web] revert binary file

* use addEntityWithName if file was deleted

* todo comments

* only show Revert file in ui even if deleted

* use _revertBinaryFile function

* emit new ids when reverting

* format:fix

* await emitToRoom calls

* use EditorController.upsertFile

* remove _revertBinaryFile function

* binary file check

* mock importFile method in tests

* move findElementByPath stub

* debug ci error

* resolve with empty object as file

* fix tests

* remove await before expect()

* format:fix

* test when binary file exists and when it does not

* use "file-revert" for source

* [web] revert existing file without ranges support (#18107)

* [web] revert existing file without ranges support

* ignore document_updated_externally if file-revert

* fix test

GitOrigin-RevId: a5e0c83a7635bc7d934dec9debe916bdd4beb51e
2024-05-30 08:04:20 +00:00
Tim Down
3b2e60ece7 Merge pull request #18558 from overleaf/td-bs5-query-string-override
Add a mechanism to hide incomplete Bootstrap 5 pages by default

GitOrigin-RevId: 07cc998bf3a0bed9df2f43d1c04c62d167c9b893
2024-05-30 08:04:15 +00:00
Tim Down
c67e677157 Merge pull request #18389 from overleaf/td-bs5-move-sass-npm-packages
Move Sass and related packages into web

GitOrigin-RevId: 89a58d0caa3261e3fe87292e999d1f6f799b683d
2024-05-30 08:04:11 +00:00
Andrew Rumble
22e0e51796 Merge pull request #18464 from overleaf/ar-pass-analytics-id-to-google-analytics
Add analytics ID to google analytics when configuring

GitOrigin-RevId: e2372f68217583a90df427a853e62513f1535006
2024-05-30 08:04:07 +00:00
Davinder Singh
1664722769 Merge pull request #18110 from overleaf/ds-sales-contact-form-redesign
Website Redesign - Sales Contact form configuration for the new design

GitOrigin-RevId: 51f933a535bfb7e7640a76072acc54bfb5599dc3
2024-05-30 08:04:02 +00:00
Rebeka Dekany
e3ebcb03d9 Merge pull request #18533 from overleaf/rd-bs5-shadow
[web] Import styles for the modal animation

GitOrigin-RevId: d67ba98e003b314ccd4893f17c8fa78187134d20
2024-05-30 08:03:58 +00:00
Thomas
2fa002e7e9 Merge pull request #17454 from overleaf/tm-remove-old-design-system-variables
Remove unused files from old design system

GitOrigin-RevId: 3eca6e9b91484376bde176682bbbecbc6897d1d2
2024-05-29 08:05:18 +00:00
M Fahru
c722dcbc8d Merge pull request #18419 from overleaf/mf-plans-page-permanent-url
[web] Create permanent URL for all plans and switch state in the plans page

GitOrigin-RevId: 5fa0af0e33868f8fa4f6a74627bedb4c22705cb0
2024-05-29 08:05:11 +00:00
M Fahru
97469c9bef Merge pull request #17945 from overleaf/mf-fix-disabled-state-btn-primary
[web] Fix website redesign primary button disabled style not applied properly because of CSS specificity issue

GitOrigin-RevId: 251d1f5b26bfe9a064c9bc7fd4c91fc77d8fbfe0
2024-05-29 08:05:01 +00:00
M Fahru
64e231eae4 Merge pull request #18554 from overleaf/ds-v2-second-test-login-register-page
Website Redesign - Spacing fixes on login and register pages in the new design

GitOrigin-RevId: 2012a0c07ee767b666252be2a1867024848b2879
2024-05-29 08:04:53 +00:00
Mathias Jakobsen
d95910fc71 [web] Enable history ranges support behind feature flag (#18429)
GitOrigin-RevId: 2f3b2352d2c157248da350eaf7b1784a605ebf20
2024-05-29 08:04:33 +00:00
Mathias Jakobsen
f14fdc7b7c Merge pull request #17958 from overleaf/mj-web-revert-file
[web] Initial version of file reverting

GitOrigin-RevId: ef500b2c3ddf21b0acb6650c2526edd10ab2cc18
2024-05-29 08:04:16 +00:00
Tim Down
edaba14ed1 Merge pull request #18420 from overleaf/td-bs5-nav
Bootstrap 5: Navigation

GitOrigin-RevId: d22683d78c8b3bc3f41bbd276c36f47d480e24ff
2024-05-29 08:04:05 +00:00
ilkin-overleaf
4e7fbcfe2e Merge pull request #18473 from overleaf/ii-bs5-settings-grid-fix
[web] Adjust column breakpoints in bs5 account settings page

GitOrigin-RevId: 90e7fe7561a75439166472627fdb6189ebcdefa1
2024-05-29 08:03:46 +00:00
ilkin-overleaf
abd57e03cf Merge pull request #17831 from overleaf/msm-filter-saml-error-log
[web] Filter saml error logs by path

GitOrigin-RevId: 4ca9e156657afc893f38fed7ec6b00cbb7a608ef
2024-05-28 08:04:10 +00:00
ilkin-overleaf
fe7de51827 Merge pull request #18338 from overleaf/ii-bs5-split-badges-and-tags
[web] Split badges and tags

GitOrigin-RevId: fce5a93672f431ff74c2b63a67e249f5f7e7fecd
2024-05-28 08:04:05 +00:00
Eric Mc Sween
3a1560894a Merge pull request #18516 from overleaf/em-web-resolved-comment-ids
Reintroduce resolved comment ids in getDocument()

GitOrigin-RevId: 591589efc643c815c40df440d1297158901f7a79
2024-05-28 08:04:01 +00:00
CloudBuild
1889b9a426 auto update translation
GitOrigin-RevId: d3794a68e3d5bc01d1a9ff47d55d644dbd952b1e
2024-05-27 10:24:35 +00:00
Eric Mc Sween
ea8f8d0651 Merge pull request #18506 from overleaf/em-revert-web-resolved-comment-ids
Revert #18398 - return resolved commentIds with getDocument()

GitOrigin-RevId: c5d2dd91d02d88029eb2702d73ac37cb8dbca32c
2024-05-27 10:24:25 +00:00
Eric Mc Sween
92945f504d Merge pull request #18496 from overleaf/rd-pug-warning-attributes
[web] Fix: "You should not have pug tags with multiple attributes" warning

GitOrigin-RevId: 0adfdf6a130c60966eae3c845011975af7eecc44
2024-05-27 10:24:21 +00:00
Eric Mc Sween
83e1452991 Merge pull request #18398 from overleaf/em-web-resolved-comment-ids
Return resolved comment ids with getDocument()

GitOrigin-RevId: 30234f72d52b90b313821290b6c63aa6cc6cb243
2024-05-27 10:24:13 +00:00
Alexandre Bourdin
a0c8cf663a Merge pull request #18000 from overleaf/ab-dev-enable-toolbar-default
[web] Enable the dev-toolbar by default in the dev environment

GitOrigin-RevId: 170e59e9b82268e621fe99ffcc82b7d68467e1b3
2024-05-27 10:23:56 +00:00
CloudBuild
418d77522e auto update translation
GitOrigin-RevId: 0a8a59c7cde3120f2cd54660929850a2d67d3e40
2024-05-27 10:23:51 +00:00
Jimmy Domagala-Tang
81903bb79d Merge pull request #18175 from overleaf/jdt-new-bib-file-prompt
[Web] Add opportunistic prompts for third party references

GitOrigin-RevId: d794df16781d0db707423f23ab12f40a13604907
2024-05-27 10:23:41 +00:00
Brian Gough
344b4d0fa0 Merge pull request #18088 from overleaf/ab-session-secret-rotation
[web/realtime/history-v1] Support session secret rotation

GitOrigin-RevId: 3c2fa27b1b3e0a8e0c9d1af2e616ce873d54aedf
2024-05-27 10:23:33 +00:00
Davinder Singh
a4816d6e75 Merge pull request #18396 from overleaf/ds-register-login-split-test-2
Website redesign - New round of split test for Register and login page

GitOrigin-RevId: 69fe41b004eabe3efede27da80b9885b0fc2750b
2024-05-27 10:23:22 +00:00
Antoine Clausse
554be73a36 In collect_paypal_past_due_invoice.js, iterate over each page instead of gathering data from all pages at first (#18414)
* Create `getPaginatedEndpointIterator` to iterate each page

* Create `waitMs` util, it will replace `slowCallback`

* Make `handleAPIError` async

* Make `isAccountUsingPaypal` async

* Make `attemptInvoiceCollection` async

* Make `attemptInvoicesCollection` async

* Use `await` instead of `new Promise`

* Remove unused callbackified `attemptInvoiceCollection`

* Run `attemptInvoiceCollection` for each page instead of gathering all pages in the beginning

* Add test on fetching multiple pages of invoice

GitOrigin-RevId: 2674b18c6ca5732b873fb2bc71b515909006f93d
2024-05-27 10:23:18 +00:00
CloudBuild
71cc62cd50 auto update translation
GitOrigin-RevId: 1809c29cdcc3191f0a5cffa92c2a28edeb37cc72
2024-05-27 10:23:13 +00:00
M Fahru
926218ed1b [web] Add sales-related option in all of our contact forms (#18395)
- in /contact page
- in navbar -> Help
- in the plans page
- in the editor left menu

GitOrigin-RevId: e9cecafe7c16a23155fca083dbb680ad1f6fe407
2024-05-27 10:23:06 +00:00
Rebeka Dekany
a0334898db Merge pull request #18437 from overleaf/rd-bs5-project-dashboard
Enable Bootstrap 5 to load for the project dashboard page

GitOrigin-RevId: 4aa74bd4fde98192b2e5b322bb777a8c8beae237
2024-05-27 10:22:58 +00:00
Rebeka Dekany
8d25fb1131 Merge pull request #18454 from overleaf/rd-managed-account
[web] Use the Notification component for the managed account alert

GitOrigin-RevId: 3839b171348bf0f670b6a033b99078b8543ce2e5
2024-05-27 10:22:53 +00:00
David
029cd4abe7 Merge pull request #18456 from overleaf/dp-fix-main-lint
Fix lint by using recordEventForUserInBackground

GitOrigin-RevId: 3412c9a997ce0921b25408fc584060e528843b88
2024-05-27 10:22:44 +00:00
David
635aae7b1f Merge pull request #18320 from overleaf/dp-add-secondary-prompt-ui
Add secondary email form V2 (with Captcha this time)

GitOrigin-RevId: b06216a2c9cb5b3b09305a17992eca506a0047f5
2024-05-27 10:22:40 +00:00
roo hutton
5aea030184 Merge pull request #18422 from overleaf/rh-managed-acct-delete-email
[web]: Clarify tooltip for managed user attempting to delete email address

GitOrigin-RevId: 82eabc0b9d96773d5d418bec52ea917fd585ec63
2024-05-27 10:22:36 +00:00
CloudBuild
a6d7636a70 auto update translation
GitOrigin-RevId: 52fbd8a23dd32dd7b3141c0ccfd5aabb60807bd8
2024-05-27 10:22:28 +00:00
Eric Mc Sween
a22319fe46 Merge pull request #18453 from overleaf/em-fix-floating-promise
Fix no-floating-promises lint rule

GitOrigin-RevId: 58f89e0078abf72be65552f9468cb225e5758e3e
2024-05-27 10:22:24 +00:00
Eric Mc Sween
876ee4d967 Merge pull request #18225 from overleaf/em-typescript-eslint
Add typescript-eslint rule: no-floating-promises

GitOrigin-RevId: 8c3decdff537c885f5bfeb5250b7805480bc6602
2024-05-27 10:22:20 +00:00
Rebeka Dekany
5af6acde2b Merge pull request #18390 from overleaf/rd-bs5-close-position
[web ] Fix the close button position of modal header

GitOrigin-RevId: 79c6cf272f69446cb5849421445f016ea6d53403
2024-05-27 10:22:08 +00:00
Rebeka Dekany
74f0483157 Merge pull request #18418 from overleaf/rd-bs5-cookie-banner
[web] Migrate the cookie banner to Bootstrap 5

GitOrigin-RevId: 79dd74e2cf09faab381f24101a3633b0377009a0
2024-05-27 10:22:04 +00:00
Alf Eaton
3434d8c908 Trigger PDF.js canvas redraw on document visibility change (#18446)
GitOrigin-RevId: 44b3ce3ebd8b0e48c51451bbfc5c2d54397a9355
2024-05-27 10:21:59 +00:00
Alf Eaton
6569f49a92 Set isEvalSupported to false when loading a PDF document (#18444)
GitOrigin-RevId: 394d63571d83302b91b5719389adf49155218bc7
2024-05-27 10:21:55 +00:00
Alf Eaton
3cb4190ef0 Merge pull request #18223 from overleaf/jpa-lazy-init-matcher
[web] initialize matcher for ignored file paths lazily

GitOrigin-RevId: ed04b286e188ad73e3090822965b19ccf2e7d2b4
2024-05-27 10:21:51 +00:00
Antoine Clausse
3300811d3a [web] Simplify removeSessionsFromRedis signature (#18440)
* Simplify `removeSessionsFromRedis` signature

* Update usage of `removeSessionsFromRedis`

* Fix tests around `removeSessionsFromRedis`

* Add comments "remove all sessions except the current session"

GitOrigin-RevId: 03bf99c14faf2c8e403bc4bcc16463a70e031284
2024-05-27 10:21:30 +00:00
Antoine Clausse
78a0bc2b05 [web] Convert RecurlyWrapper functions to async (#18384)
* Rename `RecurlyWrapper` to `promises`, as it will only contain the promises soon

* Update `apiRequest`

* Update `_parseXml`

* Update `_parseXmlAndGetAttribute`

* Update `_parse*Xml`

* Update `updateAccountEmailAddress`

* Update `checkAccountExists`

* Update `createAccount`

* Update `createBillingInfo`

* Update `setAddressAndCompanyBillingInfo`

* Update `createSubscription`

* Update `_createPaypalSubscription`

* Update `_handle422Response`

* Update `_createCreditCardSubscription`

* Update `createSubscription`

* Update `getSubscriptions`

* Update `getSubscription`

* Update `getPaginatedEndpoint`

* Update `getAccount`

* Update `getAccountActiveCoupons`

* Update `getCoupon`

* Update `getBillingInfo`

* Update `getAccountPastDueInvoices`

* Update `attemptInvoiceCollection`

* Update `updateSubscription`

* Update `createFixedAmmountCoupon`

* Update `lookupCoupon`

* Update `redeemCoupon`

* Update `extendTrial`

* Update `listAccountActiveSubscriptions`

* To find which functions to add as callbackified, I used this Regex:
`RecurlyWrapper\.(?!promises)[^.\s]*`

And after adding callbackified functions, we're left with no results with the Regex:
`RecurlyWrapper\.(?!promises|apiUrl|_buildXml|_parseXml|attemptInvoiceCollection|createFixedAmmountCoupon|getAccountActiveCoupons|getBillingInfo|getPaginatedEndpoint|getSubscription|updateAccountEmailAddress)[^.\s]*`

* Update unit tests

* Test `getSubscription` both as "promise" and as "callback"

I'm not sure if we want to generalize this.

* Fix: add missing `await`s (!!)

* Change `apiRequest` to reject errors instead of resolving it in an object

* Fixup for CollectPayPalPastDueInvoice test

* Fix: callbackify `getSubscriptions` (!!)

* Replace `.then(...)` chain by multiple `await`

* Fixup `attemptInvoicesCollection`: prevent reading length of undefined

* Use `return await` when returning promises

Per https://github.com/overleaf/internal/pull/18384#pullrequestreview-2065738771

GitOrigin-RevId: ceda755b24fd29f97a27e60ac5db9bc7e369f932
2024-05-27 10:21:26 +00:00
ilkin-overleaf
d56f5a3030 Merge pull request #18424 from overleaf/ii-delete-with-body-fe
[web] Replace delete with post requests when having body (FE)

GitOrigin-RevId: df727f35ea77eaa8273687f75aafd9bd983b7f25
2024-05-21 08:04:48 +00:00
ilkin-overleaf
7ca9a5b61b Merge pull request #18415 from overleaf/ii-delete-with-body
[web] Replace delete with post requests when having body

GitOrigin-RevId: b580cfa3bd53c21f46de72f3a36b647fda143b04
2024-05-21 08:04:44 +00:00
ilkin-overleaf
f469d8e5e3 Merge pull request #18369 from overleaf/ii-bs5-downshift
[web] BS5 downshift in account settings page

GitOrigin-RevId: acfbde3ec87ae8038e0b19ddaca35e6c7392743b
2024-05-21 08:04:40 +00:00
Alf Eaton
2d75652f61 Add uppy subdependencies (#18378)
GitOrigin-RevId: 8046821f4ea46e5d414e9d944ad58cc0a0a0857c
2024-05-21 08:04:35 +00:00
Alf Eaton
af721874f1 Set permissionsLevel to readOnly when out of sync (#18391)
GitOrigin-RevId: d495d7ba4d5d0c7db00277538c932a585f6dace0
2024-05-21 08:04:31 +00:00
Alf Eaton
e7827fbd57 Validate URL protocol before opening from Visual Editor tooltip (#18393)
GitOrigin-RevId: 1da255d3e8ccd91e8c8774d140ec663906be948f
2024-05-21 08:04:26 +00:00
CloudBuild
e9d4d26fec auto update translation
GitOrigin-RevId: 27e8955541b4d322e0a5571464e4d6234a638e90
2024-05-20 08:04:36 +00:00
CloudBuild
d0d2850bae auto update translation
GitOrigin-RevId: 356c7f9f2475e4715c99516f581d5aa20aebef70
2024-05-20 08:04:31 +00:00
Rebeka Dekany
1aa5ee7b21 Merge pull request #18404 from overleaf/rd-bs5-dropdown-fix
[web] Fix footer layout on the smallest viewport Bootstrap 5

GitOrigin-RevId: 741540ff5e25fe36021d0a2ef2d433dc63ee3650
2024-05-20 08:04:27 +00:00
Eric Mc Sween
dfd1652c35 Merge pull request #18375 from overleaf/em-promisify-chat-api-handler
Promisify ChatApiHandler

GitOrigin-RevId: 83cedb14b5e2b187fb2cb02fcbf888ada5a599b1
2024-05-20 08:04:22 +00:00
Rebeka Dekany
28c18e2486 Merge pull request #18365 from overleaf/rd-link-color
[web] Fix button links color

GitOrigin-RevId: ea8c1a4424ee85dd91995e45c0ef9a081a74546b
2024-05-20 08:04:17 +00:00
Antoine Clausse
25d8e053be [web] Update revokeAllUserSessions and rename it to removeSessionsFromRedis (#18360)
* Fix `revokeAllUserSessions` call in `_cleanupUser`

The user object should be passed, not the _id

* Change `revokeAllUserSessions` signature, take `req` and `stayLoggedIn` arguments

* Update uses of `revokeAllUserSessions`

* Fix promisified `revokeAllUserSessions` args

* Update tests

* Destroy or Regenerate the session in the end of `revokeAllUserSessions`

Per https://github.com/overleaf/internal/issues/17036#issuecomment-1938398570

* Revert "Destroy or Regenerate the session in the end of `revokeAllUserSessions`"

This reverts commit fe30734dbe45b27d2931d2e43a711d591bb85787.

* Rename `revokeAllUserSessions` to `removeSessionsFromRedis`

* Fixup tests

* Fix: add optional chaining in `req.sessionID` (!!)

GitOrigin-RevId: d41676bf00f463230af495e09c65fb9ee521f49f
2024-05-20 08:04:12 +00:00
CloudBuild
43c3c0c22e auto update translation
GitOrigin-RevId: f2b80a461106286993584d5d163053e11fbfbf63
2024-05-17 08:05:15 +00:00
Christopher Hoskin
3342d672c2 Merge pull request #18397 from overleaf/em-revert-download-all-link
Revert "Merge pull request #18190 from overleaf/ar-add-download-all-l…

GitOrigin-RevId: 681eb2734636d76558e682dc85083bfcaa6b7d2d
2024-05-17 08:05:10 +00:00
Antoine Clausse
d7f0c66d86 [web] Rename team name IEEECollabratec to IEEEPublications (#18387)
* Replaces all `IEEECollabratec` by `IEEEPublications`

* Revert change in migration

GitOrigin-RevId: f0445b726abdc5f65b7a0613d9979b081332685e
2024-05-17 08:05:06 +00:00
Rebeka Dekany
f652c49713 Merge pull request #18386 from overleaf/rd-footer-pug
[web] Migrate the language dropdown in footer to Bootstrap 5

GitOrigin-RevId: 07a37f59914c543ae8d33312aa313451145cd220
2024-05-17 08:05:02 +00:00
Brian Gough
598eaf08fd Merge pull request #17816 from overleaf/bg-eslint-rule-for-find-with-await
add eslint rule for find with await

GitOrigin-RevId: 7e78104e610073ff3c151d7314753c8301a8c787
2024-05-17 08:04:58 +00:00
M Fahru
9f86f90a08 Merge pull request #18095 from overleaf/mf-general-contact-form-redesign
[web][website-redesign] General contact form redesign

GitOrigin-RevId: f5f3a37fea69afb48a37b263695c958e6753e095
2024-05-17 08:04:53 +00:00
Alf Eaton
f5aa0a7a93 Improve compile assistant components (#18351)
GitOrigin-RevId: e42a37743252f6ddbc7db4e51473addb4be041b0
2024-05-17 08:04:42 +00:00
Alf Eaton
81559967f2 Ensure that onTimeoutHandler is called when there are unacknowledged edits (#18340)
GitOrigin-RevId: aa6430d7e32f6e27b67f92b187dbb13349fc6a40
2024-05-17 08:04:37 +00:00
Alf Eaton
95ab3921d7 Ensure that multiple spaces in file names are visible in the file tree (#18330)
GitOrigin-RevId: 512e89d8afbfccf1c981d4f10df1e5729248f381
2024-05-17 08:04:33 +00:00
Alf Eaton
c8947c781e Call selectEntity directly after a doc is opened (#18329)
GitOrigin-RevId: bf471812bfeb5e394252733a16691430d7d45840
2024-05-17 08:04:29 +00:00
Alf Eaton
e8a5f8f056 Catch failed references index request (#18274)
GitOrigin-RevId: 96063835056a39d85a57a77c0c7f71ce8243e6b9
2024-05-17 08:04:25 +00:00
Alf Eaton
9d6754f546 Add citepalias and citetalias (#18272)
GitOrigin-RevId: 60716cd30141f3079e9402140a5e40665bbe685f
2024-05-17 08:04:20 +00:00
Tim Down
97add91248 Merge pull request #18377 from overleaf/td-metrics-page-fix
Move Bootstrap and jQuery imports into metricsApp

GitOrigin-RevId: 3ec1690ca60928e983211792f6c6b63548dfe62c
2024-05-16 08:05:35 +00:00
Rebeka Dekany
f78e619d87 Merge pull request #18331 from overleaf/rd-bs5-renaming
[web ] Bootstrap 5 - rename the wrapper components and restructure

GitOrigin-RevId: 7a76903df81cd546e9e469f24c4f203ea6a61672
2024-05-16 08:05:31 +00:00
Mathias Jakobsen
2ce41e0ee6 Merge pull request #18323 from overleaf/mj-editor-loss-debug
[web] DEBUG: Calculate diff size when detecting edit-loss

GitOrigin-RevId: 750f7ed91d5ce81beb520e23181a6a8dc22b6078
2024-05-16 08:05:26 +00:00
David
1367a724a6 Merge pull request #18337 from overleaf/dp-long-words-in-project-titles
Wrap long words in project titles to avoid overflow

GitOrigin-RevId: aef9389f04927e4dafeb192b3275ee85cb10a78a
2024-05-16 08:05:13 +00:00
Jakob Ackermann
dfe587f297 Merge pull request #18294 from overleaf/jpa-td-invite-details
[web] avoid content reflection via query parameter on register page

GitOrigin-RevId: 43e7ba6069e0d9f3f12e5e9e680b5960b0673782
2024-05-16 08:05:09 +00:00
Andrew Rumble
105d67bd04 Merge pull request #18190 from overleaf/ar-add-download-all-link
[web] Add download all link for output files

GitOrigin-RevId: a275f17b6acf3130250d91462ba01588b93b62f5
2024-05-16 08:05:04 +00:00
Tim Down
0886104862 Merge pull request #18276 from overleaf/td-bs5-load-js
Load correct JS for the active Bootstrap version, second attempt

GitOrigin-RevId: ad8748a941691d745db5cd3e986e9c7b188b3ecb
2024-05-16 08:04:59 +00:00
Tim Down
9c1cb419de Merge pull request #18124 from overleaf/td-bs5-upgrade-packages
Upgrade Bootstrap 5 and related packages

GitOrigin-RevId: 9bf0bb957b045b52349abfdfe27fb1c41bebd91e
2024-05-16 08:04:51 +00:00
Davinder Singh
37bf30be2c Merge pull request #18155 from overleaf/ds-fix-register-form-top-padding
Website redesign- Newly designed register page fixing top padding fix

GitOrigin-RevId: 20277191b64ec20765e8d9e911be00b1dc535603
2024-05-16 08:04:23 +00:00
CloudBuild
424348724d auto update translation
GitOrigin-RevId: 9c3e8b50667df6c99223e7ef4c8eb2f8d4ff7573
2024-05-15 08:05:36 +00:00
Rebeka Dekany
ea826658a0 Merge pull request #18127 from overleaf/rd-bs-modal
[web] - Migrate the Modal to Bootstrap 5 on the Account Settings page

GitOrigin-RevId: 90799125f837742b4887eab762ca9ff84a67e70b
2024-05-15 08:05:32 +00:00
Rebeka Dekany
3ef06d57c6 Merge pull request #18256 from overleaf/rd-a11y-form
[web] Create accessibility survey link on the project dashboard

GitOrigin-RevId: 49503da67347c9e0e15a10f041252f25f0effc15
2024-05-15 08:05:28 +00:00
M Fahru
5c44fb8e9d Merge pull request #18281 from overleaf/mf-decaffeinate-server-admin-controller
[web][admin panel] Decaf cleanup of AdminController

GitOrigin-RevId: fca50565e140435b833c303d2a0dfac7449c3e17
2024-05-15 08:05:24 +00:00
M Fahru
ec1ab82789 Merge pull request #17479 from overleaf/mf-clean-up-plans-styling
[web] Clean up plans page styling

GitOrigin-RevId: fe05e9a1fd6c29c62941c878fe5e676d062c37de
2024-05-15 08:05:20 +00:00
M Fahru
fe1417ffe9 Merge pull request #17914 from overleaf/mf-remove-old-homepage-css-rules
[web] Remove unused old homepage css code

GitOrigin-RevId: 7b49a01ea01156405d825146d739ec51cd40c336
2024-05-15 08:05:15 +00:00
ilkin-overleaf
482bd7fb9c Merge pull request #18103 from overleaf/ii-bs5-forms
[web] Bootstrap 5 form elements

GitOrigin-RevId: 7d031bed07007d0aa00a43f06d25bfb7384dee87
2024-05-15 08:05:11 +00:00
Antoine Clausse
9419cc3b37 [web] Add tests to collect_paypal_past_due_invoice.js + update logging (#18310)
* Fix: Invoices collected array length comparison

Update the code with the correct condition to respect the intent of the previous implementation ("exit with non zero code when no invoicess were processed").
See 5476f39984

However, I'm not sure if erroring when no invoices are collected is actually what we want to do.

* Wrap `collect_paypal_past_due_invoice` script and export the function

* Fixup typo `accoutns`

* Log invoices collection data before throwing

* Add note: `handleAPIError` is silencing the errors

* Create a test on `collect_paypal_past_due_invoice`

* Replace `console.log` by `@overleaf/logger` (bunyan)

Our `console.warn` show up as Errors (in red) in GCP. For example the following is an error in GCP:
```
Errors in attemptInvoiceCollection with id=2693634 OError: Recurly API returned with status code: 400
```
https://github.com/overleaf/internal/blob/5476f39/services/web/scripts/recurly/collect_paypal_past_due_invoice.js#L9

---

Does it correctly set the levels as warnings if we use `@overleaf/logger`

GitOrigin-RevId: 37c8bdf4afd8cef4706700aafb44480ec8966a74
2024-05-15 08:04:46 +00:00
Antoine Clausse
a8f46f1d75 [web] Add with-split-tests util for storybook (#17809)
* Add `with-split-tests` util for storybook

It wraps storybook in a SplitTest context provider with configurable variant values. And it adds controls for them in the storybook UI

* Define `splitTestsArgTypes` in `withSplitTests`

* Revert "Add `with-split-tests` util for storybook"

This reverts commit 3ff351ac

* Edit stories: remove SplitTestProvider and add more digits to amounts

* Create `addon-split-tests` to manage split-tests from Storybook

* Add a `splitTests` parameter to define individual Stories relevant split-tests

* Revert "Add a `splitTests` parameter to define individual Stories relevant split-tests"

This reverts commit 6cbf62729a3d682d695c36e11a86bd576cb7aec1.

* Revert "Create `addon-split-tests` to manage split-tests from Storybook"

This reverts commit d0734a1773c96860e82d81fd62fc9034e2b6e41c.

* Revert "Revert "Add `with-split-tests` util for storybook""

This reverts commit 407fc39b

* Improve types of price-summary.stories.tsx

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>

---------

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: bcf3d9f317590a00fb633851ef36146eb800fcfc
2024-05-15 08:04:38 +00:00
David
6718729087 Merge pull request #18318 from overleaf/dp-revert-secondary-email
Revert "Merge pull request #18139 from overleaf/dp-add-secondary-prompt-ui"

GitOrigin-RevId: d8af37a5c332ac21ddd4c85679553df0bda326f9
2024-05-14 08:04:11 +00:00
David
0630e96d49 Merge pull request #18139 from overleaf/dp-add-secondary-prompt-ui
Add UI for secondary email prompt

GitOrigin-RevId: 887b2c7f0047f19b605f03745f7dda83926ec70b
2024-05-14 08:04:01 +00:00
Brian Gough
41cb0859db Merge pull request #18283 from overleaf/bg-session-secret-use-session-secret-in-web
replace SECURITY_SESSION_SECRET with SESSION_SECRET in web

GitOrigin-RevId: f6ff5f13cf04e1b59fe44a394a0888af55ae140f
2024-05-14 08:03:57 +00:00
Domagoj Kriskovic
becef5f236 [web] Show confirmation modal when reverting a file (#18105)
* [web] Show confirmation modal when reverting a file

* only show Revert file in ui even if deleted

* format:fix

* using the same message for every revert

* replace "document" with "file" in confirm dialog

* remove "pull-left" class

* fix split test name

GitOrigin-RevId: ab5937b9a0570cd1fdbe5d71eda0a16ae539dc66
2024-05-14 08:03:44 +00:00
CloudBuild
b979ff8ad8 auto update translation
GitOrigin-RevId: e7bc4200f0e28814cfae53bc1fa2b1a4f329c8ab
2024-05-10 08:04:06 +00:00
CloudBuild
89f1f7733f auto update translation
GitOrigin-RevId: 6fdb1d86b1911acde0cd0305db644f073cae61ad
2024-05-09 08:05:38 +00:00
Jakob Ackermann
9ea6b2f8b1 Merge pull request #18252 from overleaf/jpa-refactor-for-flaky-test
[web] refactor background job for setting root doc automatically

GitOrigin-RevId: 719c010eb3e5b692908b7a6fea9d8522b9fc01b9
2024-05-09 08:05:23 +00:00
Copybot
9ee7c86b41 Merge pull request #1208 from tgotowik:hotfix-user-create-mail
GitOrigin-RevId: 8e4c159513533598b1ad3eb223a4a7033a2ef736
2024-05-09 08:05:19 +00:00
Jakob Ackermann
9c5eb9630b Merge pull request #18222 from overleaf/jpa-socket-io-mock
[web] replace socket.io-mock with simple EventEmitter based interface

GitOrigin-RevId: 012e4263367a83e16efea3947f310a2de9a65279
2024-05-09 08:05:14 +00:00
Jessica Lawshe
c6b88085d5 Merge pull request #18188 from overleaf/jel-react-group-invite
[web] Migrate team invite to React

GitOrigin-RevId: 32e968c3b512020aef9a396808c73a7b4859e6d1
2024-05-09 08:05:03 +00:00
Rebeka Dekany
3ae88d80bd Merge pull request #18201 from overleaf/rd-bootstrap-fixes
[web] Fixing styles on the Account Settings page

GitOrigin-RevId: f20d8ccdf762970e22829a15c65d674e3d402bcf
2024-05-09 08:04:55 +00:00
Rebeka Dekany
77e2206320 Merge pull request #18160 from overleaf/rd-footer-bs-new
[web] Migrate the footer to Boostrap 5

GitOrigin-RevId: 65c3d9bb4aa4647dd3e9aefed8f86162488d3174
2024-05-09 08:04:50 +00:00
Alf Eaton
c1c098e2f9 Allow files to be dragged from the file tree into the editor (#15028)
GitOrigin-RevId: f926666c032d1398a0e3f72a298116a3c7a9cd75
2024-05-09 08:04:46 +00:00
Alf Eaton
cb297e342a [visual] Improve handling of pasted lists (#14912)
GitOrigin-RevId: 15e91ef6807433c5fb0a9bedbd5fea42ac35a5f0
2024-05-09 08:04:42 +00:00
Alf Eaton
a2ff44d7d4 Merge pull request #18214 from overleaf/ae-visual-underline
[visual] Set text-underline-offset for links

GitOrigin-RevId: c65a92cada0e219bdb72e10d8987dbd5da7cd629
2024-05-09 08:04:38 +00:00
Alf Eaton
de353bd8aa Move the compile assistant into individual log entries (#18168)
GitOrigin-RevId: 391fd9f31e637bf27f81ebee0dd33fcdfba5f22b
2024-05-09 08:04:33 +00:00
Alf Eaton
5f2ace2ad2 Merge pull request #18210 from overleaf/ae-upload-limit
Increase max files limit to 180 in the file uploader

GitOrigin-RevId: 51d5ad940c6796052a6a2255d7cad4756a467397
2024-05-09 08:04:24 +00:00
CloudBuild
c65d121cf0 auto update translation
GitOrigin-RevId: ac7add0a699179cbd1567af7f9f25dcaccaaec50
2024-05-08 08:04:00 +00:00
Jimmy Domagala-Tang
a40c593a21 Merge pull request #18174 from overleaf/jdt-file-name-context
[Web] add selectedFileName to context in editor (fileTreeActionable)

GitOrigin-RevId: 53bc1a9692cbd6626a44ae8f0cd8ac68d6ce69ae
2024-05-08 08:03:55 +00:00
Jimmy Domagala-Tang
72b53fe8db Merge pull request #18173 from overleaf/jdt-container-utils
[Web] Add container based hide utils to our util css

GitOrigin-RevId: 193abf1242ec4a816299fabf486754b3bcbae147
2024-05-08 08:03:51 +00:00
Domagoj Kriskovic
24cdfdf92f [web] fix navbar button hover color (#18241)
GitOrigin-RevId: c4a415d7b5ea9757044df69bdbf49e75d00a0c46
2024-05-08 08:03:47 +00:00
CloudBuild
986685f47e auto update translation
GitOrigin-RevId: f9a875d84c88a175583c779261386f9e2585a415
2024-05-07 08:04:09 +00:00
Eric Mc Sween
e87df4a791 Merge pull request #18167 from overleaf/em-simpler-typescript-backend
Simpler Typescript setup in the backend

GitOrigin-RevId: 3a90f26a5ac8029d14203faa98008375ce933e7d
2024-05-07 08:04:00 +00:00
Domagoj Kriskovic
5da8662fa8 [web] fix alignment issue for "back to editor" button (#18218)
GitOrigin-RevId: 2a5df7019188f305d475065ab00b6f33722e60d7
2024-05-06 08:04:50 +00:00
Antoine Clausse
eca84b9370 Reintroduce compile sampling for analysis (#18217)
* Revert "Merge pull request #14143 from overleaf/jlm-unsampled-compiles"

This reverts commit 2457977d61756be52db506d7c84531b22a26abe0, reversing
changes made to 3c452b3943c453707aac90d38e7b5b2ea9df0df4.

* Re-add export of `getPercentile` in SplitTestHandler.js

Was previously removed in aa8c0aadec

GitOrigin-RevId: 42c48829e7246a6bdb9dbb2d075638c1eafdf2f0
2024-05-06 08:04:45 +00:00
Antoine Clausse
2f99e3ccf1 Add autoComplete="off" to React-controlled checkboxes (#18212)
Fixes https://github.com/overleaf/internal/issues/18144

Browsers use a [bfcache](https://web.dev/articles/bfcache) (Back/forward cache) which restores form data on navigation. Unfortunately, it causes checkbox appearances not to respect our React states.

Setting `autoComplete="off"` on checkboxes mitigates this problem. (From https://stackoverflow.com/questions/299811/why-does-the-checkbox-stay-checked-when-reloading-the-page)

Another solution could be to set a `Cache-Control: no-store` header, but this might additionnal undesired consequences.

GitOrigin-RevId: 7d3cceb1c818ad70de7e806ea6d714ffc8bffb4a
2024-05-06 08:04:39 +00:00
David
0c20c86878 Merge pull request #18178 from overleaf/dp-insert-figure-translations
Add translations for insert figure dropdown

GitOrigin-RevId: 6ffbf0229f7ac222619271688517bc50339c10f6
2024-05-06 08:04:16 +00:00
Jakob Ackermann
9981be0cc1 Merge pull request #18199 from overleaf/jpa-cleanup-redirects
[web] cleanup redirects in session when reaching project dashboard

GitOrigin-RevId: aff131ebf68dda059d7d6949563e72834decd894
2024-05-06 08:04:10 +00:00
Alf Eaton
9729befe59 Merge pull request #18170 from overleaf/ae-token-access-page
Convert token access page to React

GitOrigin-RevId: d7434f0de395c47a95d00767727fbe9d43f9abca
2024-05-03 08:05:01 +00:00
Alf Eaton
ab5495023a [visual] Add support for description list environments (#13460)
GitOrigin-RevId: d1ddfeed4ba453afa348e57d75fdb3e12d29f5fc
2024-05-03 08:04:53 +00:00
CloudBuild
49a74544b8 auto update translation
GitOrigin-RevId: 51358bc2a16648dee1351a35b7338de9321f5a87
2024-05-03 08:04:49 +00:00
Eric Mc Sween
65f20a4d56 Merge pull request #18186 from overleaf/em-migration-dependencies
Add a migration helper checking dependent migrations

GitOrigin-RevId: 96aa6238b20115206554faaa4c2aefc537bbe7e8
2024-05-03 08:04:36 +00:00
Jakob Ackermann
4c49841637 Merge pull request #18153 from overleaf/jpa-validate-session-in-store
[web] check for redis connection being out of sync in session store

GitOrigin-RevId: c271e88d4e1fbcb0f7a57f4775e8ef88b70b16a8
2024-05-03 08:04:25 +00:00
Jakob Ackermann
0576e02127 Merge pull request #18152 from overleaf/jpa-stricter-session-validation
[web] stricter session validation

GitOrigin-RevId: 3ef916318fde7f31e3e3fd0f7082dde7a2975a27
2024-05-03 08:04:20 +00:00
Tim Down
a452e1e8cd Merge pull request #18195 from overleaf/revert-18120-td-bs5-load-js
Revert "Load correct JS for the active Bootstrap version"

GitOrigin-RevId: 7f6e846b5461cfbacec874ed55bba577e414f3a6
2024-05-03 08:04:16 +00:00
Tim Down
56150d9dbc Load correct JS for the active Bootstrap version (#18120)
* Load correct JS for the active Bootstrap version

* Tidy up bootstrapVersion declaration

* Add Bootstrap JS to website redesign layout

* FIx error on interstitial subscriptions page

* Remove unnecessary import of jQuery and Bootstrap

* Use global entrypointScripts in bootstrap-js mixin

GitOrigin-RevId: 6b1977354a72dc69008fc0d2e3baec2f28d97f6b
2024-05-03 08:04:07 +00:00
CloudBuild
fb05c0bb82 auto update translation
GitOrigin-RevId: 1850bdf3c1c7cd7c3e4b60ed895278602f4be0f9
2024-05-02 08:04:04 +00:00
Jessica Lawshe
a827e925c3 Merge pull request #18158 from overleaf/jel-managed-enrollment-label
[web] Fix text wrapping of label on managed users enrollment

GitOrigin-RevId: f87d51d1f32d64b9fdebd865f340f39bad844870
2024-05-02 08:04:00 +00:00
Jessica Lawshe
ae0abd6445 Merge pull request #18159 from overleaf/jel-group-invite-header
[web] Break word on group invite header

GitOrigin-RevId: 790c24e8291f1dbdfa9231e4c9e3d4e531bf2b8f
2024-05-02 08:03:52 +00:00
CloudBuild
d02f175afa auto update translation
GitOrigin-RevId: 55307f35eccdc6ea38d1b58a45bd06f2b8a2adaa
2024-05-01 08:05:09 +00:00
Jimmy Domagala-Tang
0ca7a385d5 Merge pull request #18131 from overleaf/jdt-promo-hooks
feat: split logic for promos out to hooks
GitOrigin-RevId: 8f713cdf309f84dddb20e8da76009512bd990a8f
2024-05-01 08:05:04 +00:00
Antoine Clausse
a26c655220 Delete 3 migration scripts for compile-timeouts (#18163)
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 2d66052994159b6d902b807f02488095d65562e1
2024-05-01 08:05:00 +00:00
Antoine Clausse
6a6f155029 [web] Use React hooks to get split-test variants instead of getSplitTestVariant (getMeta) (#18133)
* Fix split-tests loading in React component: use `useSplitTestContext` instead of `getSplitTestVariant`

* Replace use of `isSplitTestEnabled` by `useSplitTestContext`

* Add SplitTestProvider to roots, and fix tests

* Create `useFeatureFlag` hook

* Use `useFeatureFlag` where applicable

GitOrigin-RevId: 9ff7bb3975d50bc4d07d74d93c482d56dc96f615
2024-05-01 08:04:55 +00:00
Domagoj Kriskovic
ebb34b40c1 [web] "back to editor" button when history is opened (#18137)
* [web] "back to editor" button when history is opened

* rename to shouldReopenChat

* move to separate component

* show online users widget

* using MaterialIcon

* import useState directly

* fix formatting

GitOrigin-RevId: c37432f16518ef83510c48d90722e74b228b5ab1
2024-05-01 08:04:51 +00:00
Rebeka Dekany
62c2937dac Merge pull request #18164 from overleaf/rd-remove-endpoints
[web] Remove publicly accessible endpoints

GitOrigin-RevId: c8e57faf6418274cac36b6e721c97a4ca70a1193
2024-05-01 08:04:46 +00:00
Alf Eaton
417de9ee87 Fix formatting
GitOrigin-RevId: 94ebd836a8cc3fbbb3ea1b7284b1c1863263d96f
2024-05-01 08:04:41 +00:00
Copybot
faf9bc39c4 Merge pull request #1108 from chschenk:feature_maxEntitiesPerProject
GitOrigin-RevId: ceeb1c13e5bbc3eb498e0ee1040ab8bbfeb574a9
2024-05-01 08:04:36 +00:00
Alf Eaton
08c784f58a Translate You on project dashboard (#18122)
GitOrigin-RevId: 5157df9079460c5aa8122fc29b14babf12a32bc4
2024-05-01 08:04:31 +00:00
Alf Eaton
8921b8484e Merge pull request #18140 from overleaf/ae-log-rules
Add new regular expressions for matching compiler error messages

GitOrigin-RevId: ab6e17951c29c2a68b385b7e0cb77abf2d22281d
2024-05-01 08:04:27 +00:00
Rebeka Dekany
285a0cae03 Merge pull request #17309 from overleaf/rd-bootstrap-5-stylelint
[web] Introducing Stylelint as the CSS linter

GitOrigin-RevId: 89ee8860cdb3a94949749577b63cde2c3dc213fb
2024-05-01 08:04:13 +00:00
Rebeka Dekany
46485e0347 Merge pull request #18030 from overleaf/rd-bootstrap-settings-css
Migrate account-settings.less file to Bootstrap 5 and Sass

GitOrigin-RevId: 898cd811d6a0576cb0faacdd729461198324d2d5
2024-05-01 08:04:08 +00:00
Andrew Rumble
9c3d9ef590 Merge pull request #17935 from overleaf/ar-refactor-compile-async
[web] make CompileManager async

GitOrigin-RevId: 617bde1f429fa9aafc7d4bf4ec628b2a22386b19
2024-04-30 08:04:43 +00:00
Antoine Clausse
cdd79e8ec0 Fix: unset recent users featuresUpdatedAt after wrong update (#18149)
* Copy previous script

* Remove `featuresUpdatedAt` that was wrongly set on recent users

* Fix! `signupDate` -> `signUpDate`

* Add test on `migration_compile_timeout_60s_to_20s_fixup_new_users.js`

* style: `$unset: { featuresUpdatedAt: 1 }` -> `$unset: { featuresUpdatedAt: '' }`

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

* Add comment on test (https://github.com/overleaf/internal/pull/18149#discussion_r1582999534)

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

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 408f5c7d48e60722aba736167b8e8858e9570d99
2024-04-30 08:04:33 +00:00
Antoine Clausse
711d50a2f1 [web] Create script to update forgotten featuresUpdatedAt after the migration to 20s compile timeout (#18113)
* Copy `migration_compile_timeout_60s_to_20s.js` script

* Update `featuresUpdatedAt`

* Add a comment about `featuresUpdatedAt` in migration_compile_timeout_60s_to_20s.js

* Fix test on migration_compile_timeout_60s_to_20s.js

* Fix: Include users having `featuresUpdatedAt` undefined in the update

* Add test on `migration_compile_timeout_60s_to_20s_fixup_features_updated_at`

GitOrigin-RevId: 4b2baf955a6a9f39bf9ce00b7839af551064c6cb
2024-04-30 08:04:28 +00:00
CloudBuild
70c05dd5f7 auto update translation
GitOrigin-RevId: 1c8fdfb7e8e0e3cb88e6f2f7e51d6a3b2da27826
2024-04-29 08:04:58 +00:00
Jakob Ackermann
afca054a22 Merge pull request #18136 from overleaf/jpa-fix-i18n-scanner-glob
[web] instruct i18next-scanner to look at frontend code only

GitOrigin-RevId: 094cc571810f142b535d0813c2002944a0e1ab9d
2024-04-29 08:04:45 +00:00
CloudBuild
568044ee48 auto update translation
GitOrigin-RevId: a8aa6d0ff44aa96d16f7e4978014b36ab8b2fde7
2024-04-26 08:05:05 +00:00
Brian Gough
29105911c5 Merge pull request #17732 from overleaf/bg-session-mitigation-initial-protoype
anonymous cookie-based sessions module

GitOrigin-RevId: 75fe2d48fa384ba8d07c0b478a9a5a907a2b3b67
2024-04-26 08:04:54 +00:00
Jakob Ackermann
a540754f6e Merge pull request #18116 from overleaf/jpa-bulk-replace-localhost
[misc] bulk replace localhost with 127.0.0.1

GitOrigin-RevId: d238f3635302e8ff5500d611108c4d1bef216726
2024-04-26 08:04:39 +00:00
Jakob Ackermann
90a02ebc2f Merge pull request #17949 from overleaf/jpa-set-nx-xx
[web] stricter writes to redis when creating and updating sessions

GitOrigin-RevId: 79723e0d38884bf723c7a2ba32993e4daa2612a0
2024-04-26 08:04:35 +00:00
Alf Eaton
cb97bb5170 Add "None" option to "Main document" menu when no root doc is set (#18102)
GitOrigin-RevId: 5e1cd6bcbf070d7b6a92a1fcd69370361a3e6d3e
2024-04-26 08:04:31 +00:00
Antoine Clausse
ede03daafd Rename test to local-ccy-format-v2 to restart with clean data (#18115)
GitOrigin-RevId: 610495f41d69f8cac1a427ef7b8d64886bc5cdba
2024-04-26 08:04:26 +00:00