Son NK
5e6454e6de
use a different class for alias toggle
2020-05-16 20:51:07 +02:00
Son NK
62ed7def00
fix wording
2020-05-16 20:50:27 +02:00
Sibren Vasse
a5f24e0227
Add more From: sender formatting options
2020-05-16 18:44:31 +02:00
Son NK
a4d17e7afc
use multiple-select instead of bootstrap-select
2020-05-16 12:17:26 +02:00
Son NK
362d101bab
Merge branch 'master' into multiple-mailboxes
...
# Conflicts:
# app/dashboard/templates/dashboard/custom_alias.html
# email_handler.py
# templates/emails/com/newsletter/mobile-darkmode.html
2020-05-16 11:28:25 +02:00
Son Nguyen Kim
d97b52184e
Merge pull request #186 from SibrenVasse/dark_flash
...
Frontend improvements
2020-05-15 23:37:30 +02:00
Son NK
7ed77a66b2
format
2020-05-15 23:18:42 +02:00
Son NK
2978bfb281
Fix user cannot change personal email back and better naming.
...
Happens when user
- changes their personal email
- wants to change back: they can't as this email is already used as mailbox
2020-05-15 23:18:30 +02:00
Son NK
0b652cf3f8
remove AliasMailbox.user_id column
2020-05-15 16:35:57 +02:00
Sibren Vasse
012bc52694
Fix formatting
2020-05-15 13:42:48 +02:00
Sibren Vasse
e44d92705c
Add missing last_page check (index) Move disabled class to correct element (alias_log)
2020-05-15 13:42:48 +02:00
Sibren Vasse
cb269a1bbe
Change pagination style
2020-05-15 13:42:48 +02:00
Sibren Vasse
c7530947d3
On domain check fail, update database
2020-05-14 15:05:04 +02:00
Son NK
591fee301e
prettify dns page
2020-05-11 23:23:08 +02:00
Son NK
70e842789e
make pages compatible with dark-theme
2020-05-11 23:22:15 +02:00
Son NK
cbfeee4e28
display list of mailboxes in alias contact manager
2020-05-10 20:09:54 +02:00
Son NK
8f35290a21
fix overflow error when there are several mailboxes
2020-05-10 20:09:54 +02:00
Son NK
bc55b98e12
display mailbox that a bounce affects
2020-05-10 20:09:54 +02:00
Son NK
e704497b0f
make sure prefix is not empty before submitting
2020-05-10 20:09:54 +02:00
Son NK
e52f2ca6de
Support multiple mailboxes in custom alias page
2020-05-10 20:09:54 +02:00
Son NK
b375f87d2c
User can update multiple mailboxes
2020-05-10 20:09:54 +02:00
doanguyen
7ef78c991f
Dark mode implementation
...
* Using CSS variable as a solution
* The new darkmode css is now live in another file so that upgarding
dashboard.css doesn't affect the darkmode itself
* Used a naive darkmode controller by client javascript. No persistance
state is stored in the backend at the moment
2020-05-10 16:52:14 +02:00
Son NK
8244fa01e7
only show advanced options when spf_available
2020-05-10 09:21:55 +02:00
Son NK
0bfd6b3ec7
remove deleted_alias page
2020-05-10 09:20:08 +02:00
Son NK
178515dbde
alert user when spf fails
2020-05-09 23:00:30 +02:00
Son NK
4e4eda4efa
display enforce-SPF option. Change wording.
2020-05-09 22:29:32 +02:00
Son NK
b95b758692
Optimize imports
2020-05-09 20:49:38 +02:00
Son Nguyen Kim
b95d815e5c
Merge pull request #168 from simple-login/global-trash
...
Global trash
2020-05-09 18:08:51 +02:00
Son Nguyen Kim
5fa2a86f23
Merge pull request #170 from developStorm/webauthn-patch
...
🐛 WebAuthn bug fixes
2020-05-09 18:05:34 +02:00
Son NK
295c2fd03f
Hide the SPF toggle
2020-05-09 17:34:59 +02:00
Son NK
2d8f056e11
Fix wording
2020-05-09 17:26:26 +02:00
Son Nguyen Kim
e23887bb37
Merge pull request #164 from SibrenVasse/spf
...
Enforce SPF
2020-05-09 14:37:09 +02:00
Sibren Vasse
001079bdc5
Enforce SPF
2020-05-09 14:15:08 +02:00
devStorm
d236f906ad
🐛 WebAuthn bug fixes
...
- User may not have name
- user_verification should be discouraged to work on iOS
2020-05-08 14:21:38 -07:00
Son NK
75a28c53cf
fix grammar mistake
2020-05-08 13:40:21 +02:00
Son NK
ad194c46f2
remove lifetime licence in pricing page
2020-05-08 12:38:42 +02:00
Son NK
2f5a03dcad
make sure to add alias into global trash when deleting it
2020-05-07 22:27:27 +02:00
Son NK
c85ea1538e
Allow the same mailbox used by different user
2020-05-07 21:47:11 +02:00
Son NK
806f7016ae
fix: wrongly set alias custom_domain when custom_domain is in EMAIL_ALIAS
2020-05-07 20:48:11 +02:00
Son NK
4709237b92
only user with can_use_fido can use fido
2020-05-07 17:58:24 +02:00
Son NK
84c529c867
optimize import
2020-05-07 17:49:29 +02:00
Son Nguyen Kim
e35fb631cf
Merge pull request #159 from developStorm/master
...
Implement WebAuthn
2020-05-07 17:47:06 +02:00
devStorm
e4895b52a0
fix SITE_URL
2020-05-07 05:34:17 -07:00
devStorm
f7e3320242
model - fido_enabled
2020-05-07 05:32:52 -07:00
devStorm
9b8340f3e0
Black formatted
2020-05-07 02:53:28 -07:00
devStorm
0052dad13e
Do not show full error msg to user
2020-05-07 02:48:56 -07:00
devStorm
282cbe25a3
Calculate RP_ID in config
2020-05-07 02:39:30 -07:00
devStorm
c38b3c768c
fix SimpleLogin brand name
2020-05-07 02:34:19 -07:00
devStorm
3ab3f819b7
Make RP_ID a constant
2020-05-07 02:33:24 -07:00
devStorm
b8b1313db9
typo 'infomation'
2020-05-07 02:31:42 -07:00
Son NK
35b1972730
increase the expired alias creation session to 600 secs
2020-05-06 10:10:47 +02:00
Son NK
d9e9a54082
add more info in "alias expire" error
2020-05-06 10:09:17 +02:00
Son NK
e9d03d1d4b
Handle the case where a deleted mailbox verification link is clicked
2020-05-06 10:06:05 +02:00
devStorm
370b71ebd3
Setting page options
2020-05-05 05:28:27 -07:00
devStorm
650d6e35f0
FIDO login middleware
2020-05-05 05:03:29 -07:00
Son NK
103418dff7
Strip off http:// or https:// prefix in domain
2020-05-05 12:46:32 +02:00
Son NK
3eb904c882
set max length for domain
2020-05-05 12:46:11 +02:00
devStorm
286b1143ca
Store sign count
2020-05-05 03:16:52 -07:00
devStorm
705941b8b8
Unlink security key
2020-05-05 02:20:52 -07:00
devStorm
a32b69078f
Key registration (Backend)
2020-05-05 01:58:42 -07:00
devStorm
3ce4dfb371
Security key setup page (front-end)
2020-05-05 01:32:49 -07:00
Sibren Vasse
0e4799030d
Add default alias name to custom domain
2020-05-03 19:35:02 +02:00
Son NK
4ca6b02047
fix DKIM cname check
2020-05-03 12:48:42 +02:00
Son NK
753e82d490
Add DMARC
2020-05-03 12:01:31 +02:00
Son NK
6a42673229
remove the copy button, use CNAME for DKIM
2020-05-03 11:19:14 +02:00
Son NK
625def2367
use 2-column layout for api key, domain, directory, mailbox
2020-05-03 10:48:21 +02:00
Son NK
8a147e36a7
create how-to-use section for api key, domain, directory, mailbox
2020-05-03 10:47:29 +02:00
Son NK
fe73005d49
fix referral display on mobile
2020-05-03 10:46:35 +02:00
Son NK
eff0eb9e32
can delete referral
2020-05-02 18:14:09 +02:00
Son NK
1667356742
User can update/create referral name
2020-05-02 18:11:10 +02:00
Son NK
9874422700
refactor custom_alias: create available_suffixes()
2020-05-02 12:34:11 +02:00
Son NK
8467d2b934
fix <select>: add "form-control" class on all <select>
2020-05-02 12:28:20 +02:00
Son NK
0edcc25289
refactor verify_prefix_suffix: remove user_custom_domains param
2020-05-02 12:27:54 +02:00
Son NK
db92003e5f
Anti tamper: avoid submitting any suffix
2020-05-02 12:15:03 +02:00
Son NK
9a4df685da
remove referral section from Settings
2020-05-01 18:32:35 +02:00
Son NK
ef58b935d4
remove unused code
2020-04-30 22:39:31 +02:00
Son NK
7277c30735
use bootbox instead of notie
2020-04-30 22:37:39 +02:00
Son NK
b750c6e011
prettify some pages
2020-04-28 20:25:40 +02:00
Son NK
0bb311464c
remove custom-select as it's not displayed properly
2020-04-28 20:23:24 +02:00
Son NK
cc6293d698
Order mailbox by created order
2020-04-28 20:22:37 +02:00
Son NK
d46e8e52a4
Order directory by created order
2020-04-28 20:09:57 +02:00
Son NK
d453c83974
order api key by created order
2020-04-28 20:08:45 +02:00
Son NK
e1d8c55a66
add mention of MyDigiPassword to the 2FA app list
2020-04-28 19:52:18 +02:00
Son NK
fd90811e85
Prettify alias contact manager
2020-04-27 19:58:55 +02:00
Son NK
01cc07b9fe
change the general stats: display #alias, forward, reply, block
2020-04-27 09:30:08 +02:00
Son NK
23c17b8cff
Fix filker reset when going to next page
2020-04-27 09:29:27 +02:00
Son NK
131a0473fd
Move alias activity details into collapsed section
2020-04-26 18:53:00 +02:00
Son NK
76b4611bc2
Show global stats
2020-04-26 18:49:23 +02:00
Son NK
c350bca488
collapsible filters
2020-04-26 18:24:43 +02:00
Son NK
18d1b59845
add vuejs to package.json
2020-04-26 17:51:47 +02:00
Son NK
7b2e4da87f
Support alias filter
2020-04-26 13:04:27 +02:00
Son NK
12714ae601
Add Only enabled alias sorting option
2020-04-26 12:31:10 +02:00
Son NK
4c64393df1
Add other sorting options: A-Z, Z-A, new-old, old-new
2020-04-26 12:25:12 +02:00
Son NK
7021fd650b
User can update alias name
2020-04-26 10:41:08 +02:00
Son NK
04713eff3d
show alias creation date in "more" section if not shown yet
2020-04-26 10:02:10 +02:00
Son NK
ee7e783f2a
keep sort param when redirecting back to index
2020-04-25 15:31:20 +02:00
Son NK
a2666cc4fe
remove "set-mailbox" form post
2020-04-25 15:30:19 +02:00
Son NK
1a081f87c4
Remove "set-note" post form
2020-04-25 15:28:25 +02:00
Son NK
fb9dc23529
remove form POST switch-email-forwarding
2020-04-25 15:26:07 +02:00
Son NK
bbcd4fc355
remove "trigger-email"
2020-04-25 15:21:35 +02:00
Son NK
af431c3d8b
Handle alias can be None when deleting
2020-04-25 15:16:46 +02:00
Son NK
97544ac760
Update mailbox using ajax
...
refactor: return Mailbox in User.mailboxes()
2020-04-25 13:49:40 +02:00
Son NK
203eba9917
use Ajax for save note
2020-04-25 13:49:39 +02:00
Son NK
36aee86590
support sorting: Oldest Alias to Newest,
2020-04-25 13:49:39 +02:00
Son NK
ca6350cc27
optimize import in all files
2020-04-25 13:49:39 +02:00
Son NK
95b71435f9
refactoring: use get_alias_infos_with_pagination_v2
2020-04-25 13:49:39 +02:00
Son NK
72f3e47c3c
remove show_intro_test_send_email, highlight from AliasInfo
2020-04-25 13:49:39 +02:00
Son NK
5839c637f6
use pagination for alias
2020-04-25 13:49:39 +02:00
Son NK
4727249958
do not use alias_info.highlight
2020-04-25 13:49:39 +02:00
Son NK
6c1b39bc04
remove AliasInfo.latest_activity
2020-04-25 13:49:39 +02:00
Son NK
0c73a36773
disable/enable the send-email button when alias is enabled/disabled
2020-04-25 13:43:32 +02:00
Son NK
187d8c0ef2
put alias button to left, search to right
2020-04-25 13:43:14 +02:00
Son NK
f34b9f6ca6
Prettify alias page: use collapsible layout
2020-04-25 13:42:53 +02:00
Son NK
c61213fae9
use ajax to switch on/off alias
2020-04-25 13:42:53 +02:00
Son NK
7d35baddd4
do not ask for confirmation when enable/disable alias
2020-04-24 09:47:25 +02:00
Son NK
ba105f076e
Fix "new" badge appear on alias modification
2020-04-24 09:45:49 +02:00
Son NK
f7f1e7f358
replace user.next_bill_date() by sub.next_bill_date.strftime("%Y-%m-%d")
2020-04-19 10:54:05 +02:00
Son NK
746cd2eb66
Use FIRST_ALIAS_DOMAIN in directory and custom alias
2020-04-15 22:52:30 +02:00
Son NK
c17ecba202
add more logging
2020-04-15 21:34:22 +02:00
Son NK
5f784d683a
Prettify
2020-04-15 09:16:42 +02:00
Son NK
b838157ad5
User who has lifetime licence or giveaway manual subscriptions can decide to upgrade to a paid plan
2020-04-13 20:50:48 +02:00
Son NK
3d10fab3a6
Make sure to show intro to user only once
2020-04-13 13:23:17 +02:00
Son NK
6f59e7ea37
Update pricing page
2020-04-12 20:15:02 +02:00
Son NK
e44860329b
Make sure user cannot create more than 50 directories
2020-04-12 20:14:49 +02:00
Son NK
b041591133
Prettify Settings
2020-04-12 19:43:46 +02:00
Son NK
9b91f4a4a4
support changing plan
2020-04-12 19:43:07 +02:00
Son NK
70c294bee0
Remove lifetime licence mention for students/professors/...
2020-04-12 11:59:23 +02:00
Son NK
6e1ac4b0e8
Add copy to clipboard in DNS setting
2020-04-11 20:01:47 +02:00
Son NK
a0cdf3ae95
allow user having manual sub or canceled sub to upgrade to lifetime
2020-04-11 10:47:32 +02:00
Son NK
89c41f972c
Add id to settings section
2020-04-09 23:01:29 +02:00
Son NK
bb2476203f
User can create referrals
2020-04-09 22:39:39 +02:00
Son NK
7ed317e334
Show alias creation date when no activity
2020-04-05 20:05:49 +02:00
Son NK
cfdaf659f9
Make UI more consistent
2020-04-05 19:59:48 +02:00
Son NK
b19dfc6ef4
Use forward/reply/blocked icon on alias page
2020-04-05 19:42:30 +02:00
Son NK
e83f11342d
prettify alias activity page
2020-04-05 19:28:57 +02:00
Son NK
460c306712
Order alias by latest activity instead of alias creation date. Show the latest activity & contact
2020-04-05 19:03:17 +02:00
Son NK
bf0f8a913a
remove AliasInfo.id
2020-04-05 16:57:47 +02:00
Son NK
b0c3634e72
use dataclass for AliasInfo, remove note
2020-04-05 16:57:28 +02:00
Son NK
67d6ce1cea
rename
2020-04-05 16:33:43 +02:00
Son NK
425fdc66c6
Move methods to api/serializer.py
2020-04-05 16:32:38 +02:00
Son NK
f15488f96b
refactor: move get_alias_infos_with_pagination, get_alias_info to alias.py
2020-04-05 16:21:13 +02:00
Son NK
2619333cc6
remove uses of website_from
2020-04-05 15:39:48 +02:00
Son NK
fbcac59c7f
Set contact name when adding contact via contact manager
2020-04-05 12:29:00 +02:00
Son NK
9c22bf479a
rename
2020-04-05 12:19:37 +02:00
Son NK
6258ef0c11
Only display website_email instead of website_from in contact manager, alias log and refused emails
2020-04-05 12:02:08 +02:00
Son NK
f7e5ab1e34
reaname
2020-04-04 19:21:31 +02:00
Son NK
4d8040c80d
Add reverse_alias to GET /api/aliases/:alias_id/activities
2020-04-04 19:18:07 +02:00
Son NK
1c5d6e3299
rename
2020-04-04 19:11:10 +02:00
Son NK
0c2bce6931
Add PGP Encryption to pricing page
2020-04-03 23:39:27 +02:00
Son NK
5ff8ae00e5
only lower the email part when creating new contact
2020-04-02 21:30:36 +02:00
Son NK
7f85ec30bd
Improve contact manager: lowercase the contact address before adding
2020-04-01 20:31:47 +02:00
Son NK
ca5e3ac477
Refactoring: better naming
2020-03-30 21:46:52 +02:00
Son NK
7c0e4b369a
fix contact not highlighted after creation
2020-03-30 21:41:18 +02:00
Son NK
33fd40f6ce
User can choose which sender format they prefer
2020-03-28 22:36:19 +01:00
Son NK
bf98fa00b7
Fix alias display
2020-03-22 23:30:55 +01:00
Son NK
5d0b4d4aca
Fix: filter email log by current user
2020-03-20 11:39:45 +01:00
Son NK
6e54b4fed8
make sure to set user_id when creating contact
2020-03-20 09:54:38 +01:00
Son NK
abd2278c24
make sure to set File.user_id
2020-03-20 09:52:00 +01:00
Son NK
a529943dc4
Only premium user can add PGP key
2020-03-19 19:15:42 +01:00
Son Nguyen Kim
44e2e175ef
Merge pull request #115 from simple-login/rename
...
Rename
2020-03-19 10:39:05 +01:00
Son NK
aaf254a26d
order alias by creation date
2020-03-17 21:47:11 +01:00
Son NK
a521002b2c
Fix duplicate results
2020-03-17 20:16:20 +01:00
Son NK
a465b1d3ca
rename get_alias_info -> get_alias_infos
2020-03-17 19:59:48 +01:00
Son NK
ac27ea5847
Improve UI
2020-03-17 12:06:26 +01:00
Son NK
2d90d35647
rename gen_email_id -> alias_id
2020-03-17 12:01:18 +01:00
Son NK
4f281bdbbb
rename GenEmail -> Alias, gen_email to alias whenever possible
2020-03-17 11:51:40 +01:00
Son NK
bea870ef8b
rename ForwardEmailLog to EmailLog
2020-03-17 11:10:50 +01:00
Son NK
f2d630e597
rename forward_id to contact_id
2020-03-17 11:05:53 +01:00
Son NK
17974de746
rename ForwardEmail to Contact
2020-03-17 10:56:59 +01:00
Son Nguyen Kim
269bca8ff3
Merge pull request #114 from simple-login/pgp-for-everyone
...
Open PGP to everyone
2020-03-17 09:53:42 +01:00
Son NK
cc6e8a00a5
Wording: rename refused email to Quarantine
2020-03-17 09:43:12 +01:00
Son NK
ea43b8f685
Open PGP to everyone
2020-03-17 09:22:29 +01:00
Son NK
027cbb10d9
use parseaddr instead of get_email_part
2020-03-15 22:32:48 +01:00
Son NK
eb3063a57f
Improve wording
2020-03-15 18:06:57 +01:00
Son NK
45d560fd70
fix
2020-03-15 12:14:43 +01:00
Son NK
e21e27eefa
Hide download for deleted refused emails
2020-03-15 11:14:58 +01:00
Son NK
c3b85115ca
Add refused-email view
2020-03-14 16:19:56 +01:00
Son NK
28c6c68a80
Use a better mailbox validation page
2020-03-14 14:45:37 +01:00
Son NK
e713efee98
reformat
2020-03-13 10:34:41 +01:00
Son NK
417009b3be
return note in GET /api/aliases
2020-03-11 12:16:45 +01:00
Son NK
9d25d099e1
use mailbox_already_used instead of email_already_used
2020-03-09 14:01:27 +01:00
Son NK
fefc8cab71
Merge branch 'master' into staging
2020-03-09 13:55:10 +01:00
Son Nguyen Kim
e4f3cb8e86
Merge pull request #102 from simple-login/cancel-sub
...
Cancel sub
2020-03-09 13:38:33 +01:00
Son NK
3be593ed09
prettify mailbox detail page
2020-03-09 13:35:32 +01:00
Son NK
86c1c8e54f
fix button word-break: use flex
2020-03-09 10:42:58 +01:00
Son NK
3ef7285288
reduce logging level
2020-03-09 09:48:33 +01:00
Son NK
1c5c5896f8
Handle SMTPRecipientsRefused in send_email
2020-03-09 09:22:40 +01:00
Son NK
b05daecd28
Handle unsign can generate other exceptions
2020-03-09 09:17:40 +01:00
Son NK
aadda7cb0d
handle the case new_email can be None if user cancels change in the meantime
2020-03-09 09:14:21 +01:00
Son NK
743170e983
Add more guide on mailbox detail
2020-03-09 09:09:22 +01:00
Son NK
c1c3224a41
Merge branch 'cancel-sub' into staging
2020-03-08 23:13:23 +01:00
Son NK
911c38710e
Only user with can_use_pgp on can use GPG
2020-03-08 23:12:35 +01:00
Son NK
5d5131f32c
display 🗝 for PGP-enabled mailbox
2020-03-08 22:59:46 +01:00
Son NK
6200d4d1a0
redirect user to mailbox detail page when creating new mailbox
2020-03-08 22:59:19 +01:00
Son NK
486df7fefc
set mailbox.pgp_finger_print when adding PGP key
2020-03-08 12:51:53 +01:00
Son NK
24fd19d6d9
user can set/remove pgp key
2020-03-08 12:30:48 +01:00
Son NK
1acbf173ea
Handle subscription cancel directly
2020-03-08 10:28:13 +01:00
Son NK
fac833b8e6
support the case user wants to re-add their real email as mailbox
2020-03-08 10:05:13 +01:00
Son NK
a6f4059d5d
make sure to set mailbox_id when creating GenEmail
2020-03-05 17:03:07 +01:00
Son NK
ca70d26285
black format
2020-03-05 11:00:58 +01:00
Son NK
85321313c1
add a warning on payment page for canceled user
2020-03-05 10:22:53 +01:00
Son NK
3492935f95
Canceled user can upgrade again: the payment method is changed immediately though
2020-03-05 09:13:28 +01:00
Son NK
83d32244a5
remove Beta tag on mailboxes
2020-03-05 08:56:47 +01:00
Son NK
f8ad733b91
display next_bill_date on billing page for canceled subscription
2020-03-05 08:11:35 +01:00
Son NK
7e4eb9e0db
use MAILBOX_SECRET instead of FLASK_SECRET
2020-02-29 18:18:52 +07:00
Son NK
330bf91d95
remove unused code
2020-02-29 18:15:50 +07:00
Son NK
f395841770
only premium plan can add additional mailbox
2020-02-29 18:12:55 +07:00
Son NK
aeed62e95b
All users use full-mailbox
...
- remove can_use_multiple_mailbox col
- remove full_mailbox col
2020-02-29 00:03:35 +07:00
Son NK
66654a3635
prettify alias page
2020-02-28 22:39:15 +07:00
Son NK
f74beb2227
Improve deleted alias page
2020-02-23 17:36:45 +07:00
Son Nguyen Kim
321b81d794
Merge pull request #92 from simple-login/manual-sub
...
Manual sub
2020-02-23 17:07:53 +07:00
Son NK
77baf60ca4
Show user current plan in settings
2020-02-23 17:02:49 +07:00
Son NK
9958e1ab8e
only full mailbox user can set default mailbox
2020-02-23 16:17:09 +07:00
Son NK
f20930ac4e
Assign random alias to default mailbox if user is full mailbox
2020-02-23 15:51:40 +07:00
Son NK
1fcbe32990
Can set a mailbox as default
2020-02-23 15:51:26 +07:00
Son NK
7febe6e15b
cannot delete default mailbox
2020-02-23 15:41:53 +07:00
Son NK
0a5113962f
remove autofocus on directory & mailbox
2020-02-23 15:10:59 +07:00
Son NK
3c2762dfad
only show mailbox when mailbox email != user email
2020-02-23 14:40:37 +07:00
Son NK
362032b803
full_mailbox user can use mailbox
2020-02-23 14:09:57 +07:00
Son NK
731d898774
Handle mailbox change
2020-02-23 14:08:55 +07:00
Son NK
aa784a0593
use red text for delete button
2020-02-23 14:04:20 +07:00
Son NK
571ff03115
handle case where mailbox_email is the same as user email
2020-02-23 14:04:00 +07:00
Son NK
e4bb85ac87
Full-mailbox User can change alias mailbox
2020-02-23 13:58:09 +07:00
Son NK
a467830a23
Add custom-select class to select element
2020-02-23 13:53:02 +07:00
Son NK
bc0dc0265d
Show mailbox when creating alias for user who has full_mailbox enabled
2020-02-23 13:41:59 +07:00
Son NK
70802bff17
Create User.mailboxes()
2020-02-23 13:41:27 +07:00
Son Nguyen Kim
773e24dd9a
Merge pull request #90 from simple-login/handle-bounced
...
Handle bounced
2020-02-22 22:37:11 +07:00
Son NK
332b4559f3
Prettify unsubscribe page
2020-02-22 22:10:09 +07:00
Son NK
dddea7c54f
fix formatting
2020-02-22 21:10:31 +07:00
Son NK
f80de382fe
Prettify alias log
2020-02-22 21:09:07 +07:00
Son NK
74d1f87db0
disable bounced email in alias log
2020-02-22 13:27:22 +07:00
Son NK
a9a5f145aa
fix showing unverified mailbox when creating new alias
2020-02-21 21:59:13 +07:00
Son NK
8639265946
allow user to show/hide api-key
2020-02-19 23:45:08 +07:00
Son NK
c4765a28d6
pycharm format
2020-02-19 23:44:48 +07:00
Son NK
f1c7c83dc3
prettify help section in custom alias
2020-02-18 11:59:03 +07:00
Son NK
ab2aa2bfbb
strip contact email before adding
2020-02-18 11:54:51 +07:00
Son NK
b806d843e5
prettify custom alias page: show limits on the alias prefix
2020-02-18 11:54:35 +07:00
Son NK
8f8857704a
Add deleted alias page
2020-02-15 21:47:27 +07:00
Son NK
8bbecb2cd1
Delete wrongly-aligned notification on mobile. Improve wordings
2020-02-15 21:38:28 +07:00
Son NK
fd5e162d9b
format alias-log
2020-02-15 21:37:24 +07:00
Son NK
0ced6bbb4f
Prettify billing page
2020-02-15 21:22:46 +07:00
Son NK
83c2bb2b23
fix change email in settings
2020-02-14 09:34:19 +07:00
Son NK
641f8dfe9e
Improve settings design
2020-02-13 17:05:34 +07:00
Son NK
5c4f46fdc2
Separate email change in setting screen
2020-02-13 16:57:17 +07:00
Son NK
eec2020f0f
only user with can_use_multiple_mailbox enabled can use this feature
2020-02-11 22:43:32 +07:00
Son NK
890bf1b3ed
Add Mailbox to pricing, remove beta badge from directory
2020-02-10 23:52:41 +07:00
Son NK
144c7fcc6c
fix verification email should be sent to mailbox
2020-02-10 23:50:18 +07:00
Son NK
fc167b8b41
Display alias mailbox on alias page
2020-02-10 23:23:02 +07:00
Son NK
b76a71819a
User can choose mailbox when creating a new alias
2020-02-10 23:19:42 +07:00
Son NK
b5d961a498
Take into account mailbox in contact manager and improve wording.
2020-02-10 23:18:19 +07:00
Son NK
8a531f6c86
User can add/delete/verify mailbox
2020-02-10 23:17:05 +07:00
Son NK
821372fdfd
add email_already_used() and use it when creating user
2020-02-10 23:16:30 +07:00
Son NK
4cd8697abc
use case-insensitive query when searching for alias
2020-02-08 22:00:40 +07:00
Son NK
dd02a50bad
Improve wordings
...
- forgot password page
- login page
- activation email
- reset password email
2020-02-06 11:37:10 +07:00
Son NK
98487aba10
take into account "note" in search
2020-02-05 17:38:23 +07:00
Son NK
11b04d5e4a
user can update note in alias list page
2020-02-05 17:38:02 +07:00
Son NK
145bed893f
user can set note when creating custom alias
2020-02-05 17:36:06 +07:00
Son NK
6fe689dc17
use store instead of localStorage to detect whether the intro has been shown
2020-02-05 14:33:00 +07:00
Son NK
1e4bab765d
use PAGE_LIMIT in alias_log
2020-02-04 23:28:05 +07:00
Son NK
40cac56986
GET /api/aliases
2020-02-04 23:26:59 +07:00
Son NK
f3c61f9a61
use left-join when fetching alias
2020-02-04 23:00:55 +07:00
Son NK
cb2c6af4e4
npm qrious
2020-02-04 16:53:25 +07:00
Son NK
cbcf93a9d9
put more space for alias
2020-02-02 21:16:00 +07:00
Son NK
a30397a88f
Improve alias page UI
...
- use 1 column layout for alias page when screen is <lg
- reduce space between search bar and header
- move alias switch to the right
2020-02-02 20:50:56 +07:00
Son NK
c1a162e68b
fix formating
2020-02-02 20:28:22 +07:00
Son NK
cb24f5cac1
make user.name optional in settings
2020-02-02 20:27:18 +07:00
Son NK
2ca97368f8
Handle trial period
...
- user can upgrade to lifetime if in trial or free
- free or trial user can buy a subscription
- user has all features when in trial
2020-01-30 10:53:17 +07:00
Son NK
9f95edf203
Move billing button to setting page
2020-01-30 00:29:00 +07:00
Son Nguyen Kim
d1baca67ff
Merge pull request #61 from simple-login/custom-alias-oauth-authorize
...
Custom alias oauth authorize
2020-01-30 00:04:22 +07:00
Son Nguyen Kim
db5bd7d196
Merge pull request #59 from simple-login/fix-alias-log
...
Fix alias log
2020-01-29 23:59:26 +07:00
Son NK
cce330a442
check if alias is not deleted before in custom-alias page
2020-01-29 23:57:20 +07:00
Son NK
9e2adb42c6
Order alias log by recency
2020-01-29 10:42:46 +07:00
Son NK
fc22593bf6
avoid email loop
...
Prevent user from adding a domain that they are using for their personal email.
2020-01-28 15:16:26 +07:00
Son NK
bc6daab595
display domains that can be used on directory
2020-01-26 22:29:35 +07:00
Son NK
99ffd6149d
use can_be_used_as_personal_email when user registers or change emails
2020-01-26 19:51:43 +07:00
Son NK
8c14c25cec
order alias by most recent ones
2020-01-23 20:19:58 +01:00
Son NK
d6020d5fa0
pass highlight_gen_email_id via url query instead of session. Remove HIGHLIGHT_GEN_EMAIL_ID
2020-01-23 20:15:47 +01:00
Son NK
8c91d64c77
fix not setting custom_domain id when creating alias
2020-01-23 11:45:52 +01:00
Son NK
539bf56e97
improve custom alias check
2020-01-22 23:03:52 +01:00
Son NK
3f2f2cabf4
always use dropdown list for alias suffix
2020-01-22 22:51:52 +01:00
Son NK
b5357d0f4e
Handle the case where a previous deleted alias is re-created via catch-all or directory feature
2020-01-22 22:48:30 +01:00
Son NK
0c2b2ce60e
fix styling
2020-01-22 14:08:00 +01:00
Son NK
da8b110839
small fix
2020-01-22 14:05:42 +01:00
Son NK
8e7f5e56d6
add "your domain" to user's owned domain
2020-01-22 14:04:38 +01:00
Son NK
bdf75951f1
support ALIAS_DOMAINS
...
- use verify_prefix_suffix() in /api/alias/custom/new
-
2020-01-22 10:24:17 +01:00
Son NK
f7f8c6769d
Improve custom alias help text
2020-01-22 10:24:17 +01:00
Son NK
c969e6919a
Use the same design as on extension for custom alias: domains are presented in a dropdown list
2020-01-22 10:24:17 +01:00
Son Nguyen Kim
204ccd34c9
Merge pull request #37 from simple-login/disable-suffix-option
...
Disable suffix option
2020-01-20 13:35:22 +01:00
Son NK
cfd3f5db8f
Add more help message to api-key and custom-domain
2020-01-20 11:16:04 +01:00
Son NK
f56ba95b4d
disable alias suffix by setting DISABLE_ALIAS_SUFFIX
2020-01-20 09:23:17 +01:00
Son NK
6f925170c5
Give more info on the directory
2020-01-19 22:34:31 +01:00
Son NK
6f414ba405
Support + and # as directory separator
2020-01-19 22:06:36 +01:00
Son Nguyen Kim
70e16bb415
Merge pull request #31 from simple-login/canceled-premium
...
Canceled premium
2020-01-19 14:57:45 +01:00
Son NK
d2501e5961
make sure to "strip" custom domain before adding to DB
2020-01-19 14:09:13 +01:00
Son NK
13283b6327
Support cancelled premium users in custom domain & directory
...
- Freemium user can see custom domain and directory but could not add new.
- user who has added custom domain or directory before could delete them
2020-01-16 22:21:19 +01:00
Son NK
e2974cdd60
make card responsive in alias log
2020-01-12 22:23:18 +01:00
Son NK
110b296f73
use alias_id instead of alias in contact manager page
2020-01-12 22:23:05 +01:00
Son NK
f860471d50
fix slash in url: use alias_id instead of alias
2020-01-11 21:48:25 +01:00
Son NK
47bf6646fc
Load our paddle.js if their CDN doesn't work
2020-01-10 18:36:31 +01:00
Son Nguyen Kim
cdd69b381e
Merge pull request #27 from simple-login/staging
...
Fix postfix-python bouncing problem
2020-01-10 13:27:32 +01:00
doanguyen
ef2e390df3
Merge branch 'staging' of https://github.com/simple-login/app into staging
2020-01-10 11:28:08 +01:00
doanguyen
f8bd3800c3
better looking random button
2020-01-10 11:26:18 +01:00
Son NK
6778537083
only allow lowercase for alias
2020-01-09 20:43:03 +01:00
Son NK
a9e7b53161
make sure directory is lowercase only
2020-01-09 20:38:02 +01:00
Son NK
851ddce5a5
Merge remote-tracking branch 'origin/master' into directory
...
# Conflicts:
# email_handler.py
2020-01-09 10:37:33 +01:00
Son NK
ecce1eff99
remove support for directory+anything@EMAIL_DOMAIN
2020-01-08 22:09:46 +01:00
Son NK
cdae3c5309
add Directory page to add/delete directory
2020-01-08 21:38:01 +01:00
doanguyen
f0c66d279b
Merge branch 'master' into staging
2020-01-08 21:10:57 +01:00
doanguyen
fd31b77b06
Polish the interface
2020-01-08 19:49:26 +01:00
Son Nguyen Kim
634861e279
Merge pull request #22 from simple-login/alias-dashboard
...
Alias dashboard
2020-01-08 16:29:22 +01:00
Son NK
d9f2ec214f
add @ warning when setup DNS
2020-01-07 22:13:12 +01:00
Son NK
aa10cdb3ee
If domain is not verified, clicking on 🚫 brings user to DNS page
2020-01-07 21:53:00 +01:00
doanguyen
d804a28c07
fix the format, again
2020-01-07 00:02:12 +01:00
doanguyen
6a99fd30c4
fix some minor bugs
2020-01-06 23:58:24 +01:00
Son NK
ca37ce5e5a
add id to notification section in setting
2020-01-06 19:41:05 +01:00
doanguyen
5af974fc5d
alias log dashboard
2020-01-05 22:49:48 +01:00
Son NK
5053d343d1
Split lifetime licence to a separate page
2020-01-03 22:40:44 +01:00
Son NK
abb2584a38
Prettify pricing page
2020-01-03 11:51:44 +01:00
Son NK
df0e706bdd
Fix scrolling in dns page
2020-01-03 11:51:18 +01:00
Son NK
c9d58692bf
Prettify some pages
2020-01-02 22:39:53 +01:00
Son NK
f986371ff5
make sure to scroll to the same position in DNS page
2020-01-02 22:39:08 +01:00
Son NK
ab3fe8a626
Flash errors when MX, SPF or DKIM fail
2020-01-02 22:22:09 +01:00
Son NK
3edd5f0b82
Show something when there's no DNS record
2020-01-02 22:21:54 +01:00
Son NK
9704219576
Fix product tour wording
2020-01-02 22:12:03 +01:00
Son NK
2a05e320e1
remove beta on send email button
2020-01-02 22:05:34 +01:00
Son NK
553777bc05
Move intro button to footer
2020-01-02 12:14:49 +01:00
Son NK
21cdb973f0
Improve intro
2020-01-02 12:14:39 +01:00
Son NK
4c4c4a81b8
autofocus mfa token input
2020-01-01 23:52:25 +01:00
Son NK
ee3c75244e
Fix custom domain has been added before
2020-01-01 23:51:40 +01:00
Son NK
3c05230bd3
User can use lifetime coupon
2020-01-01 20:04:39 +01:00
Son NK
026fe4addd
get_subscription should only return *active* subscription.
2020-01-01 19:46:35 +01:00
Son Nguyen Kim
eceee66bfe
Merge pull request #14 from simple-login/alias-log
...
Alias log
2020-01-01 19:02:23 +01:00
doanguyen
e5b6cb8461
forget to remove the import
2019-12-31 20:22:46 +01:00
doanguyen
1162495b36
remove dataclasses completely, remove the slots magic
2019-12-31 20:20:17 +01:00
doanguyen
a20f790fda
add py36
2019-12-31 20:08:59 +01:00
Son NK
652e623111
make sure that user cannot use any suffix
2019-12-31 17:11:42 +01:00
doanguyen
d42eea39cc
consider to get rid of dataclass dependent
2019-12-31 11:22:18 +01:00
doanguyen
37ca4eaf20
working on paginate alias log page
2019-12-31 11:11:06 +01:00
Son Nguyen Kim
d63faa8ab3
Merge pull request #13 from simple-login/catch-all
...
Catch all
2019-12-30 22:18:54 +01:00
Son Nguyen Kim
43a96201ed
Merge pull request #12 from simple-login/email-notification
...
Email notification
2019-12-30 21:13:22 +01:00
Son NK
02880fbc47
fix redirection
2019-12-30 21:11:31 +01:00
doanguyen
ccaf304448
Remove unused file
2019-12-30 20:24:46 +01:00
Son NK
757fff71af
Fix MX and SPF check
...
- take into account priority in MX check
- use EMAIL_DOMAIN in SPF instead of MX server
2019-12-30 19:37:50 +01:00
Son NK
ef8f87798b
Fix MX DNS record
2019-12-30 18:58:44 +01:00
Son NK
c3620a1e45
Fix formatting
2019-12-30 18:53:49 +01:00
Son NK
8d85ab35f1
Move delete domain to domain info page
2019-12-30 18:51:55 +01:00
Son NK
96bb37f0f6
User can enable/disable catch-all on custom domain
2019-12-30 18:20:49 +01:00
Son NK
4b6717d8dd
Split domain detail into Info and DNS page
2019-12-30 17:52:08 +01:00
Son NK
632484ee5c
Update wording: remove "successfully"
2019-12-30 17:43:38 +01:00
Son NK
caa95df556
Prettify pricing page
2019-12-30 11:08:11 +01:00
doanguyen
9466fd556c
update migration file
2019-12-30 00:35:06 +01:00
doanguyen
84eb10232c
notification setting
2019-12-30 00:33:59 +01:00
Son NK
b51ed259b4
fix cancel MFA: the secret needs to be reset too
2019-12-29 15:32:27 +01:00
Son NK
76eec998ea
User who has enabled MFA can cancel MFA
2019-12-29 15:10:40 +01:00
Son NK
89664580b3
Move custom-domain to menu
2019-12-29 11:03:47 +01:00
Son NK
b391fa4c91
Move settings and api-key page to menu
2019-12-29 10:56:27 +01:00
doanguyen
6f256bcd3f
minor comments on domain-detail branch
2019-12-29 10:48:46 +01:00
doanguyen
45c49f1e1a
minor comments on domain-detail branch
2019-12-29 10:48:46 +01:00
Son NK
8dcb8dd249
move domain validation (mx, spf, mx) to domain detail page
2019-12-29 10:46:00 +01:00
Son NK
d0218c86de
display 🚫 for unverified domain
2019-12-29 10:46:00 +01:00
Son NK
ab3ce7bd4e
fix formatting
2019-12-29 10:33:45 +01:00
doanguyen
f3719aa0f0
black formatted
2019-12-28 14:20:10 +01:00
doanguyen
3811bb6880
reformat
2019-12-28 14:20:10 +01:00
doanguyen
4a3b958131
reformat modified files, resolve PR https://github.com/simple-login/app/pull/5
2019-12-28 14:20:10 +01:00
doanguyen
e2e9cc6b5d
Implement alias generator schemes
2019-12-28 14:20:10 +01:00
Son NK
fa66a71880
Display MFA setup to user who doesn't have MFA enabled
2019-12-27 16:53:07 +00:00
Son NK
e5b10b28a6
Create MFA Setup page if user enable MFA
2019-12-27 16:53:07 +00:00
Son NK
65d0848e2f
show alias in confirmation message
2019-12-26 17:37:51 +00:00
Son NK
e09dfaa481
Fix pricing page message
2019-12-25 21:35:35 +00:00
Son NK
bcbe239f60
User can generate quickly a random alias
2019-12-23 15:34:02 +00:00
Son NK
a8d112646e
Add hint for alias prefix on custom alias page
2019-12-23 15:09:41 +00:00
Son NK
91e38a744b
remove GenEmail.custom column
2019-12-22 16:32:55 +00:00
Son NK
8f04f8ae0f
rename can_create_new_custom_alias -> can_create_new_alias
2019-12-22 16:27:55 +00:00
Son NK
0955f13593
User can export their data
2019-12-22 16:20:56 +00:00
Son NK
8756241774
Fix wording
2019-12-22 16:03:58 +00:00
Son NK
ec4d034593
Add Delete Account in setting
2019-12-22 16:03:40 +00:00
Son NK
17bb01f317
Fix wording
2019-12-22 15:59:41 +00:00
Son NK
441fc773ba
better UI for new alias page
2019-12-22 15:41:37 +00:00
Son NK
6b3fe06efc
better UI for custom-alias page
2019-12-22 12:57:19 +00:00
Son NK
1b88d2264e
add beta badge for "send email" feature
2019-12-15 18:55:18 +02:00
Son NK
a8d00c3329
add tooltip for reverse-alias
2019-12-15 18:55:18 +02:00
Son NK
3e9233f346
replace the "test alias" by the alias manager page
2019-12-15 18:55:18 +02:00
Son NK
231fc6fd88
create alias contact manager page
2019-12-15 18:55:18 +02:00
Son NK
ec62fad3a0
remove notify_admin, replace by general stats
2019-12-15 18:55:18 +02:00
Son NK
e4ba4297e1
reformat using black
2019-12-15 18:55:18 +02:00
Son NK
3d95048e00
fix wording
2019-12-15 18:55:18 +02:00
Son NK
2412658a3e
better UI for custom alias page
2019-12-15 18:55:18 +02:00
Son NK
7f908a9da8
display website_from on alias log
2019-12-15 18:55:18 +02:00
Son NK
631900ab4f
use random_word instead of random_string for alias suffix
2019-12-15 18:55:17 +02:00
Son NK
74fe984ae1
make sure alias pattern check is the same everywhere: Only letter, number, dash (-), underscore (_) can be used in alias prefix
2019-12-15 18:55:17 +02:00
Son NK
260b235328
remove random alias from pricing
2019-12-15 18:55:17 +02:00
Son NK
139fc68bda
create some random alias creation
2019-12-15 18:55:17 +02:00
Son NK
4c8c48bb23
better UI for custom alias page
2019-12-15 18:55:17 +02:00
Son NK
6d21343748
remove create random email button
2019-12-15 18:55:17 +02:00
Son NK
ac9f896a7d
improve pricing page
2019-12-15 18:55:17 +02:00
Son NK
3e4e0e931f
add separator to highlight alias
2019-12-15 18:55:17 +02:00
Son NK
6723487a23
add SPF check
2019-12-15 18:55:17 +02:00
Son NK
48ff20906e
better UI for alias list page
2019-12-15 18:55:17 +02:00
Son NK
ca05cd359a
remove >3 characters on alias prefix
2019-12-15 18:55:17 +02:00
Son NK
a5615b22e7
make alias activity responsive
2019-12-15 18:55:17 +02:00
Son NK
28c83107e9
only show intro when screen is big enough to show "developer" tab
2019-12-15 18:55:17 +02:00
Son NK
acea37d520
show intro on the first alias
2019-12-15 18:55:16 +02:00
Son NK
39311ab1ff
Make dashboard responsive
2019-12-15 18:55:16 +02:00
Son NK
ccf93b1235
highlight disable/enable alias
2019-12-15 18:55:16 +02:00
Son NK
5b28d70fe0
fix custom alias html
2019-12-15 18:55:16 +02:00
Son NK
c58d9052e7
rename can_create_custom_email -> can_create_new_custom_alias, can_create_new_email -> can_create_new_random_alias
2019-12-15 18:55:16 +02:00
Son NK
c012d3686a
only premium user can add custom domain
2019-12-15 18:55:16 +02:00
Son NK
3f189163dd
notify admin when user creates new custom domain or custom alias associated with custom domain
2019-12-15 18:55:16 +02:00
Son NK
0234af03d3
handle custom domain in custom alias
2019-12-15 18:55:16 +02:00
Son NK
3402d64249
display when a custom domain is created and number of aliases
2019-12-15 18:55:16 +02:00
Son NK
a827b27215
add custom_domain view
2019-12-15 18:55:16 +02:00
Son NK
2b00ceaa6b
put extension download link to api-key page
2019-12-15 18:55:16 +02:00
Son NK
975dc7ff21
fix query lost when post
2019-12-15 18:55:16 +02:00
Son NK
efd0e97ebd
prettify api key page
2019-12-15 18:55:16 +02:00
Son NK
4f874eec43
Create API Key page
2019-12-15 18:55:16 +02:00
Son NK
a5e1a36718
lower case query before search
2019-12-15 18:55:16 +02:00
Son NK
b9bce29534
fix search input not large enough on mobile: use col-md-3 instead of col-3
2019-12-15 18:55:16 +02:00
Son NK
efd4f40fb7
add autofocus to custom alias
2019-12-15 18:55:16 +02:00
Son NK
f611d165c3
autofocus search field
2019-12-15 18:55:16 +02:00
Son NK
28c8fa0f4d
add alias search
2019-12-15 18:55:16 +02:00
Son NK
e18bbd1cc4
improve wording
2019-12-15 18:55:16 +02:00
Son NK
6e71541985
remove trial concept
2019-12-15 18:55:16 +02:00
Son NK
8dca65678e
improve wording
2019-12-15 18:55:15 +02:00
Son NK
5a9d3b0245
alias activity: fix arrow hidden on mobile
2019-12-15 18:55:15 +02:00
Son NK
0717c91a18
improve onboarding
2019-12-15 18:55:15 +02:00
Son NK
837e1ffcf6
add List-Unsubscribe-Post header. Block alias directly if POST, otherwise ask user confirmation.
2019-12-15 18:55:15 +02:00
Son NK
45cef7a4ef
create unsubscribe view to block quickly an alias
2019-12-15 18:55:15 +02:00
Son NK
38d9654624
fix cancel email change
2019-12-15 18:55:15 +02:00
Son NK
8889dc119f
only display profile updated message when something changes
2019-12-15 18:55:15 +02:00
Son NK
0c85cae6ad
handle email change in setting
2019-12-15 18:55:15 +02:00
Son NK
539d87d0a3
make to not reuse alias
2019-12-15 18:55:15 +02:00
Son NK
58504e3b8d
display new alias on top
2019-12-15 18:55:15 +02:00
Son NK
673b9e72ee
show send test and delete buttons
2019-12-15 18:55:14 +02:00
Son NK
64180c4077
do not show email
2019-12-15 18:55:14 +02:00
Son NK
3ebb75ca07
Show copy and activity button
2019-12-15 18:55:14 +02:00
Son NK
d929cea771
improve dashboard page
2019-12-15 18:55:14 +02:00
Son NK
5b8bc68da1
add alias log page
2019-12-15 18:55:14 +02:00
Son NK
ec3f2116ff
do not show copy button on disabled alias
2019-12-15 18:55:14 +02:00
Son NK
0b9f28970f
fix send_test_email_alias
2019-12-15 18:55:14 +02:00
Son NK
6879490557
test email template
2019-12-15 18:55:14 +02:00
Son NK
6f93f419c2
send by postfix only
2019-12-15 18:55:14 +02:00
Son NK
727830be6b
improve email wording for test email
2019-12-15 18:55:14 +02:00
Son NK
0ed2ef60c5
remove html marker for test email
2019-12-15 18:55:14 +02:00
Son NK
0a60d01596
use postfix for testing trigger email
2019-12-15 18:55:14 +02:00
Son NK
f366e1c383
add send_by_postfix, to distinct with send_by_sendgrid
2019-12-15 18:55:14 +02:00
Son NK
4a56d2eef5
add billing and pricing page
2019-12-15 18:55:13 +02:00
Son NK
6f7c99963b
remove pricing2
2019-12-15 18:55:13 +02:00
Son NK
263f68ecec
Change subscription model
...
- create subscription table
- rename plan_expiration -> trial_expiration
- remove user.plan, user.promo_codes
2019-12-15 18:55:13 +02:00
Son NK
1f3239b251
rename pricing to pricing2 to save stripe implementation for reference
2019-12-15 18:55:13 +02:00
Son NK
61a3844ec4
Add tooltip for email forwarding switch, copy and send test email
2019-12-15 18:55:13 +02:00
Son NK
62c3b4cd02
highlight newly created gen-email
2019-12-15 18:55:12 +02:00
Son NK
3e0bc27bad
better notify_admin message
2019-12-15 18:55:12 +02:00
Son NK
7cb1c219ed
simplify pricing page now that monthly is gone
2019-12-15 18:55:12 +02:00
Son NK
5ff317538c
remove monthly pricing, display 20$ for monthly pricing
2019-12-15 18:55:12 +02:00
Son NK
2693ba5838
make sure expiration is handled for ActivationCode and ResetPasswordCode
2019-12-15 18:55:12 +02:00
Son NK
8dd6346f33
allow dash in email alias
2019-12-15 18:55:12 +02:00
Son NK
28d475ea22
better avatar pic: use name initial as avatar
2019-12-15 18:55:12 +02:00
Son NK
83abbe5406
set clipboard behavior on all pages
2019-12-15 18:55:12 +02:00
Son NK
76cb892d77
do not show apps section on dashboard if there's no app
2019-12-15 18:55:10 +02:00
Son NK
d933fcf0b7
replace information by info
2019-12-15 18:55:10 +02:00
Son NK
2a6021c230
custom email must have .suffix
2019-12-15 18:55:10 +02:00
Son NK
8c38fe5b56
set custom=True when user creates a custom alias
2019-12-15 18:55:10 +02:00
Son NK
37f75954be
shorten wording
2019-12-15 18:55:09 +02:00
Son NK
4227c3036d
fix reset password expired
2019-12-15 18:55:09 +02:00
Son NK
4883ace2ed
only show "create custom alias" button to users who can
2019-12-15 18:55:09 +02:00
Son NK
309cb36864
use span instead of a for icon
2019-12-15 18:55:09 +02:00
Son NK
c7df8e9158
fix introJs
2019-12-15 18:55:08 +02:00
Son NK
388f520e9a
premium user can choose custom alias
2019-12-15 18:55:08 +02:00
Son NK
414ef2bb9b
remove requireJS madness!
2019-12-15 18:55:08 +02:00
Son NK
0b85000a11
import render_field, render_field_errors in base.html
2019-12-15 18:55:08 +02:00
Son NK
fc2fdea6e7
change wording
2019-12-15 18:55:08 +02:00
Son NK
df3292df37
user can delete email alias
2019-12-15 18:55:08 +02:00
Son NK
8b3564c2f2
fix wording
2019-12-15 18:55:08 +02:00
Son NK
e2106a128e
improve wording
2019-12-15 18:55:08 +02:00
Son NK
c18d9f5280
create BaseForm to enable CSRF
...
register page
redirect user to dashboard if they are logged in
enable csrf for login page
Set models more strict
bootstrap developer page
add helper method to ModelMixin, remove CRUDMixin
display list of clients on developer index, add copy client-secret to clipboard using clipboardjs
add toastr and use jquery non slim
display a toast when user copies the client-secret
create new client, generate client-id using unidecode
client detail page: can edit client
add delete client
implement /oauth/authorize and /oauth/allow-deny
implement /oauth/token
add /oauth/user_info endpoint
handle scopes: wip
take into account scope: display scope, return user data according to scope
create virtual-domain, gen email, client_user model WIP
create authorize_nonlogin_user page
user can choose to generate a new email
no need to interfere with root logger
log for before and after request
if user has already allowed a client: generate a auth-code and redirect user to client
get_user_info takes into account gen email
display list of clients that have user has authorised
use yk-client domain instead of localhost as cookie depends on the domain name
use wtforms instead of flask_wtf
Dockerfile
delete virtual domain
EMAIL_DOMAIN can come from env var
bind to host 0.0.0.0
fix signup error: use session as default csrf_context
rename yourkey to simplelogin
add python-dotenv, ipython, sqlalchemy_utils
create DB_URI, FLASK_SECRET. Load config from CONFIG file if exist
add shortcuts to logging
create shell
add psycopg2
do not add local data in Dockerfile
add drop_db into shell
add shell.prepare_db()
fix prepare_db
setup sentry
copy assets from tabler/dist
add icon downloaded from https://commons.wikimedia.org/wiki/File:Simpleicons_Interface_key-tool-1.svg
integrate tabler - login and register page
add favicon
template: default, header. Use gravatar for user avatar url
use default template for dashboard, developer page
use another icon
add clipboard and notie
prettify dashboard
add notie css
add fake gen email and client-user
prettify list client page, use notie for toast
add email, name scope to new client
display client scope in client list
prettify new-client, client-detail
add sentry-sdk and blinker
add arrow, add dt jinja filter, prettify logout, dashboard
comment "last used" in dashboard for now
prettify date display
add copy email to clipboard to dashboard
use "users" as table name for User as "user" is reserved key in postgres
call prepare_db() when creating new db
error page 400, 401, 403, 404
prettify authorize_login_user
create already_authorize.html for user who has already authorized a client
user can generate new email
display all other generated emails
add ENV variable, only reset DB when ENV=local
fix: not return other users gen emails
display nb users for each client
refactor shell: remove prepare_db()
add sendgrid
add /favicon.ico route
add new config: URL, SUPPORT_EMAIL, SENDGRID_API_KEY
user needs to activate their account before login
create copy button on dashboard
client can have multiple redirect uris, in client detail can add/remove redirect-uri,
use redirect_uri passed in /authorize
refactor: move get_user_info into ClientUser model
dashboard: display all apps, all generated emails
add "id" into user_info
add trigger email button
invalidate the session at each new version by changing the secret
centralize Client creation into Client.create_new
user can enable/disable email forwarding
setup auto dismiss alert: just add .alert-auto-dismiss
move name down in register form
add shell.add_real_data
move blueprint template to its own package
prettify authorize page for non-authenticated user
update readme, return error if not redirect_uri
add flask-wtf, use psycopg2-binary
use flask-wtf FlaskForm instead of Form
rename email -> email_utils
add AWS_REGION, BUCKET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY to config
add s3 module
add File model, add Client.icon_id
handle client icon update
can create client with icon
display client icon in client list page
add Client.home_url
take into account Client.home_url
add boto3
register: ask name first
only show "trigger test email" if email forwarding is enabled
display gen email in alphabetical order, client in client.name alphabetical order
better error page
the modal does not get close when user clicks outside of modal
add Client.published column
discover page that displays all published Client
add missing bootstrap.bundle.min.js.map
developer can publish/unpublish their app in discover
use notie for display flash message
create hotmail account
fix missing jquery
add footer, add global jinja2 variable
strengthen model: use nullable=False whenever possible,
rename client_id to oauth_client_id, client_secret to oauth_client_secret
add flask-migrate
init migrate
1st migrate version
fix rename client_id -> oauth_client_id
prettify UI
use flask_migrate.upgrade() instead of db.create_all()
make sure requirejs.config is called for all page
enable sentry for js, use uppercase for global jinja2 variables
add flask-admin
add User.is_admin column
setup flask admin, only accessible to admin user
fix migration: add server_default
replace session[redirect_after_login] by "next" request args
add pyproject.toml: ignore migrations/ in black
add register waiting_activation_email page
better email wording
add pytest
add get_host_name_and_scheme and tests
example fail test
fix test
fix client-id display
add flask-cors
/user_info supports cors, add /me as /user_info synonym
return client in /me
support implicit flow
no need to use with "app.app_context()"
add watchtower to requirement
add param ENABLE_CLOUDWATCH, CLOUDWATCH_LOG_GROUP, CLOUDWATCH_LOG_STREAM
add cloudwatch logger if cloudwatch is enabled
add 500 error page
add help text for list of used client
display list of app/website that an email has been used
click on client name brings to client detail page
create style.css to add additional style, append its url with the current sha1 to avoid cache
POC on how to send email using postfix
add sqlalchemy-utils
use arrow instead of datetime
add new params STRIPE_API, STRIPE_YEARLY_SKU, STRIPE_MONTHLY_PLAN
show full error in local
add plan, plan_expiration to User, need to create enum directly in migration script, cf https://github.com/sqlalchemy/alembic/issues/67
reformat all html files: use space instead of tab
new user will have trial plan for 15 days
add new param MAX_NB_EMAIL_FREE_PLAN
only user with enough quota can create new email
if user cannot create new gen email, pick randomly one from existing gen emails. Use flush instead of commit
rename STRIPE_YEARLY_SKU -> STRIPE_YEARLY_PLAN
open client page in discover in a new tab
add stripe
not logging /static call: disable flask logging, replace by after_request
add param STRIPE_SECRET_KEY
add 3 columns stripe_customer_id, stripe_card_token, stripe_subscription_id
user can upgrade their pricing
add setting page as coming-soon
add GenEmail, ClientUser to admin
ignore /admin/static logging
add more fake data
add ondelete="cascade" whenever possible
rename plan_expiration -> trial_expiration
reset migration: delete old migrations, create new one
rename test_send_email -> poc_send_email to avoid the file being called by pytest
add new param LYRA_ANALYTICS_ID, add lyra analytics
add how to create new migration into readme
add drift to base.html
notify admin when new user signs up or pays subscription
log exception in case of 500
use sendgrid to notify admin
add alias /userinfo to user_info endpoint
add change_password to shell
add info on how payment is handled
invite user to retry if card not working
remove drift and add "contact us" link
move poc_send_email into poc/
support getting client-id, client-secret from form-data in addition to basic auth
client-id, client-secret is passed in form-data by passport-oauth2 for ex
add jwtRS256 private and public key
add jwk-jws-jwt poc
add new param OPENID_PRIVATE_KEY_PATH, OPENID_PRIVATE_KEY_PATH
add scope, redirect_url to AuthorizationCode and OauthToken
take into scope when creating oauth-token, authorization-code
add jwcrypto
add jose_utils: make_id_token and verify_id_token
add &scope to redirect uri
add "email_verified": True into user_info
fix user not activated
add /oauth2 as alias for /oauth
handle case where scope and state are empty
remove threaded=False
Use Email Alias as wording
remove help text
user can re-send activation email
add "expired" into ActivationCode
Handle the case activation code is expired
reformat: use form.validate_on_submit instead of request.method == post && form.validate
use error text instead of flash()
display client oauth-id and oauth-secret on client detail page
not display oauth-secret on client listing
fix expiration check
improve page title, footer
add /jwks and /.well-known/openid-configuration
init properly tests, fix blueprint conflict bug in flask-admin
create oauth_models module
rename Scope -> ScopeE to distinguish with Scope DB model
set app.url_map.strict_slashes = False
use ScopeE instead of SCOPE_NAME, ...
support access_token passed as args in /userinfo
merge /allow-deny into /authorize
improve wording
take into account the case response_type=code and openid is in scope
take into account response_type=id_token, id_token token, id_token code
make sure to use in-memory db in test
fix scope can be null
allow cross_origin for /.well-known/openid-configuration and /jwks
fix footer link
center authorize form
rename trial_expiration to plan_expiration
move stripe init to create_app()
use real email to be able to receive email notification
add user.profile_picture_id column
use user profile picture and fallback to gravatar
use nguyenkims+local@gm to distinguish with staging
handle plan cancel, reactivation, user profile update
fix can_create_new_email
create cron.py that set plan to free when expired
add crontab.yml
add yacron
use notify_admin instead of LOG.error
add ResetPasswordCode model
user can change password in setting
increase display time for notie
add forgot_password page
If login error: redirect to this page upon success login.
hide discover tab
add column user.is_developer
only show developer menu to developer
comment out the publish button
set local user to developer
make sure only developer can access /developer blueprint
User is invited to upgrade if they are in free plan or their trial ends soon
not sending email when in local mode
create Partner model
create become partner page
use normal error handling on local
fix migration
add "import sqlalchemy_utils" into migration template
small refactoring on setting page
handle promo code. TODO: add migration file
add migration for user.promo_codes
move email alias on top of apps in dashboard
add introjs
move encode_url to utils
create GenEmail.create_new_gen_email
create a first alias mail to show user how to use when they login
show intro when user visits the website the first time
fix register
2019-07-02 10:20:12 +03:00
Son NK
0b3dd21a06
bootstrap: db models, login, logout, dashboard pages
2019-07-01 18:18:12 +03:00