Adrià Casajús
501b225e40
Require sudo for account changes ( #2041 )
...
* Move accounts settings under sudo
* Fixed sudo mode
* Add a log message
* Update test
* Renamed sudo_setting to account_setting
* Moved simple login data export and alias/import export to account settings
* Move account settings to the top-right dropdown
2024-02-29 11:20:29 +01:00
Adrià Casajús
7ec7e06c2b
Move alias transfer util outside the views to make it importable ( #1855 )
2023-08-31 13:42:44 +02:00
Adrià Casajús
d8943cf126
Fix: Allow to create more than one api key if the user has more than one ( #1822 )
...
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2023-07-25 17:15:18 +02:00
Adrià Casajús
d62bff8e46
Add rate limit and maximum amount of api keys ( #1788 )
...
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2023-06-29 17:21:00 +02:00
Adrià Casajús
37ffe4d5fe
Fix: Always include default domain in the list of domains ( #1768 )
...
* Fix: Always include default domain in the list of domains
* Add premium test
---------
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2023-06-06 15:55:10 +02:00
Adrià Casajús
7cb7b48845
Ensure coupons are only used once ( #1718 )
...
* Ensure coupons are only used once
* Update test to handle redirect
---------
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2023-05-03 16:18:46 +02:00
Adrià Casajús
5e48d86efa
Canonicalize emails from google and proton before registering users ( #1493 )
...
* Revert "Revert "Use canonical email when registering users (#1458 )" (#1474 )"
This reverts commit c8ab1c747e
.
* Only canonicalize gmail and proton
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-12-14 11:50:36 +01:00
Adrià Casajús
c8ab1c747e
Revert "Use canonical email when registering users ( #1458 )" ( #1474 )
...
* Revert "Use canonical email when registering users (#1458 )"
This reverts commit f728b0175a
.
* missing chang
* typo
2022-12-08 10:57:46 +01:00
Adrià Casajús
f728b0175a
Use canonical email when registering users ( #1458 )
...
* Use canonical email for registration, check both when checking if user exists
* Fix test
* Set pagesize to 100
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-30 17:19:55 +01:00
Spitfireap
b849d1cfa7
Simpler csv export ( #1383 )
...
* Export alias in csv
* reformating
* template
* Improved contributing script and doc
* Updated test
* removed csv export from GDPR export archive
* added test for new route
* fix trailing space
* moved test to new utils file
2022-11-23 13:51:08 +01:00
Adrià Casajús
d324e2fa79
Fix: Add csrf verification to directory updates ( #1358 )
...
* Fix: Add csrf verification to directory updates
* Update templates/dashboard/directory.html
* Added csrf for delete account form
* Fix tests
* Added CSRF check for settings page
* Added csrf to batch import
* Added CSRF to alias dashboard and alias transfer
* Added csrf to contact manager
* Added csrf to mailbox
* Added csrf for mailbox detail
* Added csrf to domain detail
* Lint
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-27 10:04:47 +02:00
Son Nguyen Kim
c71824c68e
Init daily metric ( #1351 )
...
* Add DailyMetric model
* increment nb_new_web_non_proton_user
* fix test
* fix test
2022-10-14 17:35:34 +02:00
Son Nguyen Kim
1fc75203f2
Improve test: disable rate limit during test and avoid conflicts between tests ( #1349 )
...
* disable rate limit during test, avoid conflict between tests
* fix test
2022-10-14 16:37:49 +02:00
Son Nguyen Kim
7b24cdd98a
Revert "remove deduct_limit as it has no effect ( #1347 )" ( #1348 )
...
This reverts commit 851ba0a99a
.
2022-10-13 22:00:45 +02:00
Son Nguyen Kim
851ba0a99a
remove deduct_limit as it has no effect ( #1347 )
...
* remove deduct_limit as it has no effect
- disable rate limit during test
- randomize data in test
- support non-empty db in test
* fix more test
2022-10-13 18:55:22 +02:00
Adrià Casajús
25fde11a86
Refactor alias suffix ( #1194 )
...
* Extract suffix generation and validation to a module
* Updated tests
* Make custom alias use signed suffixes
* Added the signature check to the module
* Fix invalid route
* Move more suffix related stuff
* Fix tests
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-07-27 17:40:22 +02:00
Adrià Casajús
21feced342
Refactor unsubscribe handling ( #1090 )
...
* Refactor unsubscribe email handling
* MR comments
* Moved all unsub logic to the encoder
* remove unused
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-30 11:40:01 +02:00
Son Nguyen Kim
09cec0cdec
allow to hide some public domains and set their order ( #1107 )
2022-06-22 18:21:19 +02:00
Adrià Casajús
220f21bb2a
Fix tests to allow re-running them locally without colliding with previous runs
2022-05-20 14:39:07 +02:00
Son
becde6458b
fix test
2022-04-18 11:55:14 +02:00
Son
9a994ec98b
fix test
2022-04-18 11:17:10 +02:00
Son
aaccfc6f9d
fix test
2022-04-18 10:18:51 +02:00
Son
cb8b20fc9a
fix test
2022-04-15 17:37:19 +02:00
Son
a966665478
refactor test: no hardcode a@b.c, make sure each test has a different user
2022-04-15 16:59:44 +02:00
Son
2baebe7934
remove unused import
2022-03-21 14:43:27 +01:00
Son
1952f368a8
require password to use the api key page
2022-03-21 14:40:47 +01:00
george
c415324932
Add flake8-bugbear
2022-02-06 20:37:43 +00:00
george
e6276dc32e
Fix typo.
2022-02-03 21:44:27 +00:00
george
172e509f53
Add comment.
2022-02-03 21:43:40 +00:00
george
3837a9955e
Just get the API key by user ID.
2022-02-03 19:49:29 +00:00
george
836e599517
Use POST requests to create and delete through the dashboard.
2022-02-03 19:47:41 +00:00
george
010c343641
Refactor to the dashboard folder.
2022-02-03 19:33:40 +00:00
Son
5a712f3877
make sure subdomain can only contain lowercase letters, numbers and dashes.
2022-01-26 14:53:27 +01:00
Son
80b0af91e5
allow user to create alias with domain that has ownership verified (and might not have MX verified)
2021-12-29 10:24:22 +01:00
Son
5e7730c35c
refactor: move regex_match() to its own file
2021-12-14 15:00:32 +01:00
Son
f3e8fc10a9
use re instead of re2 if error "Argument 'pattern' has incorrect type (expected bytes, got PythonRePattern)"
2021-12-11 19:38:22 +01:00
Son
adb376525f
flake8
2021-11-18 10:33:38 +01:00
Son
38ecb227b0
reduce subdomain/directory quota when user create/delete subdomain/directory
2021-11-18 10:33:15 +01:00
Son
a8c86785d1
make sure a deleted subdomain can't be recreated
2021-11-17 17:21:13 +01:00
Son
417f7b92b0
make sure a deleted directory can't be recreated
2021-11-17 17:02:31 +01:00
Son
caa8656748
create /dashboard/block_contact/:contact_id
2021-11-02 15:30:18 +01:00
Son
fd7d9969f8
create a test for unsubscribe
2021-11-02 15:20:33 +01:00
Son
57bfa7e933
make sure that a domain already used in a verified mailbox can't be added
2021-10-15 10:32:20 +02:00
Son
372466ab06
do not use flask-sqlalchemy
...
- add __tablename__ for all models
- use sa and orm instead of db
- rollback all changes in tests
- remove session in @app.teardown_appcontext
2021-10-12 14:36:47 +02:00
Son Nguyen Kim
264bab965a
fix test
2021-08-05 19:49:36 +02:00
Son Nguyen Kim
d181cd49dd
Sign the whole Alias Suffix Info instead of just the suffix
2021-07-19 20:14:59 +02:00
Son NK
92acf352b6
add limiter for random alias creation
2021-03-24 17:30:05 +01:00
Son NK
71389b7e09
add limiter on custom alias page
2021-03-24 16:52:05 +01:00
Son NK
9030d8b543
flake8
2021-02-17 13:01:28 +01:00
Son NK
9e486fc2c0
add alias transfer
2021-02-17 12:56:28 +01:00