Son
|
83be94b43e
|
user can create aliases for domains that don't have mx verified
|
2021-12-28 12:01:32 +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
|
a021bba811
|
fix toggle contact should only be used by authenticated user
|
2021-12-06 18:39:12 +01:00 |
|
Son
|
e1123961cf
|
check if user has lifetime license on pricing page
|
2021-12-01 17:41:20 +01:00 |
|
Son
|
4d388a202c
|
allow user with manual or coinbase subscription to switch to paddle
|
2021-12-01 17:16:01 +01:00 |
|
Son
|
c6f49821c7
|
remove unused import
|
2021-12-01 10:39:08 +01:00 |
|
Son
|
34509cbbb3
|
delete account is protected by password
|
2021-12-01 10:11:18 +01:00 |
|
Son
|
c356c75494
|
show coupon expires date when user buys a coupon
|
2021-11-26 18:20:46 +01:00 |
|
Son
|
4d0f6811b2
|
error if coupon is expired
|
2021-11-26 18:11:03 +01:00 |
|
Son
|
4c33b63f97
|
better way to know whether this is the last page
|
2021-11-23 14:44:48 +01:00 |
|
Son
|
cd553608a5
|
fix
|
2021-11-23 14:35:37 +01:00 |
|
Son
|
f049da8c9a
|
Compare mx domains with priority order and not priority value
|
2021-11-23 14:31:53 +01:00 |
|
Son
|
55ae61527d
|
user can buy 1-year coupon
|
2021-11-22 16:30:27 +01:00 |
|
Son
|
bd8b9526f6
|
set Fido.user_id
|
2021-11-22 15:57:51 +01:00 |
|
Son
|
30f2734853
|
flake8
|
2021-11-19 18:32:04 +01:00 |
|
Son
|
b2c31ef658
|
fix the pagination error display
|
2021-11-19 18:30:36 +01:00 |
|
Son
|
d2ed9337f1
|
add coupon comment in notification
|
2021-11-19 16:40:52 +01:00 |
|
Son
|
a17e81a8f1
|
user can't import csv if current_user.disable_import
|
2021-11-18 10:51:57 +01:00 |
|
Son
|
38ecb227b0
|
reduce subdomain/directory quota when user create/delete subdomain/directory
|
2021-11-18 10:33:15 +01:00 |
|
Son
|
ffc04c7fe9
|
redirect user to subdomain page if a subdomain is deleted
|
2021-11-17 17:34:53 +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
|
67377a0f22
|
do not show subdomains on the domain page
|
2021-11-17 11:52:33 +01:00 |
|
Son
|
eaff8b7ff3
|
remove User.can_use_subdomain column, make subdomain available to all users
|
2021-11-15 11:16:03 +01:00 |
|
Son
|
324cc8734b
|
handle the case user mistakenly use a lifetime coupon on the coupon page
|
2021-11-12 17:53:56 +01:00 |
|
Son
|
2fad942c95
|
include coupon comment in the notification
|
2021-11-11 18:22:41 +01:00 |
|
Son
|
5105c0dbee
|
limit the number of subdomains
|
2021-11-09 10:17:47 +01:00 |
|
Son
|
89648a83dd
|
fix case /mailbox/confirm_change is called in unauthorized user
|
2021-11-08 11:22:54 +01:00 |
|
Son
|
bcf1fa2510
|
fix bug: user can't update mailbox address if it's already used by another account
|
2021-11-05 18:42:34 +01:00 |
|
Son
|
bfab753e76
|
do not show subdomain if no SLDomain support it
|
2021-11-05 18:10:56 +01:00 |
|
Son
|
4ed60ba1d0
|
set dmarc and dkim to False for subdomain
|
2021-11-05 18:09:04 +01:00 |
|
Son
|
58e92e7462
|
user can add subdomain
|
2021-11-05 11:44:39 +01:00 |
|
Son
|
0ae40d599a
|
user can block contact directly on the dashboard
|
2021-11-03 11:29:46 +01:00 |
|
Son
|
accbf882c4
|
user can set one_click_unsubscribe_block_sender setting
|
2021-11-03 10:11:47 +01:00 |
|
Son
|
caa8656748
|
create /dashboard/block_contact/:contact_id
|
2021-11-02 15:30:18 +01:00 |
|
Son
|
b0822519eb
|
only show the navigation arrow when #contacts > PAGE_LIMIT
|
2021-10-23 16:08:43 +02:00 |
|
Son
|
4d740a4dc0
|
flake8
|
2021-10-15 10:39:29 +02: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
|
05cf085511
|
fix
|
2021-10-13 13:32:27 +02:00 |
|
Son
|
cfe88b5df2
|
use job system to delete domain
|
2021-10-13 11:43:44 +02:00 |
|
Son
|
fbabe6fb44
|
use job system for deleting mailbox
|
2021-10-13 11:40:15 +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
|
cef6579946
|
add User.lifetime_coupon_id column
|
2021-10-04 17:14:34 +02:00 |
|
Son Nguyen Kim
|
9528bdcb2e
|
user can enable the ignore_loop_email
|
2021-09-27 15:58:04 +02:00 |
|
Son Nguyen Kim
|
408322217d
|
allow user having apple subscription to switch to web subscription
|
2021-09-27 09:59:33 +02:00 |
|
Son Nguyen Kim
|
469c2011aa
|
use ~all instead of -all for SPF
|
2021-09-23 10:30:59 +02:00 |
|
Son Nguyen Kim
|
18acfd9a42
|
handle case mailbox new address is already used
|
2021-09-21 11:19:22 +02:00 |
|
Son Nguyen Kim
|
19088ba85f
|
refactor
|
2021-09-21 11:17:32 +02:00 |
|
Son Nguyen Kim
|
1d09d76cb2
|
use re2 instead of re to avoid ReDOS attack
|
2021-09-21 10:57:36 +02:00 |
|