Son
|
c6a2af3c3c
|
remove unused admin column
|
2021-12-06 18:04:23 +01:00 |
|
Son
|
3e2c120a73
|
phone reservation page
- add twilio lib
- create phone listing, reservation page
- add twilio callback to receive messages
|
2021-12-02 17:03:13 +01:00 |
|
Son
|
7109dc7120
|
add models for phone: Country, Number, Reservation, Message
|
2021-12-02 16:50:26 +01:00 |
|
Son
|
daca70f2b4
|
add TWILIO_AUTH_TOKEN config
|
2021-12-02 16:30:30 +01:00 |
|
Son
|
226ce9333c
|
return error if invalid alias address
|
2021-12-02 16:17:41 +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
|
4ffa5c9345
|
display expires date
|
2021-11-30 10:33:31 +01:00 |
|
Son
|
94a90665ea
|
black format
|
2021-11-29 16:46:03 +01:00 |
|
Son
|
21bd4ed97e
|
display all user payment channels on admin
|
2021-11-29 16:26:41 +01:00 |
|
Son
|
c29b5100fb
|
delete User.subscription_cancelled
|
2021-11-29 16:17:24 +01:00 |
|
Son
|
325a1a9524
|
remove unused User.premium_end
|
2021-11-29 11:35:28 +01:00 |
|
Son
|
5f47d172e0
|
move fake_data() to dedicated fiel
|
2021-11-28 11:51:31 +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
|
06d459ba99
|
Add coupon.expires_date column
|
2021-11-26 18:10:23 +01:00 |
|
Son
|
6d1b6720cf
|
set content_type for plain text message
|
2021-11-25 10:34:59 +01:00 |
|
Son
|
dd6e265aa0
|
add RSPAMD_SIGN_DKIM and add "X-SimpleLogin-Want-Signing" header
|
2021-11-25 10:34:42 +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
|
eeb24f594a
|
Add OLD_UNSUBSCRIBER and support it
|
2021-11-22 18:17:07 +01:00 |
|
Son
|
55ae61527d
|
user can buy 1-year coupon
|
2021-11-22 16:30:27 +01:00 |
|
Son
|
2d9f8e83e6
|
add PADDLE_COUPON_ID to config
|
2021-11-22 16:28:49 +01:00 |
|
Son
|
b5c2d9ee2a
|
fix custom domain not correctly set on /v2/alias/custom/new and /v3/alias/custom/new
|
2021-11-22 16:20:50 +01:00 |
|
Son
|
3add9e6db8
|
make sure to delete Fido when disabling Fido on a user
|
2021-11-22 15:58:11 +01:00 |
|
Son
|
bd8b9526f6
|
set Fido.user_id
|
2021-11-22 15:57:51 +01:00 |
|
Son
|
e4f2e1f5a8
|
add Fido.user_id column
|
2021-11-22 15:57:38 +01:00 |
|
Son
|
63e1baf46a
|
can disable both OTP and FIDO
|
2021-11-22 11:32:14 +01:00 |
|
Son
|
77e38e63fe
|
handle hotmail complaint during reply phase
|
2021-11-21 11:31:28 +01:00 |
|
Son
|
63f4d15329
|
do not decrease directory or subdomain quota when user deletes a subdomain/directory
|
2021-11-20 20:00:35 +01:00 |
|
Son
|
a072fdcd96
|
do not send emails to disabled user
|
2021-11-20 19:42:49 +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
|
fdfa286d3e
|
allow contact email to be case sensitive
|
2021-11-18 16:44:04 +01:00 |
|
Son
|
a17e81a8f1
|
user can't import csv if current_user.disable_import
|
2021-11-18 10:51:57 +01:00 |
|
Son
|
6f4c9f6c5a
|
add User.disable_import column
|
2021-11-18 10:51:13 +01:00 |
|
Son
|
38ecb227b0
|
reduce subdomain/directory quota when user create/delete subdomain/directory
|
2021-11-18 10:33:15 +01:00 |
|
Son
|
85c6e791bc
|
add _directory_quota, _subdomain_quota column to User
|
2021-11-18 10:30:46 +01:00 |
|
Son
|
bccfcee780
|
add subdomain and directory stats to Metric
|
2021-11-17 17:43:59 +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
|
5a81c08e32
|
add DeletedSubdomain model
|
2021-11-17 17:20:00 +01:00 |
|
Son
|
417f7b92b0
|
make sure a deleted directory can't be recreated
|
2021-11-17 17:02:31 +01:00 |
|
Son
|
482aa8614c
|
Create DeletedDirectory model
|
2021-11-17 17:01:39 +01:00 |
|
Son
|
2ce7f3d445
|
add coupon.comment column
|
2021-11-17 11:52:46 +01:00 |
|
Son
|
67377a0f22
|
do not show subdomains on the domain page
|
2021-11-17 11:52:33 +01:00 |
|
Son
|
6eb702870c
|
handle the case alias is in trash
|
2021-11-17 10:56:43 +01:00 |
|
Son
|
9c27f94e8e
|
return only bounce report that can be decoded
|
2021-11-17 10:54:17 +01:00 |
|
Son
|
abc074ea9b
|
make sure password can't be longer than 100 chars
|
2021-11-16 19:41:05 +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
|
790f0ed23c
|
return 250 status when handling bounces
|
2021-11-13 11:21:19 +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
|
416eafaeb9
|
use the first alias suffix when creating a new random alias
|
2021-11-12 11:04:00 +01:00 |
|
Son
|
611fb8a20c
|
take into account user.include_website_in_one_click_alias in /api/alias/random/new
|
2021-11-12 09:45:31 +01:00 |
|
Son
|
293cc74c53
|
add User.include_website_in_one_click_alias column
|
2021-11-12 09:44:40 +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
|
9f9b470ab8
|
fix
|
2021-11-08 11:52:41 +01:00 |
|
Son
|
d7971953ac
|
return error if name too long when updating alias
|
2021-11-08 11:26:10 +01:00 |
|
Son
|
89648a83dd
|
fix case /mailbox/confirm_change is called in unauthorized user
|
2021-11-08 11:22:54 +01:00 |
|
Son
|
429683f444
|
log more data in apple.verify_receipt()
|
2021-11-06 18:25:15 +01:00 |
|
Son
|
a1fdbc0caa
|
use bigint for Fido.sign_count
|
2021-11-06 12:40:16 +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
|
383f633e41
|
fix active_page
|
2021-11-05 18:33:14 +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
|
ef734d7045
|
add User.can_use_subdomain column
|
2021-11-05 11:44:04 +01:00 |
|
Son
|
3f1020d5d7
|
Add CustomDomain.is_sl_subdomain and SLDomain.can_use_subdomain columns
|
2021-11-05 11:29:10 +01:00 |
|
Son
|
516898af59
|
move all template files to templates/
|
2021-11-04 15:05:22 +01:00 |
|
Son
|
4a47e8c9c6
|
refactor: move template files to templates/
|
2021-11-04 15:00:39 +01:00 |
|
Son
|
0de85fdce3
|
redirect user directly to the client page if user has already authorized the client
|
2021-11-04 14:59:01 +01:00 |
|
Son
|
a03d87b62c
|
move files to templates/
|
2021-11-04 14:48:56 +01:00 |
|
Son
|
f8b6b20dd8
|
not create html in send_email if html isn't set
|
2021-11-04 14:27:33 +01:00 |
|
Son
|
014b7d5b1f
|
improve wording on setting page
|
2021-11-03 12:36:07 +01:00 |
|
Son
|
0ae40d599a
|
user can block contact directly on the dashboard
|
2021-11-03 11:29:46 +01:00 |
|
Son
|
51a85011b1
|
rename "send email" to "contacts"
|
2021-11-03 10:23:40 +01:00 |
|
Son
|
accbf882c4
|
user can set one_click_unsubscribe_block_sender setting
|
2021-11-03 10:11:47 +01:00 |
|
Son
|
31e39314d5
|
return "block_forward" for /api/aliases/{alias.id}/contacts
|
2021-11-02 15:55:16 +01:00 |
|
Son
|
4369137e25
|
block the sender via one click unsubscribe
|
2021-11-02 15:44:43 +01:00 |
|
Son
|
368a2f1b47
|
Add User.one_click_unsubscribe_block_sender column
|
2021-11-02 15:41:49 +01:00 |
|
Son
|
caa8656748
|
create /dashboard/block_contact/:contact_id
|
2021-11-02 15:30:18 +01:00 |
|
Son
|
b50f1d60b2
|
refactor: create headers constants for List-Unsubscribe
|
2021-11-02 14:36:37 +01:00 |
|
Son
|
52a19818b7
|
save email whose bounce info can't be parsed for debugging
|
2021-11-02 14:32:16 +01:00 |
|
Son
|
fbb1451352
|
rename file
|
2021-11-02 11:43:04 +01:00 |
|
Son
|
7fef62f67a
|
Add MessageIDMatching.email_log_id column
|
2021-11-01 18:41:36 +01:00 |
|
Son
|
db226c5706
|
black
|
2021-11-01 17:58:20 +01:00 |
|
Son
|
e67969cdcf
|
add processID to log format
|
2021-11-01 17:45:24 +01:00 |
|
Son
|
2691fff217
|
handle UnicodeDecodeError in replace()
|
2021-11-01 10:11:36 +01:00 |
|
Son
|
507d10cd89
|
user can block/unblock contact
|
2021-10-28 10:19:34 +02:00 |
|
Son
|
bc4805b1fa
|
Add POST /api/contacts/:contact_id/toggle
|
2021-10-28 10:14:20 +02:00 |
|
Son
|
9620f97449
|
add Contact.block_forward column
|
2021-10-28 10:12:56 +02:00 |
|
Son
|
02a005d076
|
increase message_id length to 1024
|
2021-10-27 16:06:56 +02:00 |
|
Son
|
8aa7b1b773
|
set client.referral_id=None when a referral is deleted
|
2021-10-26 12:06:49 +02:00 |
|
Son
|
b41b695228
|
include the referral code when user signs up via SIWSL
|
2021-10-26 12:06:16 +02:00 |
|
Son
|
04bcc24ad7
|
user can set client.referral
|
2021-10-26 12:04:16 +02:00 |
|