Commit Graph

2198 Commits

Author SHA1 Message Date
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
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
Son
1aff59e112 improve client UI 2021-10-26 11:55:42 +02:00
Son
f19655fc93 add client.referral_id column 2021-10-26 11:55:27 +02:00
Son
a0165d6381 remove not working on gmail part 2021-10-25 15:39:49 +02:00
Son
3d071d27a6 improve wording, add client url 2021-10-25 15:18:42 +02:00
Son
0fbd351bed handle the referral url that has ?slref=code part 2021-10-25 15:02:02 +02:00
Son
83c5eded80 Referral name is required 2021-10-25 15:01:32 +02:00
Son
8cb413d5fd remove unused import 2021-10-25 14:47:07 +02:00
Son
7e0609c39a do not display nb_paid_user for client 2021-10-25 14:36:23 +02:00
Son
d701b84110 decode and encode email payload for quoted-printable email in replace() 2021-10-25 14:34:13 +02:00
Son
8680c0a739 do do not use the ra+ prefix for reverse alias 2021-10-25 14:33:42 +02:00
Son
befec56a86 display nb paid user on SIWSL app 2021-10-25 11:10:23 +02:00
Son
8bafdfc879 improve SIWSL wording 2021-10-25 11:09:30 +02:00
Son
9299904fc9 small refactor 2021-10-24 10:40:05 +02:00
Son
083b56b9a6 if user.disable_automatic_alias_note, do not add alias note 2021-10-23 18:24:28 +02:00
Son
50b0dc3767 Add User.disable_automatic_alias_note column 2021-10-23 17:40:57 +02:00
Son
d41ab5f5de use words.txt instead of words_alpha.txt 2021-10-23 17:31:56 +02:00
Son
b0822519eb only show the navigation arrow when #contacts > PAGE_LIMIT 2021-10-23 16:08:43 +02:00
Son
4a90c79753 make sure mailbox_ids is a list in /api/v3/alias/custom/new 2021-10-23 15:55:39 +02:00
Son
ecdce2307f make sure input of /api/v3/alias/custom/new is a dict 2021-10-23 15:52:17 +02:00
Son
5843fa94a0 handle encoding typo 2021-10-19 18:05:56 +02:00
Son
9fb6e45077 fix the help text too close to the input 2021-10-19 17:38:29 +02:00
Son
421c121d59 black 2021-10-19 14:03:51 +02:00
Son
be7ae3021a rename is_reply_email -> is_reverse_alias, make sure reverse-alias must end with EMAIL_DOMAIN 2021-10-19 12:14:16 +02:00
Son
1483f2e103 Add EmailLog.message_id, sl_message_id and MessageIDMatching table 2021-10-18 17:25:59 +02:00
Son
462164ff16 use tldextract to extract hostname 2021-10-18 11:45:48 +02:00
Son
d6edd59450 use warning level 2021-10-18 09:55:28 +02:00
Son
0b06c46f65 handle missing content-transfer-encoding 2021-10-17 17:19:44 +02:00
Son
283a6a530d handle case address.parse can also parse an URL and return UrlAddress 2021-10-17 12:52:59 +02:00
Son
34564f6fa4 Add Metric2.nb_total_bounced_last_24h column 2021-10-15 10:46:22 +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
fcb94f0331 add Bounce.info column 2021-10-14 15:45:29 +02:00
Son
3bdeda3e04 add get_mailbox_bounce_info() 2021-10-14 15:10:16 +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
3a0b125323 fix table name 2021-10-13 10:52:41 +02:00
Son
e13a974e53 disable rate limiting 2021-10-13 10:30:04 +02:00
Son
074dd875dc comment out "Submit for approval" section 2021-10-12 14:39:29 +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
653a03ac11 show tooltip on highlighted alias 2021-10-12 09:58:17 +02:00
Son
8394d7340c format 2021-10-12 09:51:11 +02:00
Son
ee0ed7d9ec refactor: use headers.py 2021-10-11 12:21:14 +02:00
Son
5821294ae9 refactor: use headers.py 2021-10-11 12:10:18 +02:00
Son
9bb83fe3e2 fix email thread: do not delete original message id 2021-10-11 12:00:37 +02:00
Son
a7f82b2110 fix test 2021-10-11 11:47:07 +02:00
Son
5d7e10f776 make sure when user changes password, log user out on other browsers 2021-10-11 11:30:41 +02:00
Son
fdc23b3107 add User.alternative_id column 2021-10-11 11:30:10 +02:00