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 |
|
Son Nguyen Kim
|
84880ae32a
|
fix error with rule regex doesn't save if error
|
2021-09-21 10:42:32 +02:00 |
|
Son Nguyen Kim
|
1e3afa257c
|
validate regex before creating rule
|
2021-09-21 10:42:02 +02:00 |
|
Son Nguyen Kim
|
f160ebec4e
|
add debug zone to auto create page
|
2021-09-21 10:14:36 +02:00 |
|
Son Nguyen Kim
|
56c72d5fba
|
create auto create page, remove custom domain auto_create_regex part
|
2021-09-20 18:28:43 +02:00 |
|
Son Nguyen Kim
|
0b127216ee
|
user can set custom_domain.auto_create_regex
|
2021-09-17 17:41:36 +02:00 |
|
Son Nguyen Kim
|
b990c052ac
|
move domain mailboxes to domain detail page and only enable it if catch-all is on
|
2021-09-17 11:54:37 +02:00 |
|
Son Nguyen Kim
|
e5a388dffb
|
optimize import
|
2021-09-10 17:37:33 +02:00 |
|
Son Nguyen Kim
|
61d9f7ee43
|
refactor
|
2021-09-10 17:31:29 +02:00 |
|
Son Nguyen Kim
|
3ad4b6b76f
|
use flanker instead of parseaddr_unicode
|
2021-09-10 17:06:38 +02:00 |
|
Son Nguyen Kim
|
5ac78f2694
|
reformat
|
2021-09-08 11:29:55 +02:00 |
|
Son Nguyen Kim
|
f3cff1f1bf
|
create manual subscription using the coupon.is_giveaway info
|
2021-09-07 15:36:19 +02:00 |
|
Son Nguyen Kim
|
48838eb176
|
add highlighted alias in case it's not included in the result
|
2021-09-07 15:22:50 +02:00 |
|
Son Nguyen Kim
|
ffd2ec5e81
|
add filter by directory on dashboard
|
2021-09-05 19:11:05 +02:00 |
|
Son Nguyen Kim
|
b5c827c2ea
|
handle case user already has an active subscription via another channel (Paddle, Apple, etc) on coupon page
|
2021-08-21 16:04:32 +02:00 |
|
Son Nguyen Kim
|
513f5cd4fb
|
rename
|
2021-08-21 15:55:22 +02:00 |
|
Son Nguyen Kim
|
51578ce934
|
add filter by mailbox
|
2021-08-20 12:21:27 +02:00 |
|
Son Nguyen Kim
|
59e4dbb6a6
|
fix error display on domain ownership check
|
2021-08-17 19:39:58 +02:00 |
|
Son Nguyen Kim
|
9c6f3989a0
|
remove hack
|
2021-08-17 19:19:49 +02:00 |
|
Son Nguyen Kim
|
aa041708e3
|
add ownership verification via TXT record
|
2021-08-17 19:05:12 +02:00 |
|
Son Nguyen Kim
|
f4fead2542
|
generate a domain ownership txt token if needed
|
2021-08-17 19:03:15 +02:00 |
|
Son
|
0f4ad1a0d4
|
black
|
2021-08-15 17:56:31 +02:00 |
|
Son
|
e5308932a2
|
make mailbox deletion async
|
2021-08-15 17:50:47 +02:00 |
|
Son Nguyen Kim
|
9968cbfa8e
|
make sure user cancels the Paddle subscription before deleting their account
|
2021-07-29 12:09:40 +02:00 |
|
Son Nguyen Kim
|
c0fe72ccd0
|
user can change the expand_alias setting
|
2021-07-22 10:30:17 +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 Nguyen Kim
|
3141bf1367
|
remove redundant check
|
2021-07-19 20:02:26 +02:00 |
|
Son Nguyen Kim
|
55dcd63654
|
support search on contact page
|
2021-07-14 18:57:25 +02:00 |
|
Son Nguyen Kim
|
aa799fa339
|
Revert "Do not return contact alias activity on the contact manager page"
This reverts commit 45891bed36 .
# Conflicts:
# app/dashboard/views/alias_contact_manager.py
|
2021-07-14 17:21:07 +02:00 |
|
Son Nguyen Kim
|
25f0a71ea5
|
add 2 weeks mention on global stats
|
2021-07-14 17:15:46 +02:00 |
|
Son Nguyen Kim
|
253be7bad4
|
Revert "disable global stats to help the DB"
This reverts commit 7ce83c36b9 .
|
2021-07-14 15:55:03 +02:00 |
|
Son Nguyen Kim
|
b98e913304
|
fix contact page
|
2021-07-13 22:25:53 +02:00 |
|
Son Nguyen Kim
|
45891bed36
|
Do not return contact alias activity on the contact manager page
|
2021-07-13 19:27:45 +02:00 |
|
Son Nguyen Kim
|
7ce83c36b9
|
disable global stats to help the DB
|
2021-07-13 14:52:02 +02:00 |
|
Son Nguyen Kim
|
601385a0c1
|
add coupon
|
2021-07-13 08:54:37 +02:00 |
|
Son NK
|
95d6fa3478
|
make sure user can create new alias to receive an alias transfer
|
2021-07-03 17:12:03 +02:00 |
|
Son NK
|
01815b9153
|
replace get_suffix() by User.get_random_alias_suffix()
|
2021-06-27 17:51:13 +02:00 |
|
Son NK
|
09d00df363
|
reformat imports
|
2021-06-27 17:50:36 +02:00 |
|
Raymond Nook
|
258d505cbf
|
Merge branch 'master' into master
|
2021-05-26 22:33:20 -07:00 |
|
devStorm
|
f7bef3941a
|
replace random_word with get_suffix(user)
|
2021-05-26 22:30:12 -07:00 |
|
Son NK
|
2f96322977
|
make sure BOUNCE_PREFIX_FOR_REPLY_PHASE can't be used as directory name or for creating aliases on-the-fly
|
2021-05-25 17:59:40 +02:00 |
|
devStorm
|
4a0fc8380f
|
variable naming
|
2021-05-14 11:03:16 -07:00 |
|
devStorm
|
30183ac8c3
|
🐛 fix style
|
2021-05-13 19:34:54 -07:00 |
|
devStorm
|
5c74ad2dc0
|
⚠️ Remove word list check
|
2021-05-13 16:55:46 -07:00 |
|
devStorm
|
178ce34399
|
Enum, setting
|
2021-05-13 16:53:01 -07:00 |
|
devStorm
|
3fc250018d
|
basic implementation of random suffix
|
2021-05-13 16:13:19 -07:00 |
|
Son NK
|
93a8873192
|
show payouts on referral page
|
2021-05-10 13:03:44 +02:00 |
|
Son NK
|
ceacf8e3a7
|
support dot in alias prefix
|
2021-04-30 11:37:17 +02:00 |
|
Son NK
|
c5697fbf3c
|
remove unused import
|
2021-04-23 12:07:49 +02:00 |
|
Son NK
|
7946879308
|
schedule account deletion
|
2021-04-23 11:50:26 +02:00 |
|
Son NK
|
aad1270e0d
|
free trial account can't create more than MAX_NB_EMAIL_FREE_PLAN aliases
|
2021-04-09 12:40:55 +02:00 |
|
Son NK
|
9757b12b95
|
user can remove the app link
|
2021-04-01 14:20:13 +02:00 |
|
Son NK
|
efae1710c8
|
extract the app/website to a separate page
|
2021-04-01 14:09:16 +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
|
7ab64d9768
|
add more logging
|
2021-03-22 15:52:48 +01:00 |
|
Son NK
|
8bb324e82b
|
propose users to disable an alias instead of deleting it
|
2021-03-18 14:21:26 +01:00 |
|
Son NK
|
3512cc087e
|
remove unused import
|
2021-03-08 14:53:14 +01:00 |
|
Son Nguyen Kim
|
095e2ae0de
|
Merge pull request #377 from TheLastProject/feature/api_export
Add export endpoints
|
2021-03-08 12:18:28 +01:00 |
|
Sylvia van Os
|
3932ed2eb8
|
Add export endpoints
|
2021-03-06 21:56:42 +01:00 |
|
Son
|
863d8dcbe7
|
black
|
2021-03-06 18:10:41 +01:00 |
|
Son
|
23a0861790
|
Improve alias transfer. Use alias transfer_token. Add a limiter on /alias_transfer/receive
|
2021-03-06 18:08:42 +01:00 |
|
Son
|
475eaa2bc0
|
inform user when his alias has been transferred
|
2021-03-06 18:08:42 +01:00 |
|
Son NK
|
a2dad50d20
|
take into account apple sub
|
2021-02-23 19:40:40 +01:00 |
|
Son NK
|
d4ac2da96a
|
set some fields back to default
|
2021-02-17 13:08:02 +01:00 |
|
Son NK
|
9e486fc2c0
|
add alias transfer
|
2021-02-17 12:56:28 +01:00 |
|
Son NK
|
dc29c6f9d9
|
improve wording
|
2021-02-12 13:03:31 +01:00 |
|
Son NK
|
5bb0ae0234
|
Set user.sender_format_updated_at when user updates sender_format
|
2021-01-26 20:14:13 +01:00 |
|
Son NK
|
4cd49b66c2
|
use VERP for transactional email: remove SENDER, SENDER_DIR
|
2021-01-26 09:59:22 +01:00 |
|
Son NK
|
45ac548e2b
|
reserve bounce, bounces as directory name
|
2021-01-11 14:32:48 +01:00 |
|
Son NK
|
e9adb3270d
|
use sanitize_email instead of .lower().strip().replace(" ", "")
|
2021-01-11 12:29:40 +01:00 |
|
Son NK
|
ef7fae32b1
|
remove the "Hi {name}" from email template
|
2021-01-11 10:23:34 +01:00 |
|
Son NK
|
2b4dc3cdcc
|
when a custom domain is default and has random_prefix_generation enabled, use the random_prefix as the first choice
|
2021-01-02 18:17:53 +01:00 |
|
Son NK
|
33dd6083c7
|
rename available_suffixes_more_info -> get_available_suffixes
|
2020-12-31 14:27:04 +01:00 |
|
Son NK
|
95f3db6aa5
|
remove available_suffixes()
|
2020-12-31 14:26:07 +01:00 |
|
Son NK
|
7915a2abb9
|
Fix available_suffixes_more_info
|
2020-12-31 14:18:49 +01:00 |
|
Son NK
|
abb3ec1f05
|
rename
|
2020-12-31 14:16:32 +01:00 |
|
Son NK
|
75d1b090cd
|
rename default_random_alias_public_domain_id -> default_alias_public_domain_id
|
2020-12-31 14:14:56 +01:00 |
|
Son NK
|
e0a414212e
|
rename default_random_alias_domain_id -> default_alias_custom_domain_id
|
2020-12-31 14:06:32 +01:00 |
|
Son NK
|
b9d8f11f2d
|
put the default domain to top
|
2020-12-31 13:59:03 +01:00 |
|
Son NK
|
66e7aa7242
|
refactor
|
2020-12-31 12:50:04 +01:00 |
|
Son NK
|
830331d9b3
|
improve wording
|
2020-12-14 11:52:35 +01:00 |
|
Son NK
|
3dd8ed7840
|
Create /dashboard/coinbase_checkout, remove extend_subscription route
|
2020-12-14 11:34:59 +01:00 |
|
Son NK
|
530160567b
|
fix coinbase button not displayed on pricing page
|
2020-12-13 19:51:00 +01:00 |
|
Son NK
|
fbe48b7b3e
|
add extend subscription link on settings page
|
2020-12-13 19:14:54 +01:00 |
|
Son NK
|
436e31229f
|
Create extend_subscription page
|
2020-12-13 19:13:26 +01:00 |
|
Son Nguyen Kim
|
bf139f83b3
|
Merge pull request #342 from herrboyer/linting
Linting
|
2020-12-07 17:45:50 +01:00 |
|
Son NK
|
4fb7b7bd2c
|
user can change directory disabled
|
2020-12-07 10:49:40 +01:00 |
|
Renaud Boyer
|
5d948faf56
|
black
|
2020-12-06 22:11:58 +01:00 |
|
Renaud Boyer
|
a8d67f94e2
|
linting
|
2020-12-06 22:07:18 +01:00 |
|
Renaud Boyer
|
f3303ee6bb
|
linting
|
2020-12-06 22:06:03 +01:00 |
|
Renaud Boyer
|
4e93e511ec
|
linting
|
2020-12-06 22:05:13 +01:00 |
|
Renaud Boyer
|
f1fb0ebe1f
|
linting
|
2020-12-06 22:04:21 +01:00 |
|
Renaud Boyer
|
b7e6270a18
|
linting
|
2020-12-06 22:03:47 +01:00 |
|
Renaud Boyer
|
a45b6df78c
|
linting
|
2020-12-06 22:03:06 +01:00 |
|
Renaud Boyer
|
479a9d1a35
|
linting
|
2020-12-06 22:02:18 +01:00 |
|
Renaud Boyer
|
47b1398cad
|
linting
|
2020-12-06 22:01:43 +01:00 |
|
Renaud Boyer
|
4bf22771af
|
linting
|
2020-12-06 22:01:38 +01:00 |
|
Renaud Boyer
|
43d9dbc1fc
|
linting
|
2020-12-06 22:00:01 +01:00 |
|
Son NK
|
fec281b84f
|
Add include_sender_in_reverse_alias on Setting page
|
2020-12-06 19:38:37 +01:00 |
|
Son NK
|
ce2d68a64d
|
take into account include_sender_in_reverse_alias when creating reverse-alias
|
2020-12-06 19:37:20 +01:00 |
|
Renaud Boyer
|
7bac9e82b9
|
linting
|
2020-12-06 18:04:29 +01:00 |
|
Son NK
|
81f9f9f41b
|
optimize get_stats(): use session.query instead of EmailLog.query
|
2020-12-02 17:30:56 +01:00 |
|
Son NK
|
adfbfe8026
|
Use load_public_key_and_check when adding new PGP key
|
2020-11-26 10:27:32 +01:00 |
|
Son NK
|
bcb2657de3
|
add remove button on custom domain name
|
2020-11-24 12:02:47 +01:00 |
|
Son NK
|
3d75ef974a
|
user can turn on/off pgp on mailbox that has valid pgp_finger_print
|
2020-11-24 11:22:41 +01:00 |
|
Son NK
|
a1d5b01143
|
make sure mailbox email is valid
|
2020-11-22 12:18:31 +01:00 |
|
Son NK
|
8aed5ced3f
|
make sure a custom domain name does not contain a linebreak
|
2020-11-20 18:40:07 +01:00 |
|
Son NK
|
5b9dc88c67
|
make sure alias prefix cannot be more than 40 chars
|
2020-11-18 10:38:35 +01:00 |
|
Son NK
|
319078fceb
|
use contact email when generating reply-email
|
2020-11-18 10:24:39 +01:00 |
|
Son NK
|
6ed6218895
|
black
|
2020-11-17 09:27:45 +01:00 |
|
Son NK
|
145fc9c67c
|
Add reverse_alias_address to GET /api/aliases/:alias_id/activities
|
2020-11-17 09:27:30 +01:00 |
|
Son NK
|
3d153f5203
|
make sure user can't choose "ra" as directory name
|
2020-11-16 19:18:33 +01:00 |
|
Son NK
|
75ba1669e0
|
Create generate_reply_email() and refactor
|
2020-11-16 19:15:09 +01:00 |
|
Son NK
|
f500a495b7
|
User can pin an alias
|
2020-11-15 18:46:43 +01:00 |
|
Son NK
|
b4e5e3eecb
|
user can choose a referral code
|
2020-11-13 16:18:09 +01:00 |
|
Son NK
|
25de8001e2
|
fix circular import
|
2020-11-12 17:56:03 +01:00 |
|