Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4908 commits
Select commit Hold shift + click to select a range
4825a7c
Cache email verification result in machine context and simplify error…
StraightOuttaCrompton Apr 24, 2026
704d8cc
Do not trigger error step from phrase
StraightOuttaCrompton Apr 27, 2026
c4fa9e9
Remove error step
StraightOuttaCrompton Apr 27, 2026
192b7ff
Add email initiation error step
StraightOuttaCrompton Apr 27, 2026
49fd957
Merge branch 'CP-11708-improve-sms-sending-rate-limit-handling' into …
Apr 27, 2026
f5f6a7c
Update the URL when category view feature flag or setting is toggled
flavienbonvin Apr 27, 2026
c3d066d
Reset state when category view value change
flavienbonvin Apr 27, 2026
b6325fb
Merge branch 'P3-297-feature-flag-change' into 'main'
Apr 27, 2026
acee489
Force the forum categories in the disabled categories
flavienbonvin Apr 23, 2026
7871886
Update comment and add support for forum in isCategoryLabel helper
flavienbonvin Apr 24, 2026
1f9b9f5
Merge branch 'P3-304-add-forum-categories' into 'main'
Apr 27, 2026
b7496dd
[DRVWEB-5350] fix SharingModal click through
Apr 27, 2026
79a7e26
Merge branch 'DRVWEB-5350-fix-sharingmodal-click-through' into 'main'
Apr 27, 2026
0875842
Minor fixes for lumo 1.4
Apr 27, 2026
2c3fe01
Merge branch 'lumo/minor-fixes-for-1.4' into 'main'
Apr 27, 2026
d61164c
Docs: Point Help menu to Drive support hub for documents
Apr 27, 2026
a8af915
Merge branch 'docs-help-url' into 'main'
Apr 27, 2026
536d523
Docs: Wrap "Save for later" label in public header dropdown
Apr 27, 2026
5a1f274
Merge branch 'docs-public-save-for-later-wrap' into 'main'
Apr 27, 2026
0c757e0
Docs: Prevent DropdownItem flex items from wrapping
Apr 27, 2026
54d8231
Merge branch 'docs-dropdown-item-flex-nowrap' into 'main'
Apr 27, 2026
1074414
fix(INDA-683): Remove parameter sanitization for proton URLs, prevent…
ElectroNafta Apr 27, 2026
91f9904
Merge branch 'fix/INDA-683' into 'main'
Apr 27, 2026
b70b9ab
Sheets: auto-select title on focus only when name is default
Apr 27, 2026
103acc7
Merge branch 'fix/rename-auto-select-default' into 'main'
Apr 27, 2026
7effc30
i18n(calendar): update translations from crowdin 4abb18129c
Apr 27, 2026
19741d4
i18n(mail): update translations from crowdin e2041c808f
Apr 27, 2026
a94c6fa
i18n(mail-desktop): update translations from crowdin 2e53973aff
Apr 27, 2026
5d373ce
i18n(drive): update translations from crowdin 5da4615db9
Apr 27, 2026
32f2aa6
i18n(account): update translations from crowdin 6694cf149a
Apr 27, 2026
69d0c51
i18n(vpn-settings): update translations from crowdin cf7e2dfc12
Apr 27, 2026
26ca8e9
i18n(pass): update translations from crowdin 0b60b732ea
Apr 27, 2026
5828a1c
i18n(pass-web): update translations from crowdin e5fd311707
Apr 27, 2026
12022e1
i18n(pass-desktop): update translations from crowdin d2e6b1fb55
Apr 27, 2026
a4a898c
i18n(wallet): update translations from crowdin 3c02394d55
Apr 27, 2026
1e5c015
i18n(docs): update translations from crowdin 31a48eb650
Apr 27, 2026
4ee0ddd
i18n(docs-editor): update translations from crowdin 0dfe30198c
Apr 27, 2026
5147013
i18n(lumo): update translations from crowdin be182535df
Apr 27, 2026
7e14d8c
i18n(meet): update translations from crowdin adf9d6e63e
Apr 27, 2026
1f76322
Merge branch 'translations_2026-04-27_113441_9aeb8823' into 'main'
Apr 27, 2026
be09c43
follow pause list policy
nguyenkims Apr 27, 2026
ecfb6ca
Merge branch 'IDTEAM-4632-pause-list-policy' into 'main'
Apr 27, 2026
6345b18
Update zendesk error logging
Vijayasingam Apr 27, 2026
89d03e4
Merge branch 'update-zendesk-error-logging' into 'main'
Apr 27, 2026
ac9109e
Add email import period in BYOE success modal
LeGrosSancho Apr 27, 2026
381c40f
Merge branch 'P1-455-add-import-period-on-byoe-success-modal' into 'm…
Apr 27, 2026
da36aa0
[IDTEAM-6074] Ignore empty transparent div for icon shift
Swiip Apr 27, 2026
e65e009
Merge branch 'IDTEAM-6074-bitwarden-shift' into 'main'
Apr 27, 2026
9052028
Plan Icon size fix
Apr 27, 2026
e2f83f9
Merge branch 'plan-icon-size-fix' into 'main'
Apr 27, 2026
84269ed
Prevent non-gmail addresses from converting to BYOE
LeGrosSancho Apr 27, 2026
7b9747b
Merge branch 'P1-457-prevent-non-gmail-addresses-from-converting-to-b…
Apr 27, 2026
9ec0dbf
Disable thinking for now
eamonnmag Apr 27, 2026
c324b82
Merge branch 'lumo/disable-thinking' into 'main'
Apr 27, 2026
c79a3d5
i18n(mail): update translations from crowdin e9df7aad78
Apr 28, 2026
e7345e3
i18n(drive): update translations from crowdin 090d6fb98f
Apr 28, 2026
0fb4126
i18n(account): update translations from crowdin bba4c769e4
Apr 28, 2026
82bc1a4
i18n(pass): update translations from crowdin 08933e01b4
Apr 28, 2026
4bdcc1d
i18n(pass-web): update translations from crowdin 719bb57932
Apr 28, 2026
8de1c78
i18n(pass-desktop): update translations from crowdin 2be4e87535
Apr 28, 2026
91acfe0
i18n(lumo): update translations from crowdin 0892186126
Apr 28, 2026
a64e7b9
Merge branch 'translations_2026-04-28_050333_3cf9a6a3' into 'main'
Apr 28, 2026
6242b41
Add MSIX maker to Pass Electron forge
Swiip Apr 28, 2026
f38e8d6
Merge branch 'IDTEAM-5373-windows-msix' into 'main'
Apr 28, 2026
3134154
Redirect user to primary when user is on disabled category
flavienbonvin Apr 28, 2026
8fb5080
Add tests for the disabled category redirection
flavienbonvin Apr 28, 2026
695b84b
Merge branch 'P3-307-redirect-user-disabled-category' into 'main'
Apr 28, 2026
3a31edd
DRVWEB-5406: Fix tooltips on infocircle icons by introducing InfoIcon…
Apr 28, 2026
d60a732
Merge branch 'DRVWEB-fix-direct-sharing-tooltip' into 'main'
Apr 28, 2026
a10f09d
Update sentry logging for ZD
Vijayasingam Apr 28, 2026
bc2cd3a
Merge branch 'guard-zd-login-error' into 'main'
Apr 28, 2026
6cc772b
fix: Remove cursor-pointer when checkbox is disabled
nico3333fr Apr 28, 2026
516948c
Merge branch 'fix-remove-cursor-pointer-when-checkbox-disabled' into …
Apr 28, 2026
734e8cc
reintroduce dismiss desktop app banner, hide contdown upsell behind o…
RayoProton Apr 28, 2026
807ef90
Merge branch 'ui-changes' into 'main'
Apr 28, 2026
357c813
Fix issue with not passing updated attribute after update of photo
HeadFox Apr 28, 2026
3b84c2c
Merge branch 'drive/favorite-quick-fix' into 'main'
Apr 28, 2026
b20ecc0
Show connected addresses instead of forwardings only
LeGrosSancho Apr 28, 2026
145f3de
Merge branch 'P1-458-replace-forwarding-with-connected-address-sectio…
Apr 28, 2026
54f9258
Fix user message bubble colour in dark mode.
eamonnmag Apr 28, 2026
0ddf6e1
Merge branch 'lumo/dark-mode-fix' into 'main'
Apr 28, 2026
b488f22
[VPNBE-1753]-Move VPN+Pass logo svg to its own file
Apr 28, 2026
88777d6
Merge branch 'vpn/fix/VPNBE-1753-move-vpn-pass-logo-svg-to-its-own-fi…
Apr 28, 2026
ae3f6ce
Sentry reporting when user is stuck in infinite loading loop
flavienbonvin Apr 22, 2026
3805fe2
Track labelID in load action rate limit queue
flavienbonvin Apr 22, 2026
7857671
Improve sentry initiative tracing methods
flavienbonvin Apr 24, 2026
6bf424f
Add extra information in useElement infinite loop
flavienbonvin Apr 24, 2026
f4cfd32
Remove the custom rate limiting code and reuse existing ApiRateLimiter
flavienbonvin Apr 24, 2026
c5c19e8
Add rate limit tracing for mail element loading
flavienbonvin Apr 24, 2026
1d4c748
Add tabTime extra in sentry reporting
flavienbonvin Apr 24, 2026
24c5182
Merge branch 'P3-302-send-sentry-log-infinite-loading' into 'main'
Apr 28, 2026
b0b1f8b
Implement new reconnection flow
Apr 20, 2026
1bf8125
Merge branch 'feat/reconnection-flow' into 'main'
Apr 28, 2026
f72f698
DRVWEB-5411: Fix malware misclassification when claimed hash is missing
Apr 28, 2026
3de21ad
Merge branch 'DRVWEB-5411-classify-properly-file-without-claimed-hash…
Apr 28, 2026
302b117
[DRVWEB-5398] bookmarks not rendered
Apr 28, 2026
2ff6952
Merge branch 'DRVWEB-5398-bookmarks-not-rendered' into 'main'
Apr 28, 2026
3b44ba5
Fix unauth lost 2fa e2e tests
StraightOuttaCrompton Apr 28, 2026
1d6d966
Merge branch 'fix-unauth-e2e-tests' into 'main'
Apr 28, 2026
b30aada
Remove suggested questions flag from generation request options
Apr 28, 2026
d229a7d
Merge branch 'lumo/disable-suggested-questions-flag' into 'main'
Apr 28, 2026
2e1a335
Fix redirection to primary in mail app
flavienbonvin Apr 28, 2026
955cb04
Merge branch 'mail-fix-redirection' into 'main'
Apr 28, 2026
e05f390
[IDTEAM-4633] Fix native messaging timeout during login on account
Swiip Apr 28, 2026
d145637
Merge branch 'IDTEAM-4633-desktop-unlock-qa-findings-4' into 'main'
Apr 28, 2026
f435d65
Docs: add alpha page breaks
Apr 28, 2026
a4101e2
Merge branch 'docs/page-breaks-alpha' into 'main'
Apr 28, 2026
6b555a6
Update reset password telemetry to capture device recovery
Vijayasingam Apr 28, 2026
b05bffe
Merge branch 'reset-password-telemetry' into 'main'
Apr 29, 2026
e4badfa
Remove even more debris from sheets launch
Feb 17, 2026
38ebf2a
Merge branch 'sheets-remove-debris-from-launch' into 'main'
Apr 29, 2026
05d57d8
Docs: avoid early access hook in public header
Apr 28, 2026
4d8fffd
Merge branch 'docs-public-link-selected-account-fix' into 'main'
Apr 29, 2026
c7819fe
Recovery settings telemetry
Apr 29, 2026
1222b4e
Merge branch 'recovery-settings-redesign-telemetry' into 'main'
Apr 29, 2026
131d994
Update proton-meet-core to 1.1.6-15
Linquas Apr 29, 2026
6d68bb0
Merge branch 'update-proton-meet-core' into 'main'
Apr 29, 2026
382f97c
Sheets: Normalize custom hex color values
Apr 29, 2026
3d0e8cd
Merge branch 'sheets-color-picker-hex-normalize' into 'main'
Apr 29, 2026
ee8e5cf
[IDTEAM-4633] Fix test if app is on internal view or not
Swiip Apr 29, 2026
2bbde7c
Merge branch 'IDTEAM-4633-desktop-unlock-qa-findings-5' into 'main'
Apr 29, 2026
1b99021
Tech: remove useless duplicated property
Apr 29, 2026
c15c64e
Merge branch 'tech/payments-clean-checkout' into 'main'
Apr 29, 2026
0a840d4
[IDTEAM-5373] Update release scripts for new msix file name
Swiip Apr 29, 2026
7c14687
Merge branch 'IDTEAM-5373-windows-msix-file-name' into 'main'
Apr 29, 2026
0b2a80f
DRVWEB: Update 'Save' photo button tooltip
Apr 29, 2026
f7bde6a
Merge branch 'DRVWEB-better-tooltip-for-save-photos' into 'main'
Apr 29, 2026
3ef7999
Add more logs to meeting recorder and fix recording count when resizi…
RayoProton Apr 29, 2026
173667b
Merge branch 'meet-recorder-failing' into 'main'
Apr 29, 2026
a6e6c53
Fix messageCounts updates when labelling a conversation
LeGrosSancho Apr 22, 2026
04d23c9
update
LeGrosSancho Apr 22, 2026
5490675
fix test
LeGrosSancho Apr 22, 2026
e73be48
small refactor
LeGrosSancho Apr 22, 2026
1ce7b2d
Merge branch 'P3-296-fix-label-conversation-impact-on-message-counts'…
Apr 29, 2026
e620736
Composers notification fix
eamonnmag Apr 29, 2026
c5cbcbe
Merge branch 'lumo/composer-notification-updates' into 'main'
Apr 29, 2026
6582a43
BYOE copy updates
LeGrosSancho Apr 29, 2026
e596cf1
Merge branch 'byoe-strings-update' into 'main'
Apr 29, 2026
9921c42
Encode zendesk error `reason` to bypass sentry filtering
Vijayasingam Apr 29, 2026
86005cb
Merge branch 'more-zendesk-yay' into 'main'
Apr 29, 2026
4bc5aeb
Idteam 6093 outdated upsell
nguyenkims Apr 29, 2026
406755a
Merge branch 'IDTEAM-6093-outdated-upsell' into 'main'
Apr 29, 2026
f2f6afa
Disable webAudioMix for Chromium browsers
Apr 29, 2026
4669fe6
Merge branch 'feat/exp-audio-context-krisp' into 'main'
Apr 29, 2026
e38b3a9
Pass driveClient as parameter to uploadManager event callback
HeadFox Apr 29, 2026
c5f74ec
Merge branch 'drive/fix-public-upload' into 'main'
Apr 29, 2026
f0171aa
Fix lumo error handling
Apr 30, 2026
387809a
Merge branch 'lumo/fix-error-handler' into 'main'
Apr 30, 2026
2ee7147
i18n(calendar): update translations from crowdin 45e09cbbb7
Apr 30, 2026
5635354
i18n(mail): update translations from crowdin ec7f28764b
Apr 30, 2026
6483d43
i18n(drive): update translations from crowdin 3bb0d5fd19
Apr 30, 2026
9f4ebb4
i18n(account): update translations from crowdin c95ece603b
Apr 30, 2026
ed29a63
i18n(pass): update translations from crowdin 0a50b74610
Apr 30, 2026
a713554
i18n(pass-web): update translations from crowdin cf67dee4e2
Apr 30, 2026
97700dc
i18n(pass-desktop): update translations from crowdin e79edf0e3d
Apr 30, 2026
cfa0f92
i18n(docs): update translations from crowdin f7edf5e0a2
Apr 30, 2026
3bb036f
i18n(docs-editor): update translations from crowdin a7d5098dbb
Apr 30, 2026
c31ddf1
i18n(lumo): update translations from crowdin 78cff68884
Apr 30, 2026
8f6cceb
i18n(meet): update translations from crowdin 65beb4607b
Apr 30, 2026
b172029
Merge branch 'translations_2026-04-30_050336_34c5f6f2' into 'main'
Apr 30, 2026
12f5dd0
[nail polish] - Add yarn dedupe check before pushing
asieraduriz Apr 30, 2026
16c0a51
Merge branch 'noissue/add-dedupe-check-in-pre-commit' into 'main'
Apr 30, 2026
5a3c9db
upgrade livekit-client to v2.18.6
RayoProton Apr 29, 2026
df2cabd
Merge branch 'upgrade-livekit' into 'main'
Apr 30, 2026
61da872
Switch element category updates
LeGrosSancho Apr 30, 2026
7b6d66b
Merge branch 'P3-294-fix-store-when-updating-categories' into 'main'
Apr 30, 2026
b765cc9
Update debug mode shortcut
LeGrosSancho Apr 30, 2026
eb16da8
Merge branch 'update-debug-mode-shortcut' into 'main'
Apr 30, 2026
a1ac83f
fix: Update copy of subheader in multi-user support
nico3333fr Apr 30, 2026
4874bbc
Merge branch 'fix-copy-multi-user-support' into 'main'
Apr 30, 2026
5cfb45b
Migrate openapi type generator to 3.1.0 format
edvincandon Apr 30, 2026
2cbbfbd
Fix openapi generator type correctness
edvincandon Apr 30, 2026
58edc9d
Add tsx dependency to packages/pass
edvincandon Apr 30, 2026
b0aae95
Regenerate pass openapi types
edvincandon Apr 30, 2026
ba8cb34
Merge branch 'IDTEAM-openapi-3.1.0' into 'main'
Apr 30, 2026
a48b17c
Hide the categories or inbox when select all is checked
flavienbonvin Apr 28, 2026
276072d
Make getInboxCategoriesItems easier to follow
flavienbonvin Apr 28, 2026
f2e82f5
Set category tab to inactive if user is doing a select-all
flavienbonvin Apr 29, 2026
a59a780
Prevent drag and drop on category sidebar item in select all mode
flavienbonvin Apr 29, 2026
99fcf1c
Fix typo in categoriesTabsHelper test file
flavienbonvin Apr 29, 2026
834c801
Capture category-to-category select all in Sentry
flavienbonvin Apr 30, 2026
dd47f75
Merge branch 'P3-73-prevent-categorization-select-all' into 'main'
Apr 30, 2026
70d7464
MEET-1127, allow user to update personal meeting room name
Apr 30, 2026
443e148
Merge branch 'MEET-1127' into 'main'
Apr 30, 2026
bc28f52
Improve inline math and currency delimiter handling
Apr 30, 2026
53e95f7
Merge branch 'lumo/additional-fix-to-latex-rendering' into 'main'
Apr 30, 2026
00bcf7d
Make EncryptedSearchMigrationSystem a kill switch
flavienbonvin Apr 30, 2026
a4a38a3
Merge branch 'INWEB-950-migration-tool-kill-switch' into 'main'
Apr 30, 2026
524f5ed
Fix unsafe `useRequest` usage & tighten request config inference
edvincandon Apr 30, 2026
d36ede0
Merge branch 'IDTEAM-use-request-unsafe' into 'main'
Apr 30, 2026
0c936c5
Fixes to constrain notifications to only the conversation/space of in…
eamonnmag Apr 30, 2026
b42a426
Merge branch 'lumo/resource-notification-fixes' into 'main'
Apr 30, 2026
48aba25
[SECBTY-1411] Prevent using instantJoin for existing meetings
Apr 30, 2026
b6e04ef
Merge branch 'fix/instant-join-meet' into 'main'
Apr 30, 2026
c93b813
Redirect notification to inbox if label is category
flavienbonvin Apr 30, 2026
40c2178
Fix category keyboard shortcut redirection
flavienbonvin Apr 30, 2026
ec25475
Remove useless category view check for snooze
flavienbonvin Apr 30, 2026
42062dd
Merge branch 'P3-318-redirect-user-notification' into 'main'
Apr 30, 2026
57bc021
Enable webaudiomix in chromium browsers
RayoProton Apr 30, 2026
d13d321
Merge branch 'web-audio-mix-fix' into 'main'
Apr 30, 2026
c977a6a
Delete unused SortDropdownMenu
flavienbonvin Apr 28, 2026
df424b5
Rework the sort and filter UI
flavienbonvin Apr 29, 2026
6b9c00c
Reuse the same test IDs as current UI
flavienbonvin Apr 28, 2026
f91db18
Update the icon when user is in schedule folder
flavienbonvin Apr 28, 2026
800b412
Fix sorting issue and duplicate hook
flavienbonvin Apr 28, 2026
503c373
Make the buttons toggleable
flavienbonvin Apr 29, 2026
837d086
Refactor FilterList to use array-based button definition
flavienbonvin Apr 29, 2026
232e859
Rework active state and add tests
flavienbonvin Apr 29, 2026
b97f5c6
Rework active state and add tests
flavienbonvin Apr 29, 2026
1bd599b
Add aria-pressed on dropdown buttons
flavienbonvin Apr 29, 2026
d07127c
Don't show reset button for unread filter
flavienbonvin Apr 29, 2026
b424f0b
Filter and unread button have norm color when selected
flavienbonvin Apr 29, 2026
6e0b046
Update icon and icon color
flavienbonvin Apr 30, 2026
b726b3e
Transform the filter UI feature flag in a kill switch
flavienbonvin Apr 30, 2026
6371ed0
Merge branch 'P3-309-rework-filter-sorting-ui' into 'main'
Apr 30, 2026
a932904
fix(lumo): Show the native composer on tablets
vlad-proton Apr 30, 2026
be8fc38
Merge branch 'lumo_native_composer_tablet_fix' into 'main'
Apr 30, 2026
ed01412
[VPNB2B-72] Workspace Standard support for VPN signup page
asieraduriz Apr 30, 2026
9bdf8c8
Merge branch 'VPNB2B-72--support-WS-in-signup' into 'main'
Apr 30, 2026
042a79b
Show disabled primary category in the settings
flavienbonvin Apr 30, 2026
5194cf6
Merge branch 'P3-319-show-primary-category-settings' into 'main'
Apr 30, 2026
223cf08
Update reset password flow to support external address
Vijayasingam May 1, 2026
6ae6167
Merge branch 'support-external-email-pwd-reset' into 'main'
May 1, 2026
92f604a
Fix icons for meet-desktop on Linux and Windows
May 1, 2026
2362d80
Merge branch 'feat/desktop-icon' into 'main'
May 1, 2026
e013b73
feat(group): apply dedicated member search API for adding member
May 1, 2026
5243d66
Merge branch 'feat/add-member-autocomplete' into 'main'
May 1, 2026
e76d76e
Docs: add alpha-only subscript and superscript toolbar actions
Apr 28, 2026
3147185
Merge branch 'docs-sub-superscript-alpha' into 'main'
May 1, 2026
f256716
Recovery icon update
May 1, 2026
bdbdb9c
Merge branch 'recovery-icon-update' into 'main'
May 1, 2026
0ef982f
Move the useMailboxCounter hook inside folder
flavienbonvin May 1, 2026
fb4bdc9
Refactor useMailboxCounter to return object instead of tuple
flavienbonvin May 1, 2026
aff4425
Refactor getCounterMap to use object parameter
flavienbonvin May 1, 2026
644db43
Update disabled computation to use disabled categories and not active
flavienbonvin May 1, 2026
3c13a3f
Rename getLocationCount to getRawLocationCount
flavienbonvin May 1, 2026
ec56ea5
Merge branch 'fix/category-disabled-count-rollup' into 'main'
May 1, 2026
761e2bd
Update remove recovery email modal
StraightOuttaCrompton Apr 30, 2026
0e658cb
Update remove recovery phone confirmation modal
StraightOuttaCrompton Apr 30, 2026
dde7d96
Merge branch 'update-remove-recovery-email-modal' into 'main'
May 1, 2026
5992529
avoid overriding getUserMedia audio parameters when initializing audi…
RayoProton May 1, 2026
092b058
Merge branch 'echo-fix' into 'main'
May 1, 2026
4607b05
Registration survey panel
eamonnmag May 1, 2026
63498c7
Merge branch 'lumo/registration-survey' into 'main'
May 1, 2026
1659c3c
Potential fix for tables not being rendered correctly.
eamonnmag May 1, 2026
8e895af
Merge branch 'lumo/markdown-table-fix' into 'main'
May 1, 2026
073953c
Update recovery page snapshots
Vijayasingam May 1, 2026
bffe977
Merge branch 'fix-recovery-page-tests' into 'main'
May 1, 2026
bf9fb99
Detect FIDO2-only re-auth dead-end before password prompt
Sea-n May 2, 2026
6e71a12
Warn during B2B org setup when re-auth requires Proton Account
Sea-n May 2, 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
2 changes: 2 additions & 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 All @@ -39,6 +40,7 @@ build
*.code-workspace
.vscode
.nyc_output
test-results
tests/**/*.png
!tests/**/*-linux.png
!tests/mail/**/*.png
Expand Down
40 changes: 40 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 Expand Up @@ -114,6 +139,21 @@ ignore:
name: stdlib
type: go-module
version: go1.18.8
- vulnerability: CVE-2026-27143
package:
name: stdlib
type: go-module
version: go1.15.5
- vulnerability: CVE-2026-27143
package:
name: stdlib
type: go-module
version: go1.18.8
- vulnerability: CVE-2026-27143
package:
name: stdlib
type: go-module
version: go1.26.1
### Npm
- vulnerability: GHSA-phwq-j96m-2c2q
package:
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.

10 changes: 9 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,12 @@ 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/*'

npmAuditIgnoreAdvisories:
# Ignore advisories for xlsx package. This package is depended on by a third-party library rowsncolumns (docs)
Expand All @@ -25,3 +31,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": "c95ece603b3eae70e8270d0bd5afdc921e9d72ed"
}
Loading