Commit Graph

568 Commits

Author SHA1 Message Date
Son Nguyen Kim 0b127216ee user can set custom_domain.auto_create_regex 2021-09-17 17:41:36 +02:00
Son Nguyen Kim 58d36e9cd8 add CustomDomain.auto_create_regex column 2021-09-17 17:35:36 +02:00
Son Nguyen Kim 62044e6db1 Add User.ignore_loop_email column 2021-09-10 18:14:51 +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 41f10373d1 add plan info 2021-09-08 10:51:47 +02:00
Son Nguyen Kim d9f44437da add Coupon.is_giveaway column 2021-09-07 15:35:55 +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 b606d35c11 add pg_trgm index on Alias.note to speed up LIKE search 2021-08-20 12:14:20 +02:00
Son Nguyen Kim 52e2e67081 add CustomDomain ownership_verified, ownership_txt_token column. Set ownership_verified=True for domain that has verified=True 2021-08-17 19:02:35 +02:00
Son Nguyen Kim 2b048543d3 add Alias.ts_vector column to use full text search 2021-08-04 09:29:56 +02:00
Son Nguyen Kim e2fea3aed8 Revert "add index for Alias name and email column"
This reverts commit 35a9a723aa.
2021-08-04 09:01:59 +02:00
Son Nguyen Kim 35a9a723aa add index for Alias name and email column 2021-08-04 08:57:13 +02:00
Son Nguyen Kim b9d1d10473 Revert "add some indexes to speed up search by query"
This reverts commit e9538a62be.
2021-08-04 08:56:11 +02:00
Son Nguyen Kim e9538a62be add some indexes to speed up search by query 2021-08-03 19:13:48 +02:00
Son Nguyen Kim 6dac717c75 Add IgnoreBounceSender model 2021-08-02 11:30:29 +02:00
Son Nguyen Kim 5821bd6512 Create HibpNotifiedAlias to store all notified aliases 2021-07-29 09:41:46 +02:00
Son Nguyen Kim 5aef6cceb2 Add description, date column to Hibp model 2021-07-29 08:51:21 +02:00
Son Nguyen Kim 52376484a5 Add nb_block_last_24h, nb_bounced_last_24h, nb_forward_last_24h, nb_reply_last_24h 2021-07-28 18:31:59 +02:00
Son Nguyen Kim 39e2750486 remove Metric 2021-07-28 18:20:18 +02:00
Son Nguyen Kim 8de9931b28 Add User.expand_alias_info column 2021-07-22 10:17:23 +02:00
Son Nguyen Kim 4b9b3f18a2 add index for contact.reply_email col 2021-07-13 10:17:10 +02:00
Son Nguyen Kim 7a8b5d80ed Create coupon model 2021-07-12 19:26:28 +02:00
Son Nguyen Kim 0b063cb409 Add EmailLog.alias_id column 2021-07-11 12:27:30 +02:00
Son NK 01815b9153 replace get_suffix() by User.get_random_alias_suffix() 2021-06-27 17:51:13 +02:00
Raymond Nook 4469a64de6
Merge branch 'simple-login:master' into master 2021-06-24 02:57:17 -07:00
Son NK b84eb13ab5 Discard ignored email
Create IgnoredEmail model
2021-06-22 17:52:24 +02:00
Raymond Nook e40c276a68
Merge branch 'master' into master 2021-06-05 22:57:27 -07:00
devStorm e79959c330
🐛 imported but unused 2021-06-05 22:53:16 -07:00
Son NK a2ffc53c62 user can have manual subscription applied if their current subscription is canceled 2021-06-05 17:28:04 +02:00
Son NK 78df95395b improve upgrade_channel 2021-06-05 17:20:42 +02:00
Son NK 10414a6b96 flake8 2021-06-02 19:04:58 +02:00
Son NK 62683a221a black 2021-06-02 18:48:35 +02:00
Son Nguyen Kim b14d79c8f7
Merge pull request #496 from nbraud/pw_hash/refactor
Fix minor issues with password-handling, refactor
2021-06-02 18:33:56 +02:00
Son NK 3897f6b633 refactor handle_bounce() 2021-06-02 11:38:52 +02:00
Son NK 28285f28ac Add index for AliasHibp 2021-05-28 19:59:26 +02:00
devStorm e6192ece01
style 2021-05-26 22:34:50 -07: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
nicoo 52d4d2abdb app.models: minor refactor (extract pw auth) 2021-05-26 18:18:47 +02:00
Son NK b23e3d94fd make sure AliasHibp has cascade ondelete 2021-05-25 18:14:44 +02:00
Son NK d4e930c930 Remove nullsfirst as not compatible with sqlite. Add more logging 2021-05-19 12:46:55 +02:00
Son Nguyen Kim b3f8fd6789
Merge pull request #472 from TheLastProject/feature/hibp
Add HIBP checks
2021-05-19 12:37:04 +02:00
Sylvia van Os a08b0c05cc Don't override id 2021-05-17 21:29:29 +02:00
Sylvia van Os 969616d671 Date compare in DB instead of model function 2021-05-17 18:20:35 +02:00
Sylvia van Os bee468e055 Black 2021-05-15 18:04:50 +02:00
devStorm 4a0fc8380f
variable naming 2021-05-14 11:03:16 -07:00
Sylvia van Os f67f5297f2 Add HIBP checks 2021-05-14 19:50:32 +02:00
Son NK ef2eb7f959 add Paddle subscription_id in admin 2021-05-14 16:10:34 +02:00
devStorm 30183ac8c3
🐛 fix style 2021-05-13 19:34:54 -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 edaf293398 Create admin pages for Referral and Payout 2021-05-10 15:51:39 +02:00
Son NK 229d2c644b Add Payout model 2021-05-10 13:03:19 +02:00
Son NK e74dbd7e98 increase monthly plan to $4 2021-04-23 12:08:27 +02:00
Son NK 9bfd9ebf07 fix 2021-04-09 12:46:51 +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 f8540808bc remove Client.published 2021-04-06 19:46:21 +02:00
Son NK efae1710c8 extract the app/website to a separate page 2021-04-01 14:09:16 +02:00
Son NK 3c4a1413e0 Remove ClientUser.nonce 2021-04-01 12:49:32 +02:00
Son NK da17f51778 add AuthorizationCode.nonce 2021-04-01 12:35:21 +02:00
Son NK 36e7cf3fdc add ClientUser.nonce 2021-04-01 12:31:37 +02:00
Son NK bbfb69d774 Add Client approved, description columns 2021-04-01 10:50:11 +02:00
Son NK 9d5c2e3f80 display when subscription ends in admin 2021-03-26 12:14:48 +01:00
Son NK 1600e273dd remove Metric2.name column 2021-03-23 10:30:57 +01:00
Son NK ec1633d0d7 create Metric2 model 2021-03-23 10:23:40 +01:00
Son NK f0fb5108f9 show a different message for custom domain alias when deleting 2021-03-18 14:45:18 +01:00
Son 863d8dcbe7 black 2021-03-06 18:10:41 +01:00
Son 29afc1b6b5 Add Alias.transfer_token col 2021-03-06 18:08:42 +01:00
Son NK 9492aaccf5 Add EmailLog.auto_replied col 2021-03-06 17:44:46 +01:00
Son NK 3aeaf6fe29 make include_sender_in_reverse_alias non nullable 2021-02-24 15:44:50 +01:00
Son NK e19fff3a9a Add Alias.original_owner_id column 2021-02-17 12:49:47 +01:00
Son NK 0354943ff4 Add User.sender_format_updated_at column 2021-01-26 20:13:51 +01:00
Son NK 6547d9420f Use "John Wick - john at wick.com" as default sender format 2021-01-26 19:54:59 +01:00
Son NK 4cd49b66c2 use VERP for transactional email: remove SENDER, SENDER_DIR 2021-01-26 09:59:22 +01:00
Son NK 1013e8dd79 Create Bounce, TransactionalEmail models 2021-01-26 09:59:22 +01:00
Son NK 980942a1f9 create Metric model 2021-01-25 18:47:02 +01:00
Son NK 4bfe6d1ac9 handle name can be None in get_name_initial() 2021-01-15 11:21:45 +01:00
Son NK e9adb3270d use sanitize_email instead of .lower().strip().replace(" ", "") 2021-01-11 12:29:40 +01:00
Son NK cce08adb87 set "" as default name when creating new user 2021-01-11 10:25:37 +01:00
Son NK 435ced66bc make User.name nullable 2021-01-11 10:24:00 +01:00
Son NK ef7fae32b1 remove the "Hi {name}" from email template 2021-01-11 10:23:34 +01:00
Son NK 4293bba5ab add edu upgrade to User admin page 2021-01-08 18:53:01 +01:00
Son NK 8dbaf3cf56 Add EmailLog.spam_report column 2021-01-04 14:38: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 66e7aa7242 refactor 2020-12-31 12:50:04 +01:00
Son NK 0df4d1a93d add more logging 2020-12-29 12:17:24 +01:00
Son NK 9f9d292754 remove can_use_coinbase column 2020-12-19 16:31:16 +01:00
Son NK 3a8cdce650 Create should_disable 2020-12-16 18:50:09 +01:00
Son NK 1961d2f18e Add User.can_use_coinbase column 2020-12-13 19:28:13 +01:00
Son NK 02c74e6a5a take into account Coinbase in can_upgrade(), is_paid(), _lifetime_or_active_subscription() 2020-12-13 19:08:06 +01:00
Son NK 9329cf04ad Create CoinbaseSubscription model 2020-12-13 19:05:43 +01:00
Son NK 05d4ec1c2f Add directory.disabled column 2020-12-07 10:48:43 +01:00
Son NK eab09d8c32 Add User.include_sender_in_reverse_alias column. Null for existing user, False for new user. 2020-12-06 19:36:39 +01:00
Son NK 255a7e085a add index on user_id, mailbox_id, ... if possible 2020-12-02 17:33:03 +01:00
Son NK 5b9eb8686a add id to mailbox repr 2020-11-26 10:08:09 +01:00
Son NK 4381314f6f preload email_log.mailbox 2020-11-24 21:51:25 +01:00
Son NK 297857a140 Remove _MAILBOX_ID_HEADER 2020-11-24 16:50:55 +01:00
Son NK 6b07be5677 add email_log.mailbox_id column 2020-11-24 16:35:16 +01:00
Son NK c707342695 Use pgp_enabled() instead of pgp_finger_print 2020-11-24 11:22:41 +01:00
Son NK 5997e5b5b5 add Mailbox.disable_pgp column 2020-11-24 11:22:41 +01:00
Son NK 33e6342a9c use warning log when user uses premium domain 2020-11-23 10:43:50 +01:00
Son NK 75ba1669e0 Create generate_reply_email() and refactor 2020-11-16 19:15:09 +01:00
Son NK c794e73abd Add EnumE.has_name(), EnumE.get_value() 2020-11-15 19:43:01 +01:00
Son NK d8c9078708 Add EnumE.get_name() 2020-11-15 19:34:00 +01:00
Son NK abf50e302b Add Alias.pinned column 2020-11-15 18:38:07 +01:00
Son NK f62c568dd0 Add Contact.invalid_email column 2020-11-14 15:54:06 +01:00
Son NK 44c3ac1741 Replace 2.99 by 3, 29.99 by 30 2020-11-09 17:56:26 +01:00
Son NK 7cc57106de Add Mailbox.generic_subject column 2020-11-07 12:48:44 +01:00
Son NK a989545505 make sure alias contact address is valid 2020-11-03 11:13:43 +01:00
Son NK e49169b887 Reset default random alias domain setting if user is not premium 2020-11-01 09:37:09 +01:00
Son NK 9210459a72 add pgpy
- add pgpy to poetry
- add test PGP keys to local_data
- add encrypt_file_with_pgpy()
- use randomly pgpy
2020-10-28 11:50:14 +01:00
Son NK 85a1d67c6f put browser extension onboarding email to the welcome email 2020-10-22 11:46:15 +02:00
Son NK 677f150fef add unsubscribe header to com emails 2020-10-22 10:44:05 +02:00
Son NK ea45ac119e Refactor: create Alias.unsubscribe_link 2020-10-22 10:37:02 +02:00
Son NK 050c2feaeb Add LifetimeCoupon.paid column 2020-10-21 19:31:07 +02:00
Son NK 828799010b Add CustomDomain.nb_failed_checks column 2020-10-20 16:50:01 +02:00
Son NK 8482a55df6 display whether a domain is premium 2020-10-20 16:44:22 +02:00
Son NK a2a4e50f27 remove potential duplicate in available_alias_domains 2020-10-15 17:02:54 +02:00
Son NK 1524bb4e4b black 2020-10-15 16:52:55 +02:00
Son NK dbf0404aa9 rename public_domain -> sl_domain if applicable 2020-10-15 16:52:38 +02:00
Son NK 4a32db5b5d rename PublicDomain -> SLDomain 2020-10-15 16:51:07 +02:00
Son NK 0a4fc76b61 optimize import 2020-10-15 16:45:28 +02:00
Son NK adff510359 use PublicDomain instead if ALIAS_DOMAINS 2020-10-15 16:45:08 +02:00
Son NK 521d8e51a5 small fix 2020-10-15 16:25:56 +02:00
Son NK e79522b638 take into account Premium domains 2020-10-15 16:21:31 +02:00
Son NK dcbd7baabc Add PublicDomain.premium_only column 2020-10-15 16:08:06 +02:00
Son NK 8268568f08 add mailbox.disabled column. Disable a mailbox if it fails tests for 10 days consecutive. 2020-10-12 13:28:21 +02:00
Son Nguyen Kim 4e45a619cd
Merge pull request #302 from TheLastProject/feature/custom_domain_random_suffix
Support random suffix for personal domains
2020-10-11 18:06:06 +02:00
Sylvia van Os 9702037573 Reformat with Black 2020-10-09 23:00:10 +02:00
Sylvia van Os 26d0437009 Make prefix generation configurable per domain 2020-10-09 22:54:13 +02:00
Son NK 8dbd3c1c68 more detailed error message when an alias can't be created 2020-10-09 11:48:52 +02:00
Son Nguyen Kim a4bcf59bfe
Merge pull request #297 from TheLastProject/feature/dedupe_email
Dedupe email address
2020-10-04 15:08:15 +02:00
Son NK 6c37a91c6d add User.disabled field 2020-10-04 12:49:43 +02:00
Son NK e225bffc30 add backref for some models 2020-10-04 12:49:43 +02:00
Sylvia van Os 7be674c13b Reformat with Black 2020-10-01 21:51:50 +02:00
Sylvia van Os d8ed1cbbc3 Dedupe email address 2020-10-01 21:35:11 +02:00
Son NK 0830bba218 Add AuthorizedAddress model 2020-09-28 17:40:54 +02:00
Son NK d6d686c4c3 add argument commit= to create() 2020-09-28 17:40:30 +02:00
Son NK 53f66d0f3c handle the "past due" subscription case: downgrade a subscription if it's renewed 2020-09-24 09:34:35 +02:00
Son NK 491f4de120 add Contact mail_from and from_header column 2020-09-14 17:55:55 +02:00
Son NK 2cfaa93a5f create a first alias to receive SimpleLogin newsletter when user is created 2020-09-12 14:31:31 +02:00
Son NK 8fe508c5d3 Add User.newsletter_alias_id column 2020-09-12 14:30:49 +02:00
Son NK 6da48298a6 Add BatchImport model 2020-09-10 20:05:25 +02:00
Son NK a660a05f83 use warning for problem with random alias default domain 2020-09-10 09:32:51 +02:00
Son NK 2d395f99bb make sure to remove whitespace in alias 2020-09-02 09:56:16 +02:00
Son NK 63e228d9f4 only alert on invalid mailbox that has too many email logs 2020-08-30 19:59:39 +02:00
Son NK fdedc24358 black new version 2020-08-27 10:20:48 +02:00
Son NK 9c72f4dec0 Add Alias.disable_email_spoofing_check column 2020-08-26 14:39:03 +02:00
Son NK f213469e9f display nb-reply, nb-forward on alias contact page 2020-08-26 11:45:07 +02:00
Son Nguyen Kim 637bc569eb
Merge pull request #260 from FabioWidmer/improvements-1
Improvements for Self Hosting & More
2020-08-24 20:16:59 +02:00
Son NK 0c6a5f4333 add EmailLog.spam_score column 2020-08-16 11:59:53 +02:00
Son NK c0f263ee70 add Monitoring model 2020-08-15 13:15:20 +02:00
Son NK 89830e2173 fix import 2020-08-14 12:06:26 +02:00
Son NK 6bc0c5ada4 fix Mailbox.delete: use alias_utils.delete_alias 2020-08-14 12:03:41 +02:00
Son NK b4eb110971 fix Directory.create: use alias_utils.delete_alias 2020-08-14 12:02:54 +02:00
Son NK 2cae0200a8 use delete_alias(alias,user) instead of Alias.delete, DomainDeletedAlias.create, DeletedAlias.create 2020-08-14 12:02:33 +02:00
Son NK b7cbaa6e84 delete the expired ChangeEmail object 2020-08-13 10:59:39 +02:00
Fabio Widmer 8e71e8e7f4
A few (self hosting) improvements 2020-08-12 16:12:41 +02:00
Son NK 8a11e42da9 notify admin when user cancels 2020-08-07 10:01:11 +02:00
Son NK f2fb599664 Optimize Alias.get_contacts() to retrieve the latest reply for each contact in a single query 2020-08-04 11:37:59 +02:00
Son NK e8fc9752b5 Add DomailMailbox model 2020-08-01 12:20:59 +02:00
Son NK 8e9968a7d9 Add User.max_spam_score column 2020-07-23 11:09:28 +02:00
Son NK 6437ee46e0 use LOG.exception instead of LOG.error to provide stacktrace 2020-07-17 12:59:07 +02:00
Son NK 4b479ea003 take into account user.default_random_alias_public_domain_id in create_new_random() 2020-07-04 23:27:02 +02:00
Son NK 4542a8353e add User.available_domains_for_random_alias(), default_random_alias_domain() 2020-07-04 23:24:32 +02:00
Son NK 955231199e Add User.default_random_alias_public_domain_id 2020-07-04 23:23:39 +02:00
Son NK ee9b796b7d Add PublicDomain model 2020-07-04 23:18:11 +02:00
Son NK 4cd0227477 refactoring: move model methods below fields 2020-07-04 22:46:09 +02:00
Son NK 96ac15a3e0 add user.is_paid() and referral.nb_paid_user() 2020-07-02 08:48:37 +02:00
Son NK b23259cacd add Mailbox.nb_failed_checks 2020-06-28 11:17:36 +02:00
Son NK ec0f5ccd3a only return verified mailbox in alias.mailboxes 2020-06-28 11:15:29 +02:00
Son NK b2f82ba4a8 use custom domain to generate a random alias if user enables this option 2020-06-25 13:05:25 +02:00
Son NK abe9768db4 user can update the random alias domain 2020-06-25 13:04:27 +02:00
Son NK 040c6d1f9e add User.default_random_alias_domain_id 2020-06-25 13:02:43 +02:00
Son NK cadbe7d32b order alias.mailboxes 2020-06-10 22:32:00 +02:00
Son NK 1101ba5afa add Mailbox.nb_email_log and aliases 2020-06-09 17:02:45 +02:00
Son NK 6cccb450b0 fix contact order on alias contact manager page 2020-06-07 13:41:59 +02:00
Son NK c593253c7d Add pgp_public_key,pgp_finger_print columns to Contact model 2020-06-07 13:40:24 +02:00
Son NK 8161d89c39 Create DirectoryMailbox model 2020-06-05 22:08:08 +02:00
Son NK acac06188c fix mailbox.nb_alias(): take into account multiple mailboxes per alias case 2020-06-03 09:06:38 +02:00
Son NK 683b3e54d8 remove User.can_use_fido column: anyone can setup FIDO 2020-05-28 20:38:29 +02:00
Son NK 2fb4b38e28 add alias.cannot_be_disabled 2020-05-27 14:11:32 +02:00
Son NK 2f0a5aa429 add user.paid_lifetime column 2020-05-27 00:18:45 +02:00
Son NK ba5d71dd75 Use FIRST_ALIAS_DOMAIN instead of EMAIL_DOMAIN when creating random alias 2020-05-26 09:07:36 +02:00
Sibren Vasse 097ac771b0 Prevent OTP replay attacks by invalidating last token 2020-05-24 19:23:16 +02:00
Sibren Vasse 35bb1645a3 Allow user to disable mfa for browser for 30 days 2020-05-24 19:23:16 +02:00
Son Nguyen Kim eb60028b1f
Merge pull request #199 from developStorm/webauthn-multiple-keys
Support Multiple Keys for WebAuthn
2020-05-24 18:56:42 +02:00
Son NK c47fb44c1e Pagination for contact page 2020-05-23 22:34:46 +02:00
Son NK a2e7de0bab Add Notification model 2020-05-23 19:54:06 +02:00
Son NK 605e8d1f23 Fix DomainDeletedAlias check in Alias.create 2020-05-23 19:48:45 +02:00
Son NK c73820920b check DomainDeletedAlias when creating new alias 2020-05-23 19:35:18 +02:00
Son NK 95ae2ec254 Add migrate_domain_trash() to move deleted alias to the correct trash 2020-05-23 12:17:50 +02:00
Son NK bad3c39921 Add DomainDeletedAlias to store all deleted aliases for a domain 2020-05-23 11:44:15 +02:00
Son NK 93d972df09 make sure to use lowercase for alias email 2020-05-20 18:12:14 +02:00
Son NK 2217805d8c no need to move alias to global trash when a domain is deleted 2020-05-20 10:16:55 +02:00