Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4001 commits
Select commit Hold shift + click to select a range
3078c98
Merge branch 'meet-warning-log' into 'main'
Apr 7, 2026
abf018f
Update OpenPGP.js to v6.3.0 (limit argon2 max memory to 1gb, internal…
Mar 19, 2026
f5b0987
Merge branch 'crypto-update-pmcrypto-8.9.0' into 'main'
Apr 7, 2026
8cb3176
Update certificate transparency log list
Apr 5, 2026
adb774e
Merge branch 'ci-update-ct-list-auto' into 'main'
Apr 8, 2026
56787dd
DRVWEB: Add proxy instrumentation to detect SDK/node mistmatch
Apr 8, 2026
f577814
Merge branch 'DRVWEB-drive-client-detection' into 'main'
Apr 8, 2026
ff3a783
Fix identity email autofill regression
edvincandon Apr 8, 2026
8e8fd2a
Merge branch 'IDTEAM-5935-identity-email-autofill-regression' into 'm…
Apr 8, 2026
8db0b48
show subtitle in firefox as addon not allowed to open about:addons
nguyenkims Apr 7, 2026
b402a9c
Merge branch 'IDTEAM-5859-firefox-configure' into 'main'
Apr 8, 2026
e682058
[DRVWEB-5172] sidebar refactoring
Apr 8, 2026
ae5cf6b
Merge branch 'DRVWEB-5172-sidebar-refactoring' into 'main'
Apr 8, 2026
037548d
[LUMO-477] Add mobile selector for theme button
mateuszszklarek Apr 8, 2026
5ce63f7
Merge branch 'fix/LUMO-477-mobile-selectors' into 'main'
Apr 8, 2026
87821c7
[DRVWEB-5297] Generate .mov thumbnail properly
Apr 8, 2026
4a8e95b
Merge branch 'dotmove-thumbnails' into 'main'
Apr 8, 2026
528ecef
Update Drive SDK to 0.14.4
Apr 8, 2026
2f2e31b
Merge branch 'chore/update-drive-sdk-0-14-4' into 'main'
Apr 8, 2026
7ade0e3
Fix drag and drop into breadcrumb
HeadFox Apr 8, 2026
e407775
Merge branch 'drive/fix-drop-breadcrumb' into 'main'
Apr 8, 2026
f19465a
Add new cancellation modal for feedback first journey
fraser-proton Apr 8, 2026
12026fa
Merge branch 'INWEB-888-confirm-cancellation-UI' into 'main'
Apr 8, 2026
323bd93
Make canLoadRunner async and improve storage checks
flavienbonvin Apr 8, 2026
7ba7cb8
Merge branch 'INWEB-912-improve-storage-limitation-detection' into 'm…
Apr 8, 2026
a25b676
Fix race condition in recording and move participants maps state into…
RayoProton Apr 8, 2026
cb06a5e
Merge branch 'move-set-participants-maps' into 'main'
Apr 8, 2026
39a6081
Fix import modals not being shown in contacts and calendar settings
LeGrosSancho Apr 8, 2026
0c30d36
Merge branch 'P1-433-fix-impot-modals-not-shown-in-contact' into 'main'
Apr 8, 2026
9ab219f
Create a Pass release status scheduled job
Swiip Apr 8, 2026
5f13dd8
Merge branch 'IDTEAM-0000-release-status' into 'main'
Apr 8, 2026
36505af
Add zoom to HEIC preview in browsers other than Safair
Apr 8, 2026
71cf878
Merge branch 'fix/heic-preview-outside-safari' into 'main'
Apr 8, 2026
8e6fc94
Move Zendesk login call to different useEffect
Vijayasingam Apr 8, 2026
1f61938
Merge branch 'move-zendesk-login-mechanism' into 'main'
Apr 8, 2026
9b3df6a
Fix booking upsell condition
LeGrosSancho Apr 8, 2026
b2df0ad
Merge branch 'fix-booking-upsell-condition' into 'main'
Apr 8, 2026
8ab2f8e
Remove "spring sale 2026" offer
Apr 7, 2026
f61bd6d
Merge branch 'chore/delete-spring-sale-2026' into 'main'
Apr 8, 2026
9658e05
Tech: replace manual event loop calls with targeted polling for some …
Apr 8, 2026
7ba16b5
Merge branch 'tech/remove-outdated-usePollEvents' into 'main'
Apr 8, 2026
c8a5137
[VPNB2B-59] Add CollapsibleGroup to Collapsible component
asieraduriz Apr 8, 2026
6f7cd85
Merge branch 'VPNB2B-59--add-collapsible-group' into 'main'
Apr 8, 2026
9b5c2a2
Remove Greenland/Iceland signup page 🧹
lkpch Apr 8, 2026
aebdc68
Merge branch 'P2-2064-remove-greenland-signup-page' into 'main'
Apr 8, 2026
e0a052e
Fix copy button bug in assistant response
Apr 8, 2026
a7f8b70
Merge branch 'LUMO-476-copy-button-bug-fix' into 'main'
Apr 8, 2026
210836f
Added orchestrator for new feedback first cancellation flow
fraser-proton Apr 8, 2026
81f1c68
Merge branch 'INWEB-881-orchestrator-for-feedback-flow' into 'main'
Apr 8, 2026
cf1063d
Improve latex handing and remove markdown formatting for user messages
Apr 8, 2026
d289c1d
Merge branch 'lumo-better-latex-handling' into 'main'
Apr 8, 2026
e0317b1
Refactor: moved billing address error message to SubscriptionSubmitBu…
Apr 8, 2026
923ede8
Merge branch 'refactor/move-zipcode-error' into 'main'
Apr 8, 2026
5d2f16e
Group: implement new design for Group Page
Apr 8, 2026
a4d91dc
Merge branch 'adminrole/new-group-design' into 'main'
Apr 8, 2026
b4602b8
Pass uid instead of object to prevent infinite re-render on sidebar
HeadFox Apr 8, 2026
ea012f8
Merge branch 'drive/fix-infinite-rerender-sidebar' into 'main'
mmso Apr 8, 2026
41eefc6
Downgrade react-router-dom to same as used in account
mmso Apr 8, 2026
e792917
Update tv container not signed in to take paths
mmso Apr 8, 2026
8258c7b
Merge branch 'fix-vpn-tv' into 'main'
mmso Apr 8, 2026
6948cdf
[VPNB2B-57] Add telemetry events
asieraduriz Apr 7, 2026
d254c82
Merge branch 'VPNB2B-57--add-telemetry-events' into 'main'
Apr 8, 2026
c64ef95
Fix subscription change updating organization
mmso Apr 8, 2026
c2c888d
Merge branch 'fix-subscription-update' into 'main'
Apr 8, 2026
11fb980
i18n(calendar): update translations from crowdin 8152bb0e47
Apr 9, 2026
4f53b76
i18n(mail): update translations from crowdin fd7a85e144
Apr 9, 2026
507b1f8
i18n(drive): update translations from crowdin de01f41966
Apr 9, 2026
06d9d8a
i18n(account): update translations from crowdin a8af57a4c9
Apr 9, 2026
abbeaf8
i18n(vpn-settings): update translations from crowdin 846c0d8bc5
Apr 9, 2026
71c3937
i18n(verify): update translations from crowdin a1bf568c82
Apr 9, 2026
f46263e
i18n(pass): update translations from crowdin 7d44ec4dd5
Apr 9, 2026
0860c83
i18n(pass-web): update translations from crowdin 1e2f50512c
Apr 9, 2026
2d16b24
i18n(pass-desktop): update translations from crowdin 9d45914cfe
Apr 9, 2026
a96b0df
i18n(wallet): update translations from crowdin a12f87c386
Apr 9, 2026
13f88db
i18n(docs): update translations from crowdin 7012278bb2
Apr 9, 2026
886f3d0
i18n(docs-editor): update translations from crowdin 993ab97da9
Apr 9, 2026
001f4ec
i18n(lumo): update translations from crowdin 48098b1ad6
Apr 9, 2026
029a0c4
i18n(meet): update translations from crowdin fc93620fe8
Apr 9, 2026
eb4d171
Merge branch 'translations_2026-04-09_050336_bee48a63' into 'main'
Apr 9, 2026
ddc7f51
[DRVWEB-5338] Pass correct drive inside photos/album section for sharing
HeadFox Apr 9, 2026
ea9f97a
Merge branch 'DRVWEB-5338-public-image-shared-albun' into 'main'
Apr 9, 2026
3d30870
[DRVWEB-5305] fix scrolling visible after collapse
Apr 9, 2026
dc8f898
Merge branch 'DRVWEB-5305-fix-scrolling-visible-after-collapse' into …
Apr 9, 2026
f99c984
Adding free Mail signup variants for experiment
fraser-proton Apr 9, 2026
68fa390
Merge branch 'INWEB-661' into 'main'
Apr 9, 2026
b8f5344
DRVWEB-5324: Handle gracefully abort errors in invitation loader
Apr 9, 2026
6f81edd
Merge branch 'DRVWEB-sharedwith-meloading-invite' into 'main'
Apr 9, 2026
0465046
Preapprove @ proton and @ protontech npm packages in yarnrc
Apr 9, 2026
c56135b
Merge branch 'DRVWEB-allowlist-search-foundation-in-Clients' into 'main'
Apr 9, 2026
4e17785
AdminRole: Show "Roles and permissions" tab inside SubUserCreateModal…
Apr 9, 2026
8ec8546
Merge branch 'adminrole/user-page/002-implement-modal-tab-header' int…
Apr 9, 2026
a91e97b
Make the zoom feature flag a kill switch
flavienbonvin Apr 2, 2026
9a4d63f
Remove Zoom integration flag usage in calendar main container
flavienbonvin Apr 9, 2026
6a20cce
Merge branch 'zoom-kill-switch' into 'main'
Apr 9, 2026
727215d
Improve condition to show upsell icon
LeGrosSancho Apr 9, 2026
32905b0
Merge branch 'BOOK-398-hide-upsell-icon-for-meet-pro' into 'main'
Apr 9, 2026
7c779dc
Unauthed reset password flow with state machine
Vijayasingam Apr 9, 2026
e1331f7
Merge branch 'unauthed-forgot-password-with-better-state-machine' int…
Apr 9, 2026
dbc8541
[BOOK-401] Removed busy slots from Lumo, Meet and VPN Pass bundle
Apr 8, 2026
4f47d90
Merge branch 'BOOK-401' into 'main'
Apr 9, 2026
684dbac
Lumo guest sidebar bug fix
Apr 9, 2026
44cd327
Merge branch 'lumo/guest-sidebar-crash-bug-fix' into 'main'
Apr 9, 2026
451614f
AdminRoles: fetch user roles and permissions on app load
Apr 9, 2026
1015e27
Merge branch 'user-permission/fetch-current-user-roles-and-permission…
Apr 9, 2026
c86c993
Fallback to main currency in the bookings upsell
flavienbonvin Apr 9, 2026
3c6e2aa
Update the currency un the copy
flavienbonvin Apr 9, 2026
21fb176
Merge branch 'BOOK-403-fallback-main-currency' into 'main'
Apr 9, 2026
0154858
[INWEB-904] Allow admins to create booking pages with Meet
Apr 9, 2026
207cd6c
Merge branch 'INWEB-904' into 'main'
Apr 9, 2026
c140328
[VPNB2B-56] Use a ref instead of another div for visibility observer
asieraduriz Apr 9, 2026
d4a4193
Merge branch 'VPNB2B-56--fix-visibility-observer-broken-styles' into …
Apr 9, 2026
4afb878
[DRVWEB-5299] Catch abortSignal to prevent notification in loadShared…
HeadFox Apr 9, 2026
2f42e66
Merge branch 'DRVWEB-5299-handle-abort-shared-with' into 'main'
Apr 9, 2026
a5f3c44
Bump sdk to 0.14.6
HeadFox Apr 9, 2026
f247bb9
Merge branch 'drive/bump-sdk' into 'main'
Apr 9, 2026
16dcd56
[DRVWEB-5339] fix download not stopped on cancel all
Apr 9, 2026
f3f0777
Merge branch 'DRVWEB-5339-download-not-stopped-on-cancel-all' into 'm…
Apr 9, 2026
9252827
Remove meet account ff
Apr 9, 2026
e9fd912
Merge branch 'remove-meet-account-ff' into 'main'
Apr 9, 2026
869e176
[VPNB2B-56] Only send to telemetry when feature is enabled
asieraduriz Apr 9, 2026
8e6087b
Merge branch 'VPNB2B-56--send-events-when-feature-is-enabled' into 'm…
Apr 9, 2026
270257f
Fix Lumo settings modal
nico3333fr Apr 9, 2026
ba628f7
Merge branch 'fix/flex-issue-lumo-settings' into 'main'
Apr 9, 2026
fbe2c03
[LUMO-484] Fix keyboard appearing after speech-injection submit
mateuszszklarek Apr 9, 2026
4525b8c
Merge branch 'fix/LUMO-484-keyboard-has-focus-after-submit' into 'main'
Apr 9, 2026
c2e281c
[BOOK-400] Move scheduling features to Calendar
Apr 9, 2026
972086c
Merge branch 'BOOK-400' into 'main'
Apr 9, 2026
9f02cf1
Fix autofill plan-derived `writableOnly` flag in `selectAutofillableS…
edvincandon Apr 9, 2026
2f3e2fe
Merge branch 'IDTEAM-5969-autofill-non-writable-fix' into 'main'
Apr 10, 2026
e0f88a7
[LUMO] Don't disable external tools when the message has attachments
Apr 8, 2026
f86ecb1
Merge branch 'lumo/dont-disable-web-search-for-attachments' into 'main'
Apr 10, 2026
eec0364
Update “End meeting for everyone” modal to new modal style and copy
Apr 10, 2026
f673701
Merge branch 'MEET-1045' into 'main'
Apr 10, 2026
1f6a380
Bump axios dependency
nico3333fr Apr 10, 2026
2687722
Merge branch 'fix/axios-bump' into 'main'
Apr 10, 2026
ce71718
Remove re-exports from @proton/payments barrel
lkpch Apr 10, 2026
c743c16
Merge branch 'cleanup-payments-barrel-1' into 'main'
Apr 10, 2026
ecb08b4
Update reset password flow to handle list overflow & state transition…
Vijayasingam Apr 10, 2026
0d0a744
Merge branch 'reset-password-flow-fixes' into 'main'
Apr 10, 2026
8571af5
Stop screen share modals: Update UI style and copy
Apr 10, 2026
c68b031
Merge branch 'MEET-1048' into 'main'
Apr 10, 2026
f7acd0b
[DRVWEB-5322] Clean up stale items from 'shared by me'
Apr 9, 2026
5c0a166
Merge branch 'fix/DRVWEB-5322-trashed-item-still-visible' into 'main'
Apr 10, 2026
c0c1536
Encrypted participant name
RayoProton Apr 10, 2026
eb8691c
Merge branch 'feat/encrypted-participant-name-2-test' into 'main'
Apr 10, 2026
131dbe4
DRVWEB: Search: Cleanup orphan and obsolete blobs
Apr 10, 2026
07b9a8d
Merge branch 'DRVWEB-search-cleanup' into 'main'
Apr 10, 2026
aa97a8f
Do not block OBS Virtual Camera
Apr 10, 2026
ebbda33
Merge branch 'fix/obs' into 'main'
Apr 10, 2026
5b33f11
[DRVWEB-5271] Support convert of external invitation with sdk
HeadFox Apr 10, 2026
1a489ce
Merge branch 'DRVWEB-5271-external-invite-conversion' into 'main'
Apr 10, 2026
4d27e39
Store the current category in the params and update it when navigating
flavienbonvin Mar 23, 2026
65c8915
Update test after categoryIDs change
flavienbonvin Mar 23, 2026
e6d6f69
Extract categoryIDs logic to separate hook to handle primary category
flavienbonvin Mar 23, 2026
f53f6d6
Reset the categoryIDs if the user is outside of categories
flavienbonvin Mar 23, 2026
409992f
Update the categoryIDs in the useElement effect
flavienbonvin Mar 23, 2026
5518454
Only set the categoryID if the user has category view activated
flavienbonvin Mar 23, 2026
0a87679
Fix max depth reach caused by effect deps
flavienbonvin Mar 23, 2026
31f7a3b
Make categoryIDs mandatory in element params
flavienbonvin Mar 24, 2026
be2ce18
Remove disabledCategoriesIDs from the counter helpers
flavienbonvin Mar 26, 2026
c1a00ed
Update mocks to follow more modern practice
flavienbonvin Mar 26, 2026
e9ec589
Remove the disabledCategoriesIDs and use the Redux selector instead
flavienbonvin Mar 26, 2026
ad7d9d6
Remove categoriesTabs data as it's not used in the code
flavienbonvin Mar 26, 2026
7c0ffc3
Use the categoryIDs in the EncryptedSearch provider
flavienbonvin Apr 2, 2026
ffcd53c
Delete mail redirection hook
flavienbonvin Mar 25, 2026
b68e6d7
Remove category label from URL and stay on Inbox
flavienbonvin Apr 2, 2026
fbad920
Add category as search params
flavienbonvin Mar 25, 2026
4529b99
Fetch the category element when categoryIDs is present
flavienbonvin Mar 25, 2026
fbb62e6
Add the categoryIDs in the context total
flavienbonvin Mar 25, 2026
d73d1b2
Use the categoryIDs in the local filtering
flavienbonvin Mar 25, 2026
5a7f9b0
Use the categoryIDs in the encrypted search
flavienbonvin Apr 2, 2026
0883cd0
Add the primary category when clicking the sidebar
flavienbonvin Mar 26, 2026
2134ba3
Set default category in URL when missing
flavienbonvin Mar 26, 2026
055bda1
Fix categoryIDs parsing to be an array again and not a string
flavienbonvin Mar 26, 2026
77396e3
Make categoryIDs safer by only returning the value on Inbox
flavienbonvin Mar 30, 2026
87c9ebb
Update reducer to return empty categoryIDs array if not in Inbox
flavienbonvin Mar 30, 2026
93f4d8d
Return stable empty array for non-INBOX category IDs and revert params
flavienbonvin Apr 1, 2026
7831a5d
Use getTotal helper to compute locationTotal
flavienbonvin Apr 1, 2026
34a0e94
Use the category unread count and not inbox when navigating on
flavienbonvin Apr 2, 2026
ddf8306
Update useMailboxPageTitle tests
flavienbonvin Apr 2, 2026
47dd309
Add tests for category view page title update
flavienbonvin Apr 2, 2026
51fc590
Fix useMailboxPageTitle test mock past
flavienbonvin Apr 2, 2026
0070678
Remove the inline variable declaration in title test
flavienbonvin Apr 2, 2026
338f3a9
Remove code used for categories alpha
flavienbonvin Mar 30, 2026
a648db5
Simplify selectDisabledCategoriesIDs logic and combine filter
flavienbonvin Apr 9, 2026
6f62a7e
markMessagesAsRead - update conversation and elements slices tests
flavienbonvin Apr 7, 2026
70d2a33
markMessagesAsRead - messageCount - only update category when in inbox
flavienbonvin Apr 7, 2026
8984620
markMessagesAsRead - messageCount - refactor tests to use factory met…
flavienbonvin Apr 7, 2026
6a430d1
markMessagesAsRead - messageCount - rename tests cases
flavienbonvin Apr 7, 2026
9e4e263
markMessagesAsRead - conversationCount - update logic and tests
flavienbonvin Apr 7, 2026
ff1b6cd
markConversationsAsRead - add tests on conversation, message and elem…
flavienbonvin Apr 7, 2026
a847d25
markConversationsAsRead - add test on the conversationCount
flavienbonvin Apr 7, 2026
57f5c97
Remove console.log and use helper to determine if element has label
flavienbonvin Apr 8, 2026
282ef62
markMessagesAsUnread - message reducers tests
flavienbonvin Apr 8, 2026
dfd7a5e
messagesReducer - remove mocks in test file
flavienbonvin Apr 8, 2026
ca35c58
markMessagesAsUnread - conversation reducers tests
flavienbonvin Apr 8, 2026
f728549
Replace local label ID vars with MAILBOX_LABEL_IDS
flavienbonvin Apr 8, 2026
e576f34
markMessagesAsUnread - add elements reducers tests
flavienbonvin Apr 8, 2026
b1b5ee5
markMessagesAsUnread - update category count when marking unread in
flavienbonvin Apr 8, 2026
a8cfbe2
markConversationsAsUnread - update element, conversation and message
flavienbonvin Apr 8, 2026
0fcd4b4
markConversationsAsUnread - update conversation counter slice
flavienbonvin Apr 8, 2026
74523b7
markConversationsAsUnread - add comment to make assumption clear
flavienbonvin Apr 8, 2026
3b259e1
label / unlabel action on message/conversation initial implementation
flavienbonvin Apr 8, 2026
772e08c
Category to category action test
flavienbonvin Apr 8, 2026
0ca71c1
markMessagesAsUnread - only increase category count if element is in …
flavienbonvin Apr 8, 2026
568cd8f
labelMessage and unlabelMessage tests update and refinement
flavienbonvin Apr 8, 2026
0ec034f
labelConversation and unlabelConversation test update and refinement
flavienbonvin Apr 8, 2026
a5255c9
conversation and message count test update
flavienbonvin Apr 8, 2026
d084313
Update tests to use INBOX as source label instead of category
flavienbonvin Apr 8, 2026
3a08687
Calculate the context total instead of copying state
flavienbonvin Apr 9, 2026
3162109
Add category aggregation logic to getTotal and increase test coverage
flavienbonvin Apr 10, 2026
55e7ab0
Merge branch 'feat/category-view-categoryIDs' into 'main'
Apr 10, 2026
efe64e0
DRVWEB: Fix noisy test output for drive/app and @proton/drive package
Apr 10, 2026
ee764b6
Merge branch 'DRVWEB-cleanup-test-output' into 'main'
Apr 10, 2026
e985f93
i18n(calendar): update translations from crowdin e4aacb2d1d
Apr 10, 2026
5a7391e
i18n(mail): update translations from crowdin 272024e40d
Apr 10, 2026
4d6f919
i18n(mail-desktop): update translations from crowdin 95257813fe
Apr 10, 2026
5aac9cf
i18n(drive): update translations from crowdin 08fe07b710
Apr 10, 2026
577b917
i18n(account): update translations from crowdin 52770a896a
Apr 10, 2026
c104c77
i18n(vpn-settings): update translations from crowdin c89f447b47
Apr 10, 2026
9e3a623
i18n(verify): update translations from crowdin aea4fcbd75
Apr 10, 2026
239b559
i18n(pass): update translations from crowdin da9a22614e
Apr 10, 2026
842b007
i18n(wallet): update translations from crowdin 53ebfba8f1
Apr 10, 2026
70438c3
i18n(docs): update translations from crowdin d696a36a72
Apr 10, 2026
068c25b
i18n(lumo): update translations from crowdin 344daac96d
Apr 10, 2026
fdc8758
i18n(meet): update translations from crowdin 8570e36574
Apr 10, 2026
70e4f80
Merge branch 'translations_2026-04-10_120106_7491e36e' into 'main'
Apr 10, 2026
4869647
VPNPLG-57: Redirect devices if they don't have play services
Apr 10, 2026
85c73f7
Merge branch 'VPNPLG-57-redirect-non-play-services-to-app' into 'main'
Apr 10, 2026
535e37f
Update all non-major dependencies
Apr 10, 2026
014bc6a
Merge branch 'renovate/all-minor-patch' into 'main'
Apr 10, 2026
47abc26
Meet B2C plan
Apr 10, 2026
c4bb1b7
Merge branch 'meet-signup-plan' into 'main'
mmso Apr 10, 2026
3d0bfb7
Allow copying TOTP even if sync is loading
D-Bao Apr 10, 2026
3e9672d
Merge branch 'PP-366-allow-copy-totp' into 'main'
Apr 10, 2026
90cd4fb
Refactor cancellation flow to enable composable flows
fraser-proton Apr 10, 2026
d78556a
Merge branch 'refactor-cancellation-flows-to-be-composable' into 'main'
Apr 10, 2026
d2eedff
Pass: AutoFill UI
ntnhon Apr 10, 2026
551fd37
Merge branch 'pass/autofill-ui-rebased' into 'main'
Apr 10, 2026
c3228c7
[DRVWEB-5330] fix share modal enter key
Apr 10, 2026
14c237b
Merge branch 'DRVWEB-5330-share-modal-enter-key' into 'main'
Apr 10, 2026
ddbc192
[IDTEAM-9550] Show manage actions on group when you are manager throu…
Swiip Apr 10, 2026
862a20b
Merge branch 'IDTEAM-5950-manage-group-from-direct' into 'main'
Apr 10, 2026
5e5c37c
Sheets: Fix issue with locale breaking on commit load
Apr 10, 2026
65eec60
Merge branch 'sheets-locale-fix' into 'main'
Apr 10, 2026
8041da8
Normalize the zipcode before sendign the request for born private
flavienbonvin Apr 10, 2026
ef09565
Merge branch 'born-private-zip-code' into 'main'
Apr 10, 2026
09ae207
Remove unused appName prop
Vijayasingam Apr 10, 2026
f769d01
Merge branch 'clean-up-recovery' into 'main'
Apr 10, 2026
200e7c9
chore(authenticator): add Flatpak desktop entry and AppStream metainfo
the-narwhal Apr 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,11 @@ trim_trailing_whitespace = false
[*.scss]
indent_size = 2
indent_style = tab

[tests/mail-renderer/public/**]
trim_trailing_whitespace = false
insert_final_newline = unset
indent_style = unset
indent_size = unset
end_of_line = unset
charset = unset
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ tsconfig.tsbuildinfo
.netlify
storybook-static
i18n-js
translations.pot
po
coverage
lib-cov
Expand Down
25 changes: 25 additions & 0 deletions .grype.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,31 @@ ignore:
name: golang.org/x/crypto
type: go-module
version: v0.0.0-20220829220503-c86fa9a7ed90
- vulnerability: CVE-2025-68121
package:
name: stdlib
type: go-module
version: go1.15.5
- vulnerability: CVE-2025-68121
package:
name: stdlib
type: go-module
version: go1.18.8
- vulnerability: CVE-2025-68121
package:
name: stdlib
type: go-module
version: go1.24.5
- vulnerability: CVE-2025-22871
package:
name: stdlib
type: go-module
version: go1.18.8
- vulnerability: CVE-2025-22871
package:
name: stdlib
type: go-module
version: go1.15.5
- vulnerability: CVE-2024-24790
package:
name: stdlib
Expand Down
1 change: 1 addition & 0 deletions .margebot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ fastTrack:
- djankovic
- aharwara
- pchiabre
- vthanase
forbiddenTags:
- state::Blocked
ciFailFast: true
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ packages/styles/scss/**/_index.scss
packages/wasm/**/*
tests/account/poms/LoginPage/challenge.html
tests/mail-renderer/tests/**/*.html
tests/mail-renderer/public/**
tests/pass/extension/**/*
tests/pass/hars/**/*

Expand Down
942 changes: 0 additions & 942 deletions .yarn/releases/yarn-4.12.0.cjs

This file was deleted.

940 changes: 940 additions & 0 deletions .yarn/releases/yarn-4.13.0.cjs

Large diffs are not rendered by default.

11 changes: 10 additions & 1 deletion .yarnrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ nodeLinker: node-modules
plugins:
- path: .yarn/plugin-postinstall.js

yarnPath: .yarn/releases/yarn-4.12.0.cjs
yarnPath: .yarn/releases/yarn-4.13.0.cjs

npmPublishRegistry: https://nexus.protontech.ch/repository/web-npm/

Expand All @@ -17,6 +17,13 @@ npmScopes:
npmAuthToken: '${CI_JOB_TOKEN:-}'
proton-meet:
npmRegistryServer: 'https://nexus.protontech.ch/repository/meet-npm/'
proton:
npmRegistryServer: 'https://nexus.protontech.ch/repository/foundation-npm/'

npmPreapprovedPackages:
- '@proton/*'
- '@protontech/*'
- axios@1.15.0

npmAuditIgnoreAdvisories:
# Ignore advisories for xlsx package. This package is depended on by a third-party library rowsncolumns (docs)
Expand All @@ -25,3 +32,5 @@ npmAuditIgnoreAdvisories:
- 1108111

compressionLevel: mixed

npmMinimalAgeGate: 3d
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ This project is a monorepo hosting the Proton web clients. It includes the web a
- <img src="./applications/pass/src/favicon.svg" style="vertical-align: middle" height="20" width="20" /> <span style="vertical-align: middle; display: inline-block">Proton Pass</span>
- <img src="./applications/wallet/src/favicon.svg" style="vertical-align: middle" height="20" width="20" /> <span style="vertical-align: middle; display: inline-block">Proton Wallet</span>
- <img src="./applications/lumo/src/favicon.svg" style="vertical-align: middle" height="20" width="20" /> <span style="vertical-align: middle; display: inline-block">Proton Lumo</span>
- <img src="./applications/meet/src/favicon.svg" style="vertical-align: middle" height="20" width="20" /> <span style="vertical-align: middle; display: inline-block">Proton Meet</span>

Technically, this monorepo is based on Yarn & Yarn Workspaces, with unified versioning for all packages inside.

Expand Down Expand Up @@ -43,6 +44,22 @@ yarn workspace proton-mail start

For additional details on how to interact with the monorepo, see the [yarn docs](https://yarnpkg.com/) for reference.

## How VPN app differs from the rest

VPN is present in both proton.me and protonvpn.com. However, they are served differently. Some parts of VPN are shared, hosted within `@proton/components` or `@proton/shared`, however, the entry points to them are different.

For protonvpn.com, the entry point comes from `applications/vpn-settings` and for account.proton.me/u/{X}/vpn, the entry point is `applications/account`.

Since both domains are separate, we don't share a local SSO between them. Therefore, we need to serve both applications separately:

```shell
# To serve VPN through vpn-settings
yarn workspace --port 8050 proton-vpn-settings start

# To serve VPN through account
yarn start-all --applications "proton-account"
```

## How to version an application manually

While being on the `main` branch for a clean release.
Expand Down
12 changes: 11 additions & 1 deletion applications/account/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
import { defineConfig } from 'eslint/config';

import config from '@proton/eslint-config-proton/all';

export default config;
export default defineConfig([
config,
{
rules: {
// TODO: Remove this rule once the cycle dependency is fixed
'import/no-cycle': 'off',
},
},
]);
2 changes: 1 addition & 1 deletion applications/account/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module.exports = {
moduleDirectories: ['<rootDir>/node_modules', 'node_modules'],
testEnvironment: '@proton/jest-env',
transformIgnorePatterns: [
'node_modules/(?!(@proton/shared|@proton/components|@protontech/telemetry|@protontech/mutex-browser|pmcrypto|openpgp|@openpgp/web-stream-tools|@protontech/bip39|emoji-mart)/)',
'node_modules/(?!(@proton/shared|@proton/components|@protontech/telemetry|@protontech/mutex-browser|pmcrypto|openpgp|@openpgp/web-stream-tools|@protontech/bip39|emoji-mart|@preact/signals-core|@scure/base)/)',
],
transform: {
'^.+\\.(ts|js|mjs)x?$': [
Expand Down
6 changes: 6 additions & 0 deletions applications/account/jest.setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ import '@proton/testing/lib/mockUnleash';
// console.error = () => {};
// console.warn = () => {};

window.ResizeObserver = jest.fn().mockImplementation(() => ({
observe: jest.fn(),
unobserve: jest.fn(),
disconnect: jest.fn(),
}));

// Do not start crypto worker pool, let the single tests setup/mock the CryptoProxy as needed
jest.mock('@proton/shared/lib/helpers/setupCryptoWorker', () => ({
__esModule: true,
Expand Down
2 changes: 1 addition & 1 deletion applications/account/locales/.locale-state.metadata
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"project": "fe-account",
"locale": "640fe4f4810d886da1f34a82ffaf1dd7f303cfee"
"locale": "52770a896aebaf671094b645642ad5f70b211da9"
}
Loading