Carlos Quintana
f387089013
feat: use rust pgp
2026-01-14 12:36:13 +01:00
Carlos Quintana
1a293b7e97
test: preserve behaviour disabled-alias and blocked-contact
2026-01-12 15:26:20 +01:00
Adrià Casajús
0cfaa3325f
Fix mailbox test
2025-12-23 23:27:01 +01:00
Adrià Casajús
7bcef5cb4a
Do not allow to create accounts from proton with invalid domains
2025-12-23 22:57:01 +01:00
Carlos Quintana
11abcaec8f
chore(cron): delete expired oauth_token entries
2025-12-15 14:04:26 +01:00
Carlos Quintana
44b2ceaf7f
feat: better errors for invalid domain in mailbox
2025-12-10 11:25:48 +01:00
Adrià Casajús
0ade025bd0
Disable rate limits in tests
2025-11-21 11:31:52 +01:00
Adrià Casajús
f5d6f2fe10
Disallow custom domains to be used as mailbox domains
2025-11-11 12:38:55 +01:00
Adrià Casajús
b0de3aa7b7
Stop replies if the aliases are trashed
2025-11-03 14:30:24 +01:00
Son NK
98049dfec8
remove unneeded test
2025-11-03 11:13:32 +01:00
Son NK
3c16e5f986
user can set a display name for an autocreate rule
2025-11-03 11:13:32 +01:00
Adrià Casajús
f8f80cded7
Add tests
2025-10-31 11:23:05 +01:00
Adrià Casajús
516ae5fb3b
FIX: Do not allow to create a contact with reply email as contact email
2025-09-22 16:56:20 +02:00
Carlos Quintana
5d6f3f114f
feat: add alias id when deleting alias
2025-09-04 11:59:20 +02:00
Carlos Quintana
532d69844d
fix: mailbox deletion respects alias setting
2025-08-12 12:40:58 +02:00
Adrià Casajús
c776a05ca4
Centralize disabling contacts to ensure the logs are consistent
2025-08-06 09:29:41 +02:00
Adrià Casajús
6dc6264d5d
Fix test
2025-07-31 11:48:08 +02:00
Adrià Casajús
3c8b5c8f5b
Add test to use backup server
2025-07-31 11:48:08 +02:00
Adrià Casajús
3c9b7582da
Allow to have several postfix hosts
2025-07-31 11:48:08 +02:00
Adrià Casajús
4e9b2f5995
Allow to define more than one smtp server
2025-07-31 11:48:08 +02:00
Adrià Casajús
6f391511b0
Add migration
2025-07-28 15:33:20 +02:00
Adrià Casajús
3bef25b764
Added ForbiddenMXIp model
2025-07-28 15:33:20 +02:00
Adrià Casajús
e8575f5853
Add tests
2025-07-28 15:33:20 +02:00
Adrià Casajús
2946ff6707
Moved custom domains check to its own module and close session after every loop
2025-07-23 08:19:24 +02:00
Adrià Casajús
794bb28990
Added missing eager loading
2025-07-23 08:19:24 +02:00
Adrià Casajús
3b2f0eb44e
Add method to check if alias is created from partner
2025-06-16 14:54:10 +02:00
Adrià Casajús
71330c7703
Move unmark to abuser file
2025-06-16 13:16:29 +02:00
Bohdan Shtepan
4975c89066
SL abuser system improvements ( #2494 )
...
* IDTEAM-4828: Allow to search abuser by user id not just by email.
* IDTEAM-4827: Add abuser admin logs to abuser page.
* IDTEAM-4826: Run the abuser bundle generation in a job with low prio.
2025-06-11 10:53:34 +02:00
Bohdan Shtepan
deafb529fa
feat: added abuser utils for main abuser (un)archiving flows. ( #2468 )
...
* feat: added abuser utils for main abuser (un)archiving flows.
* feat: update the abuser utils to use external secrets in conjuction with HMAC; add abuser audit log.
* fix: revert the DB_URI part.
* feat: address feedback.
* feat: address feedback.
* feat: address feedback.
* feat: address feedback.
* feat: address feedback.
2025-05-19 14:59:50 +02:00
Carlos Quintana
b13a07bd6b
fix: commit alias deletion on API + add filter on trashed aliases in api ( #2470 )
2025-05-15 08:34:21 +00:00
Adrià Casajús
f7882e971e
fix: use the domain part of the domain to check if it is a proton addrss
2025-05-14 11:02:47 +02:00
Carlos Quintana
a3d7732ed8
test: skip apple payment test ( #2457 )
2025-05-07 16:39:09 +02:00
Carlos Quintana
b4945bde33
feat: add job to schedule subscription sync ( #2443 )
2025-04-30 10:08:11 +02:00
Carlos Quintana
0e95f3d047
feat: allow to limit max email recipients ( #2436 )
...
* feat: allow to limit max email recipients
* Set cmake min version
---------
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2025-04-14 16:03:02 +02:00
Carlos Quintana
c7cbc7a4c8
chore: update error message alias custom domain ( #2432 )
2025-04-04 12:36:59 +02:00
Carlos Quintana
7a707bdb6d
fix: trash custom domain alias deletes it ( #2429 )
...
* fix: trash custom domain alias deletes it
* chore: remove redundant commits
2025-03-27 16:33:49 +01:00
Carlos Quintana
9e8ee6467c
fix: only allow api_to_cookie if is for same user ( #2423 )
2025-03-20 15:45:24 +01:00
Adrià Casajús
3962ab5fb0
Preserve Unsubscribe header and create one that always unsubs via alias ( #2419 )
...
* Preserve original unsubs
* Preserve original behaviour in an extra header
2025-03-19 10:59:18 +01:00
Carlos Quintana
84364a1684
feat: alias restore check quota ( #2418 )
...
* feat: alias restore check quota
* Update app/dashboard/views/alias_trash.py
Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
* Update app/dashboard/views/alias_trash.py
Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
---------
Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
2025-03-18 11:05:09 +00:00
Carlos Quintana
a70baad478
Implement Alias Trash ( #2417 )
...
* wip: start implementing alias trash
* Added alias trash dashboard page
* test: delete_alias changes
* Format html
* fix: mailbox deletion
* feat: add delete_alias_action setting in dashboard settings
* chore: disable alias when trashing it
* Add restore tests
* Move tras/restore to alias_actions
* rename alias_actions to alias_delete
* Remove alias_actions
* Send events and alias audit log on alias restore
* feat: adapt queries to trashed alias
* chore: add metrics on alias trash actions
* fix: missing empty arg
* Add rate limit for restore and restore all
* fix: mailbox alias count
* feat: properly handle alias deletion for custom domain deletion
* chore: add error logs
* chore: update alias trash copy + change Trash location
* feat: make can_create_new_alias not take trashed aliases into account
* chore: update mailbox deletion dialog copy
---------
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2025-03-18 10:10:56 +01:00
Carlos Quintana
352be83839
deps: update flask-limiter and redis deps ( #2406 )
2025-03-04 09:48:38 +01:00
Carlos Quintana
78aa169c10
feat: add monitoring to job runner ( #2404 )
...
* feat: add monitoring to job runner
* feat: add proper error handling in job runner
* chore: unify newrelic metric
2025-02-27 15:42:20 +00:00
Carlos Quintana
b06f6dde76
refactor: move job names to enum in constants ( #2401 )
2025-02-26 16:52:49 +01:00
Carlos Quintana
59957ec08b
chore: fix regex warnings on python 3.12 ( #2400 )
...
* deps: update some dependencies to fix warnings
* chore: move from sl.local to sl.lan for local development
* fix: mark string as regex
* chore: move facebook import to handler so its not global
* test: fix tests
* style: lint fixes
* test: move all .test and .local to .lan
* ci: do not use setup-python in lint
2025-02-26 15:41:50 +01:00
Carlos Quintana
abdbbe98a2
feat: job runner priorities ( #2394 )
...
* feat: job runner priorities
* chore: remove duplicate index
2025-02-25 16:28:01 +01:00
Adrià Casajús
9c3f346280
Allow several job runners to run in parallel ( #2281 )
...
* Allow several job runners to run in parallel
* Fix test
* fix: job_runner
---------
Co-authored-by: Carlos Quintana <carlos.quintana@proton.ch>
2025-02-25 15:02:51 +01:00
Adrià Casajús
7e77afa4fc
Fix: if there's an expired manual sub, extend it ( #2393 )
2025-02-21 14:44:31 +01:00
Adrià Casajús
869ea8bd7d
Set mailbox verified on pre-verified email change
2025-02-11 10:53:21 +01:00
Adrià Casajús
da93431df8
Clear new_email on verified email change ( #2383 )
2025-02-06 10:27:35 +01:00
Adrià Casajús
e17ae4210b
Proper check of mx domains ( #2382 )
...
* Proper check of mx domains
* Moved proton servers to config
* Added function
* Make sure we have a global dns
* Typo
2025-02-05 14:28:08 +01:00